Example #1
0
 protected override void ReportTimer(string name, MetricData.TimerValue value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit, MetricTags tags)
 {
     Pack(name, TimerColumns, new[] {
         Value(value.Rate.Count),
         Value(value.ActiveSessions),
         Value(value.Rate.MeanRate),
         Value(value.Rate.OneMinuteRate),
         Value(value.Rate.FiveMinuteRate),
         Value(value.Rate.FifteenMinuteRate),
         Value(value.Histogram.LastValue),
         Value(value.Histogram.LastUserValue),
         Value(value.Histogram.Min),
         Value(value.Histogram.MinUserValue),
         Value(value.Histogram.Mean),
         Value(value.Histogram.Max),
         Value(value.Histogram.MaxUserValue),
         Value(value.Histogram.StdDev),
         Value(value.Histogram.Median),
         Value(value.Histogram.Percentile75),
         Value(value.Histogram.Percentile95),
         Value(value.Histogram.Percentile98),
         Value(value.Histogram.Percentile99),
         Value(value.Histogram.Percentile999),
         Value(value.Histogram.SampleSize)
     });
 }
Example #2
0
        /// <summary>
        /// Reports a timer.
        /// </summary>
        /// <param name="name">Metric name.</param>
        /// <param name="value">Value.</param>
        /// <param name="unit">Unit of measurement.</param>
        /// <param name="rateUnit">Unit of measurement for rate.</param>
        /// <param name="durationUnit">Unit of measurement for the duration.</param>
        /// <param name="tags">Tags.</param>
        protected override void ReportTimer(string name, MetricData.TimerValue value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit, MetricTags tags)
        {
            ReportMeter(name + ".rate", value.Rate, unit, rateUnit, tags);
            ReportHistogram(name, value.Histogram, unit, tags);

            AddValue(name + ".sessions", value.ActiveSessions, tags);
            AddValue(name + ".total", value.TotalTime, tags);
        }
Example #3
0
        protected override void ReportTimer(string name, MetricData.TimerValue value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit, MetricTags tags)
        {
            var data = new Dictionary <string, object>();

            value.Rate.AddMeterValues(data);
            value.Histogram.AddHistogramValues(data);

            var keys   = data.Keys.ToList();
            var values = keys.Select(k => data[k]);

            Pack(name, keys, values, tags);
        }
Example #4
0
        protected override void ReportTimer(string name, MetricData.TimerValue value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit, MetricTags tags)
        {
            ItemValue item = null;

            if (null != ZabbixConfig)
            {
                ZabbixConfig.TryCreateTrapperItem(SubfolderName(name, "ActiveSessions"), Unit.None.ToString(), ZabbixApi.Entities.Item.ValueType.NumericUnsigned);
            }
            item = NewItemValue(SubfolderName(name, "ActiveSessions"), value.ActiveSessions);
            _sendQueue.Enqueue(item);
            ReportMeter(name, value.Rate, unit, rateUnit, tags);
            ReportHistogram(SubfolderName(name, "Duration"), value.Histogram, Unit.Custom(durationUnit.Unit()), tags, false);
        }