public void can_report_histograms() { var expected = StringReporterSamples.Histograms.ExtractStringReporterSampleFromResourceFile(); var sr = new StringReporter(); var metric = new DefaultHistogramMetric(_defaultReservoir); metric.Update(1000, "value1"); metric.Update(2000, "value2"); sr.ReportMetric("test", new HistogramValueSource("histogram_name", metric, Unit.None, MetricTags.None)); AssertReportResult(sr.Result, expected); }
public void can_count() { _histogram.Update(1L); _histogram.Value.Count.Should().Be(1); _histogram.Update(1L); _histogram.Value.Count.Should().Be(2); }
public void can_add_histgoram_values() { var histogramMetric = new DefaultHistogramMetric(_defaultReservoir); histogramMetric.Update(10000, "value"); var values = new Dictionary <string, object>(); histogramMetric.Value.AddHistogramValues(values); values.Keys.Should().Contain("samples"); values.Keys.Should().Contain("last"); values.Keys.Should().Contain("count.hist"); values.Keys.Should().Contain("min"); values.Keys.Should().Contain("max"); values.Keys.Should().Contain("mean"); values.Keys.Should().Contain("median"); values.Keys.Should().Contain("stddev"); values.Keys.Should().Contain("p999"); values.Keys.Should().Contain("p99"); values.Keys.Should().Contain("p98"); values.Keys.Should().Contain("p95"); values.Keys.Should().Contain("p75"); values.Keys.Should().Contain("user.last"); values.Keys.Should().Contain("user.min"); values.Keys.Should().Contain("user.max"); }
public async Task Can_report_histograms_when_multidimensional() { // Arrange var expected = "test.test_histogram.histogram.value:1000|h"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public void Can_report_histograms_when_multidimensional() { // Arrange var expected = "test__test_histogram,host=server1,env=staging,mtype=histogram,unit=none samples=1i,last=1000,count.hist=1i,sum=1000,min=1000,max=1000,mean=1000,median=1000,stddev=0,p999=1000,p99=1000,p98=1000,p95=1000,p75=1000,user.last=\"client1\",user.min=\"client1\",user.max=\"client1\" 1483232461000000000\n"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public async Task Can_report_histograms_when_multidimensional() { // Arrange var expected = "{\"series\":[{\"metric\":\"test.test_histogram.histogram.samples\",\"points\":[[1483232461,1]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.last\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.count.hist\",\"points\":[[1483232461,1]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.sum\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.min\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.max\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.mean\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.median\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.stddev\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.p999\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.p99\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.p98\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.p95\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.p75\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.user.last\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.user.min\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]},{\"metric\":\"test.test_histogram.histogram.user.max\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\"]}]}"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), FlushInterval, expected); }
public void Can_report_histograms_when_multidimensional() { // Arrange var expected = "env.staging.histogram.test.test_histogram.host.server1.Samples 1 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Last 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Count 1 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Sum 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Min 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Max 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Mean 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Median 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.StdDev 0.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-999 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-99 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-98 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-95 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-75 1000.00 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.User-Last client1 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.User-Min client1 1483232461\nenv.staging.histogram.test.test_histogram.host.server1.User-Max client1 1483232461\n"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public void Can_report_histograms() { // Arrange var expected = "histogram.test.test_histogram.Samples 1 1483232461\nhistogram.test.test_histogram.Last 1000.00 1483232461\nhistogram.test.test_histogram.Count 1 1483232461\nhistogram.test.test_histogram.Sum 1000.00 1483232461\nhistogram.test.test_histogram.Min 1000.00 1483232461\nhistogram.test.test_histogram.Max 1000.00 1483232461\nhistogram.test.test_histogram.Mean 1000.00 1483232461\nhistogram.test.test_histogram.Median 1000.00 1483232461\nhistogram.test.test_histogram.StdDev 0.00 1483232461\nhistogram.test.test_histogram.Percentile-999 1000.00 1483232461\nhistogram.test.test_histogram.Percentile-99 1000.00 1483232461\nhistogram.test.test_histogram.Percentile-98 1000.00 1483232461\nhistogram.test.test_histogram.Percentile-95 1000.00 1483232461\nhistogram.test.test_histogram.Percentile-75 1000.00 1483232461\nhistogram.test.test_histogram.User-Last client1 1483232461\nhistogram.test.test_histogram.User-Min client1 1483232461\nhistogram.test.test_histogram.User-Max client1 1483232461\n"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram", ConstantValue.Provider(histogram.Value), Unit.None, MetricTags.Empty); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public async Task Can_report_histograms() { // Arrange var expected = "test.test_histogram.histogram.value:1000|h|#unit:none,timestamp:1483232461"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram", ConstantValue.Provider(histogram.Value), Unit.None, MetricTags.Empty); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public async Task Can_report_histograms() { // Arrange var expected = "test__test_histogram,mtype=histogram,unit=none samples=1i,last=1000,count.hist=1i,sum=1000,min=1000,max=1000,mean=1000,median=1000,stddev=0,p999=1000,p99=1000,p98=1000,p95=1000,p75=1000,user.last=\"client1\",user.min=\"client1\",user.max=\"client1\" 1483232461000000000\n"; var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram", ConstantValue.Provider(histogram.Value), Unit.None, MetricTags.Empty); // Act var valueSource = CreateValueSource("test", histograms: histogramValueSource); // Assert await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected); }
public void can_report_histograms_when_multidimensional() { var metricsMock = new Mock <IMetrics>(); var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); var items = CreateReporterAndPayloadBuilder(); items.Item1.StartReportRun(metricsMock.Object); items.Item1.ReportMetric("test", histogramValueSource); items.Item2.PayloadFormatted(). Should(). Be( "test__test_histogram host=server1 env=staging mtype=histogram unit=none samples=1i last=1000 count.hist=1i sum=1000 min=1000 max=1000 mean=1000 median=1000 stddev=0 p999=1000 p99=1000 p98=1000 p95=1000 p75=1000 user.last=\"client1\" user.min=\"client1\" user.max=\"client1\"" + Environment.NewLine); }
public void can_report_histograms() { var metricsMock = new Mock <IMetrics>(); var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram", ConstantValue.Provider(histogram.Value), Unit.None, MetricTags.Empty); var payloadBuilder = new TestPayloadBuilder(); var reporter = CreateReporter(payloadBuilder); reporter.StartReportRun(metricsMock.Object); reporter.ReportMetric("test", histogramValueSource); payloadBuilder.PayloadFormatted(). Should(). Be( "test__test_histogram mtype=histogram samples=1i last=1000 count.hist=1i sum=1000 min=1000 max=1000 mean=1000 median=1000 stddev=0 p999=1000 p99=1000 p98=1000 p95=1000 p75=1000 user.last=\"client1\" user.min=\"client1\" user.max=\"client1\"" + Environment.NewLine); }
public void can_report_histograms_when_multidimensional() { var metricsMock = new Mock <IMetrics>(); var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); var payloadBuilder = new LineProtocolPayloadBuilder(); var reporter = CreateReporter(payloadBuilder); reporter.StartReportRun(metricsMock.Object); reporter.ReportMetric("test", histogramValueSource); payloadBuilder.PayloadFormatted(). Should(). Be( "test__test_histogram,host=server1,env=staging samples=1i,last=1000,count.hist=1i,min=1000,max=1000,mean=1000,median=1000,stddev=0,p999=1000,p99=1000,p98=1000,p95=1000,p75=1000,user.last=\"client1\",user.min=\"client1\",user.max=\"client1\"\n"); }
public void can_report_histograms() { var metricsMock = new Mock <IMetrics>(); var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram", ConstantValue.Provider(histogram.Value), Unit.None, MetricTags.Empty); var payloadBuilder = new LineProtocolPayloadBuilder(_settings.DataKeys, _settings.MetricNameFormatter); var reporter = CreateReporter(payloadBuilder); reporter.StartReportRun(metricsMock.Object); reporter.ReportMetric("test", histogramValueSource); payloadBuilder.PayloadFormatted(false). Should(). Be( "test__test_histogram,mtype=histogram,unit=none samples=1i,last=1000,count.hist=1i,sum=1000,min=1000,max=1000,mean=1000,median=1000,stddev=0,p999=1000,p99=1000,p98=1000,p95=1000,p75=1000,user.last=\"client1\",user.min=\"client1\",user.max=\"client1\"\n"); }
public void can_report_histograms_when_multidimensional() { var metricsMock = new Mock <IMetrics>(); var histogram = new DefaultHistogramMetric(_defaultReservoir); histogram.Update(1000, "client1"); var histogramValueSource = new HistogramValueSource( "test histogram" + MultidimensionalMetricNameSuffix, ConstantValue.Provider(histogram.Value), Unit.None, _tags); var payloadBuilder = new GraphitePayloadBuilder(_settings.GraphiteSettings.MetricNameFormatter, _settings.DataKeys, Origin); var reporter = CreateReporter(payloadBuilder); reporter.StartReportRun(metricsMock.Object); reporter.ReportMetric("test", histogramValueSource); payloadBuilder.PayloadFormatted(). Should(). Be( "env.staging.histogram.test.test_histogram.host.server1.Samples 1 0\nenv.staging.histogram.test.test_histogram.host.server1.Last 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Count 1 0\nenv.staging.histogram.test.test_histogram.host.server1.Sum 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Min 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Max 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Mean 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Median 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.StdDev 0.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-999 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-99 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-98 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-95 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.Percentile-75 1000.00 0\nenv.staging.histogram.test.test_histogram.host.server1.User-Last client1 0\nenv.staging.histogram.test.test_histogram.host.server1.User-Min client1 0\nenv.staging.histogram.test.test_histogram.host.server1.User-Max client1 0\n"); }