using System; using System.Threading; namespace StellaOps.Provcache; public sealed partial class WriteBehindQueue { /// public WriteBehindMetrics GetMetrics() { return new WriteBehindMetrics { TotalEnqueued = Interlocked.Read(ref _totalEnqueued), TotalPersisted = Interlocked.Read(ref _totalPersisted), TotalFailed = Interlocked.Read(ref _totalFailed), TotalRetries = Interlocked.Read(ref _totalRetries), TotalBatches = Interlocked.Read(ref _totalBatches), CurrentQueueDepth = Interlocked.Read(ref _currentQueueDepth), Timestamp = _timeProvider.GetUtcNow() }; } }