private void SnapshotMetrics(MetricsSourceAdapter sa, MetricsBufferBuilder bufferBuilder ) { long startTime = Time.Now(); bufferBuilder.Add(sa.Name(), sa.GetMetrics(collector, true)); collector.Clear(); snapshotStat.Add(Time.Now() - startTime); Log.Debug("Snapshotted source " + sa.Name()); }
public virtual MetricsBuffer SampleMetrics() { lock (this) { collector.Clear(); MetricsBufferBuilder bufferBuilder = new MetricsBufferBuilder(); foreach (KeyValuePair <string, MetricsSourceAdapter> entry in sources) { if (sourceFilter == null || sourceFilter.Accepts(entry.Key)) { SnapshotMetrics(entry.Value, bufferBuilder); } } if (publishSelfMetrics) { SnapshotMetrics(sysSource, bufferBuilder); } MetricsBuffer buffer = bufferBuilder.Get(); return(buffer); } }