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) }); }
/// <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); }
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); }
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); }