/// <summary> /// Initializes a new instance of the <see cref="SerilogMetricSnapshotWriter"/> class. /// </summary> /// <param name="options">The Serilog metrics reporter options.</param> public SerilogMetricSnapshotWriter(SerilogMetricsReporterOptions options) { _logEventLevel = options.LogEventLevel; _messageTemplates = options.MessageTemplates; MetricNameMapping = new GeneratedMetricNameMapping(); }
public void Histogram_can_use_custom_data_keys_and_should_provide_corresponding_values() { // Arrange var value = new HistogramValue(1, 1, 2, "3", 4, "5", 6, 7, "8", 9, 10, 11, 12, 13, 14, 15, 16); var data = new Dictionary <string, object>(); var dataKeys = new GeneratedMetricNameMapping( histogram: new Dictionary <HistogramValueDataKeys, string> { { HistogramValueDataKeys.UserLastValue, "userLastValue" }, { HistogramValueDataKeys.UserMinValue, "userMinValue" }, { HistogramValueDataKeys.UserMaxValue, "userMaxValue" }, { HistogramValueDataKeys.P75, "75th_percentile" } }); // Act value.AddHistogramValues(data, dataKeys.Histogram); // Assert data.ContainsKey(DataKeys.Histogram[HistogramValueDataKeys.UserLastValue]).Should().BeFalse(); data["userLastValue"].Should().Be("3"); data.ContainsKey(DataKeys.Histogram[HistogramValueDataKeys.UserMaxValue]).Should().BeFalse(); data["userMaxValue"].Should().Be("5"); data.ContainsKey(DataKeys.Histogram[HistogramValueDataKeys.UserMinValue]).Should().BeFalse(); data["userMinValue"].Should().Be("8"); data.ContainsKey(DataKeys.Histogram[HistogramValueDataKeys.P75]).Should().BeFalse(); data["75th_percentile"].Should().Be(11.0); }
public MetricsTextOptions() { Padding = MetricsTextFormatterConstants.OutputFormatting.Padding; Separator = MetricsTextFormatterConstants.OutputFormatting.Separator; Encoding = Encoding.ASCII; DataKeys = new GeneratedMetricNameMapping(); }
public MetricsGraphitePlainTextProtocolOptions() { MetricNameMapping = new GeneratedMetricNameMapping( GraphiteFormatterConstants.GraphiteDefaults.CustomHistogramDataKeys, GraphiteFormatterConstants.GraphiteDefaults.CustomMeterDataKeys, GraphiteFormatterConstants.GraphiteDefaults.CustomApdexKeys, GraphiteFormatterConstants.GraphiteDefaults.CustomCounterDataKeys); MetricPointTextWriter = GraphiteFormatterConstants.GraphiteDefaults.MetricPointTextWriter; }
public MetricSnapshotHostedMetricsJsonWriter( TextWriter textWriter, Func <IHostedMetricsPointTextWriter> metricPointTextWriter = null, GeneratedMetricNameMapping dataKeys = null) { _textWriter = textWriter ?? throw new ArgumentNullException(nameof(textWriter)); _points = new HostedMetricsPoints(); _metricPointTextWriter = metricPointTextWriter != null?metricPointTextWriter() : HostedMetricsFormatterConstants.GraphiteDefaults.MetricPointTextWriter(); MetricNameMapping = dataKeys ?? new GeneratedMetricNameMapping(); }
public MetricSnapshotGraphitePlainTextProtocolWriter( TextWriter textWriter, IGraphitePointTextWriter metricNameFormatter = null, GeneratedMetricNameMapping dataKeys = null) { _textWriter = textWriter ?? throw new ArgumentNullException(nameof(textWriter)); _points = new GraphitePoints(); _metricNameFormatter = metricNameFormatter ?? new DefaultGraphitePointTextWriter(); MetricNameMapping = dataKeys ?? new GeneratedMetricNameMapping(); }
public void Apdex_can_use_custom_data_keys_and_should_provide_corresponding_values() { // Arrange var value = new ApdexValue(1, 2, 3, 4, 5); var data = new Dictionary <string, object>(); var dataKeys = new GeneratedMetricNameMapping( apdex: new Dictionary <ApdexValueDataKeys, string> { { ApdexValueDataKeys.Samples, "size_of_sample" } }); // Act value.AddApdexValues(data, dataKeys.Apdex); // Assert data.ContainsKey(DataKeys.Apdex[ApdexValueDataKeys.Samples]).Should().BeFalse(); data["size_of_sample"].Should().Be(5); }
public MetricSnapshotAliTSDBLineProtocolWriter( TextWriter textWriter, Func <string, string, string> metricNameFormatter = null, GeneratedMetricNameMapping dataKeys = null) { _textWriter = textWriter ?? throw new ArgumentNullException(nameof(textWriter)); _points = new LineProtocolPoints(); if (metricNameFormatter == null) { _metricNameFormatter = (metricContext, metricName) => string.IsNullOrWhiteSpace(metricContext) ? metricName : $"[{metricContext}] {metricName}"; } else { _metricNameFormatter = metricNameFormatter; } MetricNameMapping = dataKeys ?? new GeneratedMetricNameMapping(); }
public void Meter_can_use_custom_data_keys_and_should_provide_corresponding_values() { // Arrange var value = new MeterValue(1, 2, 3, 4, 5, TimeUnit.Seconds); var dataKeys = new GeneratedMetricNameMapping( meter: new Dictionary <MeterValueDataKeys, string> { { MeterValueDataKeys.Rate1M, "1_min_rate" }, { MeterValueDataKeys.RateMean, "mean_rate" } }); // Act value.AddMeterValues(out IDictionary <string, object> data, dataKeys.Meter); // Assert data.ContainsKey(DataKeys.Meter[MeterValueDataKeys.RateMean]).Should().BeFalse(); data["mean_rate"].Should().Be(2.0); data.ContainsKey(DataKeys.Meter[MeterValueDataKeys.Rate1M]).Should().BeFalse(); data["1_min_rate"].Should().Be(3.0); }
public MetricSnapshotTextWriter( TextWriter textWriter, string separator = MetricsTextFormatterConstants.OutputFormatting.Separator, int padding = MetricsTextFormatterConstants.OutputFormatting.Padding, Func <string, string, string> metricNameFormatter = null, GeneratedMetricNameMapping dataKeys = null) { _textWriter = textWriter ?? throw new ArgumentNullException(nameof(textWriter)); _separator = separator; _padding = padding; _textPoints = new MetricsTextPoints(); if (metricNameFormatter == null) { _metricNameFormatter = (metricContext, metricName) => string.IsNullOrWhiteSpace(metricContext) ? metricName : $"[{metricContext}] {metricName}"; } else { _metricNameFormatter = metricNameFormatter; } MetricNameMapping = dataKeys ?? new GeneratedMetricNameMapping(); }
public MetricsInfluxDbLineProtocolOptions() { MetricNameMapping = new GeneratedMetricNameMapping(); MetricNameFormatter = InfluxDbFormatterConstants.LineProtocol.MetricNameFormatter; }
public MetricsHostedMetricsOptions() { MetricNameMapping = new GeneratedMetricNameMapping(); MetricNameFormatter = HostedMetricsFormatterConstants.GraphiteDefaults.MetricPointTextWriter; }