コード例 #1
0
        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);
        }
コード例 #2
0
 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);
 }
コード例 #4
0
 public void Reset(DateTimeOffset periodStart, IMetricValueFilter valueFilter)
 {
     _valueFilter = valueFilter;
     Reset(periodStart);
 }