Exemplo n.º 1
0
        public void can_report_timers()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer",
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Minutes,
                TimeUnit.Milliseconds,
                MetricTags.Empty);
            var payloadBuilder = new TestPayloadBuilder();
            var reporter       = new TestReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted().
            Should().
            Be(
                "test__test_timer mtype=timer unit=none unit_dur=ms unit_rate=min count.meter=1i rate1m=0 rate5m=0 rate15m=0 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);
        }
Exemplo n.º 2
0
 public TimerMetricTests()
 {
     _timer = new DefaultTimerMetric(
         new DefaultHistogramMetric(new DefaultForwardDecayingReservoir()),
         new DefaultMeterMetric(_clock),
         _clock);
 }
Exemplo n.º 3
0
        public void can_calculate_the_hit_ratio_as_a_guage_with_one_min_rate_as_default()
        {
            var clock     = new TestClock();
            var scheduler = new TestTaskScheduler(clock);

            var cacheHitMeter = new DefaultMeterMetric(clock, scheduler);
            var dbQueryTimer  = new DefaultTimerMetric(new DefaultAlgorithmRReservoir(1028), clock);

            foreach (var index in Enumerable.Range(0, 1000))
            {
                using (dbQueryTimer.NewContext())
                {
                    clock.Advance(TimeUnit.Milliseconds, 100);
                }

                if (index % 2 == 0)
                {
                    cacheHitMeter.Mark();
                }
            }

            var cacheHitRatioGauge = new HitRatioGauge(cacheHitMeter, dbQueryTimer);

            cacheHitRatioGauge.Value.Should().BeGreaterThan(0.0);
        }
        public void can_report_timers__when_multidimensional()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);
            var payloadBuilder = new GraphitePayloadBuilder(_settings.GraphiteSettings.MetricNameFormatter, _settings.DataKeys, Origin);

            var reporter = CreateReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted().
            Should().
            Be(
                "env.staging.timer.test.test_timer.host.server1.Total 1 0\nenv.staging.timer.test.test_timer.host.server1.Rate-1-Min 0.00 0\nenv.staging.timer.test.test_timer.host.server1.Rate-5-Min 0.00 0\nenv.staging.timer.test.test_timer.host.server1.Rate-15-Min 0.00 0\nenv.staging.timer.test.test_timer.host.server1.Samples 1 0\nenv.staging.timer.test.test_timer.host.server1.Last 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Count 1 0\nenv.staging.timer.test.test_timer.host.server1.Sum 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Min 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Max 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Mean 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Median 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.StdDev 0.00 0\nenv.staging.timer.test.test_timer.host.server1.Percentile-999 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Percentile-99 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Percentile-98 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Percentile-95 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.Percentile-75 1000.00 0\nenv.staging.timer.test.test_timer.host.server1.User-Last client1 0\nenv.staging.timer.test.test_timer.host.server1.User-Min client1 0\nenv.staging.timer.test.test_timer.host.server1.User-Max client1 0\n");
        }
Exemplo n.º 5
0
        public void can_report_timers__when_multidimensional()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);
            var payloadBuilder = new TestPayloadBuilder();
            var reporter       = new TestReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted().
            Should().
            Be(
                "test__test_timer host=server1 env=staging mtype=timer count.meter=1i rate1m=0 rate5m=0 rate15m=0 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_timers__when_multidimensional()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);
            var payloadBuilder = new LineProtocolPayloadBuilder();
            var reporter       = CreateReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted().
            Should().
            Be(
                "test__test_timer,host=server1,env=staging count.meter=1i,rate1m=0,rate5m=0,rate15m=0,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");
        }
Exemplo n.º 7
0
        public void can_report_timers()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer",
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                MetricTags.Empty);
            var payloadBuilder = new LineProtocolPayloadBuilder(_settings.DataKeys, _settings.MetricNameFormatter);
            var reporter       = CreateReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted(false).
            Should().
            Be(
                "test__test_timer,mtype=timer,unit=none,unit_dur=ms,unit_rate=ms count.meter=1i,rate1m=0,rate5m=0,rate15m=0,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");
        }
Exemplo n.º 8
0
        public void can_report_timers_with_group()
        {
            var metricsMock = new Mock <IMetrics>();
            var clock       = new TestClock();
            var timer       = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer",
                "endpoints",
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                MetricTags.Empty);
            var payloadBuilder = new LineProtocolPayloadBuilder();
            var reporter       = CreateReporter(payloadBuilder);

            reporter.StartReportRun(metricsMock.Object);
            reporter.ReportMetric("test", timerValueSource);

            payloadBuilder.PayloadFormatted().
            Should().
            Be(
                "test__endpoints,group_item=test_timer count.meter=1i,rate1m=0,rate5m=0,rate15m=0,rate.mean=Infinity,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 TimerMetricTests()
        {
            var reservoir = new Lazy <IReservoir>(() => new DefaultAlgorithmRReservoir(1028));

            _timer = new DefaultTimerMetric(
                new DefaultHistogramMetric(reservoir),
                new DefaultMeterMetric(_clock, new TestTaskScheduler(_clock)),
                _clock);
        }
Exemplo n.º 10
0
        public void Can_calculate_the_hit_ratio_as_a_guage()
        {
            var cacheHitMeter = new DefaultMeterMetric(_clock, _schedular);
            var queryTimer    = new DefaultTimerMetric(new DefaultAlgorithmRReservoir(1028), _clock);

            foreach (var index in Enumerable.Range(0, 1000))
            {
                using (queryTimer.NewContext())
                {
                    _clock.Advance(TimeUnit.Milliseconds, 100);
                }

                if (index % 2 == 0)
                {
                    cacheHitMeter.Mark();
                }
            }

            var cacheHitRatioGauge = new HitRatioGauge(cacheHitMeter, queryTimer, value => value.OneMinuteRate);

            cacheHitRatioGauge.Value.Should().BeGreaterThan(0.0);
        }
        public async Task Can_report_timers__when_multidimensional()
        {
            // Arrange
            var expected = "test.test_timer.timer.value:1000|ms";
            var clock    = new TestClock();
            var timer    = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected);
        }
        public void Can_report_timers__when_multidimensional()
        {
            // Arrange
            var expected =
                "test__test_timer,host=server1,env=staging,mtype=timer,unit=none,unit_dur=ms,unit_rate=ms count.meter=1i,rate1m=0,rate5m=0,rate15m=0,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 clock = new TestClock();
            var timer = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected);
        }
Exemplo n.º 13
0
        public void can_report_timers()
        {
            var expected  = StringReporterSamples.Timers.ExtractStringReporterSampleFromResourceFile();
            var sr        = new StringReporter();
            var clock     = new TestClock();
            var histogram = new DefaultHistogramMetric(_defaultReservoir);
            var metric    = new DefaultTimerMetric(histogram, clock);

            metric.Record(1000, TimeUnit.Milliseconds, "value1");
            metric.Record(2000, TimeUnit.Milliseconds, "value2");

            sr.ReportMetric(
                "test",
                new TimerValueSource(
                    "timer_name",
                    metric,
                    Unit.None,
                    TimeUnit.Milliseconds,
                    TimeUnit.Milliseconds,
                    MetricTags.None));

            AssertReportResult(sr.Result, expected);
        }
        public async Task Can_report_timers__when_multidimensional()
        {
            // Arrange
            var expected =
                "{\"series\":[{\"metric\":\"test.test_timer.timer.count.meter\",\"points\":[[1483232461,1]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.rate1m\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.rate5m\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.rate15m\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.samples\",\"points\":[[1483232461,1]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.last\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.count.hist\",\"points\":[[1483232461,1]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.sum\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.min\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.max\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.mean\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.median\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.stddev\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.p999\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.p99\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.p98\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.p95\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.p75\",\"points\":[[1483232461,1000]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.user.last\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.user.min\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]},{\"metric\":\"test.test_timer.timer.user.max\",\"points\":[[1483232461,0]],\"type\":\"gauge\",\"tags\":[\"host:server1\",\"env:staging\",\"unit:none\",\"unit_dur:ms\",\"unit_rate:ms\"]}]}";
            var clock = new TestClock();
            var timer = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), FlushInterval, expected);
        }
        public void Can_report_timers__when_multidimensional()
        {
            // Arrange
            var expected =
                "env.staging.timer.test.test_timer.host.server1.Total 1 1483232461\nenv.staging.timer.test.test_timer.host.server1.Rate-1-Min 0.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Rate-5-Min 0.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Rate-15-Min 0.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Samples 1 1483232461\nenv.staging.timer.test.test_timer.host.server1.Last 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Count 1 1483232461\nenv.staging.timer.test.test_timer.host.server1.Sum 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Min 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Max 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Mean 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Median 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.StdDev 0.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Percentile-999 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Percentile-99 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Percentile-98 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Percentile-95 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.Percentile-75 1000.00 1483232461\nenv.staging.timer.test.test_timer.host.server1.User-Last client1 1483232461\nenv.staging.timer.test.test_timer.host.server1.User-Min client1 1483232461\nenv.staging.timer.test.test_timer.host.server1.User-Max client1 1483232461\n";
            var clock = new TestClock();
            var timer = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer" + MultidimensionalMetricNameSuffix,
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                _tags);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected);
        }
        public void Can_report_timers()
        {
            // Arrange
            var expected =
                "timer.test.test_timer.Total 1 1483232461\ntimer.test.test_timer.Rate-1-Min 0.00 1483232461\ntimer.test.test_timer.Rate-5-Min 0.00 1483232461\ntimer.test.test_timer.Rate-15-Min 0.00 1483232461\ntimer.test.test_timer.Samples 1 1483232461\ntimer.test.test_timer.Last 1000.00 1483232461\ntimer.test.test_timer.Count 1 1483232461\ntimer.test.test_timer.Sum 1000.00 1483232461\ntimer.test.test_timer.Min 1000.00 1483232461\ntimer.test.test_timer.Max 1000.00 1483232461\ntimer.test.test_timer.Mean 1000.00 1483232461\ntimer.test.test_timer.Median 1000.00 1483232461\ntimer.test.test_timer.StdDev 0.00 1483232461\ntimer.test.test_timer.Percentile-999 1000.00 1483232461\ntimer.test.test_timer.Percentile-99 1000.00 1483232461\ntimer.test.test_timer.Percentile-98 1000.00 1483232461\ntimer.test.test_timer.Percentile-95 1000.00 1483232461\ntimer.test.test_timer.Percentile-75 1000.00 1483232461\ntimer.test.test_timer.User-Last client1 1483232461\ntimer.test.test_timer.User-Min client1 1483232461\ntimer.test.test_timer.User-Max client1 1483232461\n";
            var clock = new TestClock();
            var timer = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer",
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                MetricTags.Empty);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected);
        }
Exemplo n.º 17
0
        public async Task Can_report_timers()
        {
            // Arrange
            var expected =
                "test.test_timer.timer.value:1000|ms|#unit:none,unit_dur:ms,unit_rate:ms,timestamp:1483232461";
            var clock = new TestClock();
            var timer = new DefaultTimerMetric(_defaultReservoir, clock);

            timer.Record(1000, TimeUnit.Milliseconds, "client1");
            var timerValueSource = new TimerValueSource(
                "test timer",
                ConstantValue.Provider(timer.Value),
                Unit.None,
                TimeUnit.Milliseconds,
                TimeUnit.Milliseconds,
                MetricTags.Empty);

            // Act
            var valueSource = CreateValueSource("test", timers: timerValueSource);

            // Assert
            await AssertExpectedLineProtocolString(new MetricsDataValueSource(_timestamp, new[] { valueSource }), expected);
        }