Exemplo n.º 1
0
        protected internal List <MetricSample> GetMetricSamples(IAggregationData agg, IViewData viewData)
        {
            List <MetricSample> results   = new List <MetricSample>();
            MetricStatistic     statistic = GetStatistic(viewData.View.Aggregation, viewData.View.Measure);

            agg.Match <object>(
                (arg) =>
            {
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.TOTAL;
                }
                results.Add(new MetricSample(statistic, arg.Sum));
                return(null);
            },
                (arg) =>
            {
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.TOTAL;
                }
                results.Add(new MetricSample(statistic, arg.Sum));
                return(null);
            },
                (arg) =>
            {
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.COUNT;
                }
                results.Add(new MetricSample(statistic, arg.Count));
                return(null);
            },
                (arg) =>
            {
                results.Add(new MetricSample(MetricStatistic.COUNT, arg.Count));
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.TOTAL;
                }
                results.Add(new MetricSample(statistic, arg.Mean * arg.Count));
                return(null);
            },
                (arg) =>
            {
                results.Add(new MetricSample(MetricStatistic.COUNT, arg.Count));
                results.Add(new MetricSample(MetricStatistic.MAX, arg.Max));
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.TOTAL;
                }
                results.Add(new MetricSample(statistic, arg.Mean * arg.Count));
                return(null);
            },
                (arg) =>
            {
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.VALUE;
                }
                results.Add(new MetricSample(statistic, arg.LastValue));
                return(null);
            },
                (arg) =>
            {
                if (statistic == MetricStatistic.UNKNOWN)
                {
                    statistic = MetricStatistic.VALUE;
                }
                results.Add(new MetricSample(statistic, arg.LastValue));
                return(null);
            },
                (arg) =>
            {
                return(null);
            });

            return(results);
        }
Exemplo n.º 2
0
 public MetricSample(MetricStatistic statistic, double value, IEnumerable <KeyValuePair <string, string> > tags = null)
 {
     Statistic = statistic;
     Value     = value;
     Tags      = tags;
 }
Exemplo n.º 3
0
 public MetricSample(MetricStatistic statistic, double value)
 {
     Statistic = statistic;
     Value     = value;
 }