コード例 #1
0
        /// <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;
        }
コード例 #2
0
 public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options, IReservoir reservoir)
 {
     return(new TimerMetric(reservoir, context.Clock));
 }
コード例 #3
0
 public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options, IHistogramMetric histogram)
 {
     return(new TimerMetric(histogram, context.Clock));
 }
コード例 #4
0
 public static ITimerMetric BuildTimer(this IAdvancedMetrics context, TimerOptions options)
 {
     return(new TimerMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor, context.Clock));
 }
コード例 #5
0
 public static IMeterMetric BuildMeter(this IAdvancedMetrics context, MeterOptions options)
 {
     return(new MeterMetric(context.Clock));
 }
コード例 #6
0
 public static IHistogramMetric BuildHistogram(this IAdvancedMetrics context, HistogramOptions options, IReservoir reservoir)
 {
     return(new HistogramMetric(reservoir));
 }
コード例 #7
0
 public static IHistogramMetric BuildHistogram(this IAdvancedMetrics context, HistogramOptions options)
 {
     return(new HistogramMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor));
 }
コード例 #8
0
 public static IMetricValueProvider <double> BuildGauge(this IAdvancedMetrics context, GaugeOptions options, Func <double> valueProvider)
 {
     return(new FunctionGauge(valueProvider));
 }
コード例 #9
0
 public static ICounterMetric BuildCounter(this IAdvancedMetrics context, CounterOptions options)
 {
     return(new CounterMetric());
 }
コード例 #10
0
 public static IApdexMetric BuildApdex(this IAdvancedMetrics context, ApdexOptions options, IReservoir reservoir)
 {
     return(new ApdexMetric(new ApdexProvider(reservoir, options.ApdexTSeconds), context.Clock));
 }
コード例 #11
0
 public static IApdexMetric BuildApdex(this IAdvancedMetrics context, ApdexOptions options)
 {
     return(new ApdexMetric(options.SamplingType, options.SampleSize, options.ExponentialDecayFactor, context.Clock, options.ApdexTSeconds));
 }