public ThreadSafeMetricsBucket(MetricsBucket metricsBucket = null) { this.metricsBucket = metricsBucket ?? new MetricsBucket(); this.metricsBucket.Toggles = new ConcurrentDictionary <string, ToggleCount>(); this.metricsBucket.Start = DateTimeOffset.UtcNow; }
/// <summary> /// Use withing using-statement. New registrations will not be added. /// </summary> public IDisposable StopCollectingMetrics(out MetricsBucket bucket) { @lock.EnterWriteLock(); bucket = metricsBucket; bucket.Stop = DateTimeOffset.UtcNow; return(this); }