private static bool AddAggregator(IMetricSeriesAggregator aggregator, AggregatorCollection aggregatorCollection) { if (aggregatorCollection == null) { return(false); } IMetricSeriesFilter seriesFilter = aggregatorCollection.Filter; IMetricValueFilter valueFilter = null; if (seriesFilter != null && !seriesFilter.WillConsume(aggregator.DataSeries, out valueFilter)) { return(false); } aggregator.Reset(aggregatorCollection.PeriodStart, valueFilter); aggregatorCollection.Aggregators.Add(aggregator); return(true); }
public static bool FilterWillConsume(IMetricSeriesFilter seriesFilter, MetricSeries series, out IMetricValueFilter valueFilter) { valueFilter = null; try { return((seriesFilter == null) || seriesFilter.WillConsume(series, out valueFilter)); } catch { // Protect against errors in user's implementation of IMetricSeriesFilter.WillConsume(..). // If it throws, assume that the filter is not functional and accept all values. return(true); } }
public bool WillConsume(MetricSeries dataSeries, out IMetricValueFilter valueFilter) { valueFilter = null; return(false); }
public void Reset(DateTimeOffset periodStart, IMetricValueFilter valueFilter) { _valueFilter = valueFilter; Reset(periodStart); }