/// <summary>
        /// Set the configuration returned from <c>MetricConfigurations.Common.Measurement()</c>.
        /// </summary>
        /// <param name="metricConfigPresets">Will be ignored.</param>
        /// <param name="defaultConfigurationForMeasurement">Future default config.</param>
        public static void SetDefaultForMeasurement(
            this MetricConfigurations metricConfigPresets,
            MetricConfigurationForMeasurement defaultConfigurationForMeasurement)
        {
            Util.ValidateNotNull(
                defaultConfigurationForMeasurement,
                nameof(defaultConfigurationForMeasurement));
            Util.ValidateNotNull(
                defaultConfigurationForMeasurement.SeriesConfig,
                nameof(defaultConfigurationForMeasurement) + "." + nameof(defaultConfigurationForMeasurement.SeriesConfig));

            s_defaultConfigForMeasurement = defaultConfigurationForMeasurement;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Set the configuration returned from <c>MetricConfigurations.Common.Accumulator()</c>.
        /// </summary>
        /// <param name="metricConfigPresets">Will be ignored.</param>
        /// <param name="defaultConfigurationForGauge">Future default config.</param>
        public static void SetDefaultForGauge(
            this MetricConfigurations metricConfigPresets,
            MetricConfigurationForGauge defaultConfigurationForGauge)
        {
            Util.ValidateNotNull(
                defaultConfigurationForGauge,
                nameof(defaultConfigurationForGauge));
            Util.ValidateNotNull(
                defaultConfigurationForGauge.SeriesConfig,
                nameof(defaultConfigurationForGauge) + "." + nameof(defaultConfigurationForGauge.SeriesConfig));

            s_defaultConfigForGauge = defaultConfigurationForGauge;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Set the configuration returned from <c>MetricConfigurations.Common.Accumulator()</c>.
        /// </summary>
        /// <param name="metricConfigPresets">Will be ignored.</param>
        /// <param name="defaultConfigurationForAccumulator">Future default config.</param>
        public static void SetDefaultForAccumulator(
            this MetricConfigurations metricConfigPresets,
            MetricConfigurationForAccumulator defaultConfigurationForAccumulator)
        {
            Util.ValidateNotNull(
                defaultConfigurationForAccumulator,
                nameof(defaultConfigurationForAccumulator));
            Util.ValidateNotNull(
                defaultConfigurationForAccumulator.SeriesConfig,
                nameof(defaultConfigurationForAccumulator) + "." + nameof(defaultConfigurationForAccumulator.SeriesConfig));

            s_defaultConfigForAccumulator = defaultConfigurationForAccumulator;
        }
        /// <summary>
        /// Set the configuration returnred from <c>MetricConfigurations.Use.Measurement()</c>.
        /// </summary>
        /// <param name="metricConfigPresets">Will be ignored.</param>
        /// <param name="defaultConfigurationForMeasurement">Future default config.</param>
        public static void SetDefaultForMeasurement(
            this MetricConfigurations metricConfigPresets,
            SimpleMetricConfiguration defaultConfigurationForMeasurement)
        {
            Util.ValidateNotNull(defaultConfigurationForMeasurement, nameof(defaultConfigurationForMeasurement));
            Util.ValidateNotNull(defaultConfigurationForMeasurement.SeriesConfig, nameof(defaultConfigurationForMeasurement) + "." + nameof(defaultConfigurationForMeasurement.SeriesConfig));

            if (false == (defaultConfigurationForMeasurement.SeriesConfig is MetricSeriesConfigurationForMeasurement))
            {
                throw new ArgumentException($"{nameof(defaultConfigurationForMeasurement) + "." + nameof(defaultConfigurationForMeasurement.SeriesConfig)}"
                                            + $" must be a \"{nameof(MetricSeriesConfigurationForMeasurement)}\", but it is"
                                            + $" \"{defaultConfigurationForMeasurement.SeriesConfig.GetType().Name}\".");
            }

            s_defaultConfigForMeasurement = defaultConfigurationForMeasurement;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="metricConfigPresets"></param>
        /// <param name="defaultConfigurationForGauge"></param>
        public static void SetDefaultForGauge(
            this MetricConfigurations metricConfigPresets,
            SimpleMetricConfiguration defaultConfigurationForGauge)
        {
            Util.ValidateNotNull(defaultConfigurationForGauge, nameof(defaultConfigurationForGauge));
            Util.ValidateNotNull(
                defaultConfigurationForGauge.SeriesConfig,
                nameof(defaultConfigurationForGauge) + "." + nameof(defaultConfigurationForGauge.SeriesConfig));

            if (false == (defaultConfigurationForGauge.SeriesConfig is MetricSeriesConfigurationForGauge))
            {
                throw new ArgumentException($"{nameof(defaultConfigurationForGauge) + "." + nameof(defaultConfigurationForGauge.SeriesConfig)}"
                                            + $" must be a \"{nameof(MetricSeriesConfigurationForGauge)}\", but it is"
                                            + $" \"{defaultConfigurationForGauge.SeriesConfig.GetType().Name}\".");
            }

            // todo validate type of series config to be measurement.

            s_defaultConfigForGauge = defaultConfigurationForGauge;
        }
 internal static IMetricConfiguration Default(this MetricConfigurations metricConfigPresets)
 {
     return(metricConfigPresets.Measurement());
 }
 /// <summary>
 /// <para>Use to measure attributes and/or counts of items. Also, use to measure attributes and/or rates of events.<br />
 /// Produces aggregates that contain simple statistics about tracked values per time period: Count, Sum, Min, Max.<br />
 /// (This is the most commonly used metric configuration and is the default unless otherwise specified.)</para>
 ///
 /// <para>For example, use this metric configuration to measure:<br />
 /// Size and number of server requests per time period; Duration and rate of database calls per time period;
 /// Number of sale events and number of items sold per sale event over a time period, etc.</para>
 /// </summary>
 /// <param name="metricConfigPresets"></param>
 /// <returns></returns>
 public static IMetricConfiguration Measurement(this MetricConfigurations metricConfigPresets)
 {
     return(s_defaultConfigForMeasurement);
 }
 /// <summary>
 /// </summary>
 /// <param name="metricConfigPresets"></param>
 /// <returns></returns>
 public static IMetricConfiguration Gauge(this MetricConfigurations metricConfigPresets)
 {
     return(s_defaultConfigForGauge);
 }
 /// <summary>
 /// <para>Use for measuring and accumulating differences between states of an entity that exists over a long period of time.<br />
 /// Will keep the accumulated state and will not automatically reset at the end of each time period.<br />
 /// Produces aggregates that contain accumulated statistics about tracked Deltas over the entire life-time of the
 /// metric in memory (or since an explicit reset): Sum, Min, Max.</para>
 ///
 /// <para>For example, use this metric configuration to measure:<br />
 /// Number of service invocations in-flight (.TrackValue(1) / .TrackValue(-1) when invocations begin/end);<br />
 /// Count of items in a memory data structure (.TrackValue(n) / .TrackValue(-m) when items are added / removed);<br />
 /// Volume of water in a container (.TrackValue(litersIn) / .TrackValue(-litersOut) when water flows in or out).</para>
 /// </summary>
 /// <param name="metricConfigPresets"></param>
 /// <returns></returns>
 public static IMetricConfiguration Accumulator(this MetricConfigurations metricConfigPresets)
 {
     return(s_defaultConfigForAccumulator);
 }