protected MetricValueSource(string name, MetricValueProvider <T> valueProvider, Unit unit, MetricTags tags) { this.Name = name; this.Unit = unit; this.ValueProvider = valueProvider; this.Tags = tags.Tags; }
public void Gauge(string name, Func <MetricValueProvider <double> > valueProvider, Unit unit, MetricTags tags) { this.gauges.GetOrAdd(name, () => { MetricValueProvider <double> gauge = valueProvider(); return(Tuple.Create(gauge, new GaugeValueSource(name, gauge, unit, tags))); }); }
public TimerMetric(Histogram histogram, Meter meter, Clock clock) { this.clock = clock; this.meter = meter; this.histogram = histogram; this.meterValue = meter as MetricValueProvider <MeterValue>; if (meterValue == null) { throw new InvalidOperationException("Meter type must also implement MetricValue<MeterValue>"); } this.histogramValue = histogram as MetricValueProvider <HistogramValue>; if (histogramValue == null) { throw new InvalidOperationException("Histogram type must also implement MetricValue<HistogramValue>"); } }
public ScaledValueProvider(MetricValueProvider <T> valueProvider, Func <T, T> transformation) { this.valueProvider = valueProvider; this.scalingFunction = transformation; }
public HistogramValueSource(string name, MetricValueProvider <HistogramValue> value, Unit unit) : base(name, value, unit) { }
public TimerValueSource(string name, MetricValueProvider <TimerValue> value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit, MetricTags tags) : base(name, new ScaledValueProvider <TimerValue>(value, v => v.Scale(rateUnit, durationUnit)), unit, tags) { this.RateUnit = rateUnit; this.DurationUnit = durationUnit; }
public EventValueSource(string name, MetricValueProvider <EventValue> value, MetricTags tags) : base(name, value, tags) { }
protected MetricValueSource(string name, MetricValueProvider <T> value, Unit unit) { this.Name = name; this.Unit = unit; this.value = value; }
protected virtual T GetMetricValueSourceValue <T>(MetricValueProvider <T> valueProvider) { return(valueProvider.Value); }
protected MetricValueSource(string name, MetricValueProvider <T> valueProvider, MetricTags tags) : this(name, valueProvider, Metrics.Unit.None, tags) { }
public MeterValueSource(string name, MetricValueProvider <MeterValue> value, Unit unit, TimeUnit rateUnit) : base(name, value, unit) { this.RateUnit = rateUnit; }
public CounterValueSource(string name, MetricValueProvider <long> value, Unit unit) : base(name, value, unit) { }
public bool Merge(MetricValueProvider <T> other) { return(false); }
private T GetMetricValueSourceValue <T>(MetricValueProvider <T> valueProvider) { return(valueProvider.GetValue(false)); }
public CounterValueSource(string name, MetricValueProvider <CounterValue> value, Unit unit, MetricTags tags) : base(name, value, unit, tags) { }
public GaugeValueSource(string name, MetricValueProvider <double> value, Unit unit, MetricTags tags) : base(name, value, unit, tags) { }
public HistogramValueSource(string name, MetricValueProvider <HistogramValue> valueProvider, Unit unit, MetricTags tags) : base(name, valueProvider, unit, tags) { }
public TimerValueSource(string name, MetricValueProvider <TimerValue> value, Unit unit, TimeUnit rateUnit, TimeUnit durationUnit) : base(name, value, unit) { this.RateUnit = rateUnit; this.DurationUnit = durationUnit; }
public DerivedGauge(MetricValueProvider <double> gauge, Func <double, double> transformation) { this.gauge = gauge; this.transformation = transformation; }
public bool Merge(MetricValueProvider <CounterValue> other) { return(true); }