public MetricsDataValueSource GetData(IMetricsFilter filter) { _logger.RetrievedMetricsData(); if (_contexts.Count == 0) { return(MetricsDataValueSource.Empty); } var environment = _environmentInfoProvider.Build(); var contexts = _contexts.Values.Select(g => new MetricsContextValueSource( g.Context, g.DataProvider.Gauges.ToArray(), g.DataProvider.Counters.ToArray(), g.DataProvider.Meters.ToArray(), g.DataProvider.Histograms.ToArray(), g.DataProvider.Timers.ToArray(), g.DataProvider.ApdexScores.ToArray() )); var data = new MetricsDataValueSource(_clock.UtcDateTime, environment, contexts); _logger.GettingMetricsData(); return(data.Filter(filter)); }
public MetricsDataValueSource GetData(IFilterMetrics filter) { Logger.Trace("Getting metrics snaphot"); if (_nullMetricsRegistry.IsValueCreated) { Logger.Trace("Using null metrics registry"); _nullMetricsRegistry.Value.GetData(filter); } if (_contexts.Count == 0) { Logger.Trace("No metrics recorded"); return(MetricsDataValueSource.Empty); } Logger.Trace("Metrics snapshot retrieved containing {ContextCount} contexts", _contexts.Count); var contexts = _contexts.Values.Select( g => new MetricsContextValueSource( g.Context, g.DataProvider.Gauges.ToArray(), g.DataProvider.Counters.ToArray(), g.DataProvider.Meters.ToArray(), g.DataProvider.Histograms.ToArray(), g.DataProvider.Timers.ToArray(), g.DataProvider.ApdexScores.ToArray())); var data = new MetricsDataValueSource(_clock.UtcDateTime, contexts); return(data.Filter(filter)); }