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