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