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_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 void Can_count() { _timer.Value.Rate.Count.Should().Be(0); using (_timer.NewContext()) { } _timer.Value.Rate.Count.Should().Be(1); using (_timer.NewContext()) { } _timer.Value.Rate.Count.Should().Be(2); _timer.Time(() => { }); _timer.Value.Rate.Count.Should().Be(3); _timer.Time(() => 1); _timer.Value.Rate.Count.Should().Be(4); }