/// <summary> /// Initializes a new instance of the <see cref="DefaultMetrics" /> class. /// </summary> /// <param name="options">The global metrics options configure on startup.</param> /// <param name="registry">The registry storing all metric data.</param> /// <param name="advanced">The implementation providing access to more advanced metric options</param> /// <exception cref="System.ArgumentNullException"> /// </exception> public DefaultMetrics( AppMetricsOptions options, IMetricsRegistry registry, IAdvancedMetrics advanced) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (registry == null) { throw new ArgumentNullException(nameof(registry)); } if (advanced == null) { throw new ArgumentNullException(nameof(advanced)); } _registry = registry; Advanced = advanced; }
public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options, IReservoir reservoir) { return(new TimerMetric(reservoir, context.Clock)); }
public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options, IHistogramMetric histogram) { return(new TimerMetric(histogram, context.Clock)); }
public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options) { return(new TimerMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor, context.Clock)); }
public static IMeterMetric BuildMeter(this IAdvancedMetrics context, MeterOptions options) { return(new MeterMetric(context.Clock)); }
public static IHistogramMetric BuildHistogram(this IAdvancedMetrics context, HistogramOptions options, IReservoir reservoir) { return(new HistogramMetric(reservoir)); }
public static IHistogramMetric BuildHistogram(this IAdvancedMetrics context, HistogramOptions options) { return(new HistogramMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor)); }
public static IMetricValueProvider <double> BuildGauge(this IAdvancedMetrics context, GaugeOptions options, Func <double> valueProvider) { return(new FunctionGauge(valueProvider)); }
public static ICounterMetric BuildCounter(this IAdvancedMetrics context, CounterOptions options) { return(new CounterMetric()); }
public static IApdexMetric BuildApdex(this IAdvancedMetrics context, ApdexOptions options, IReservoir reservoir) { return(new ApdexMetric(new ApdexProvider(reservoir, options.ApdexTSeconds), context.Clock)); }
public static IApdexMetric BuildApdex(this IAdvancedMetrics context, ApdexOptions options) { return(new ApdexMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor, context.Clock, options.ApdexTSeconds)); }