コード例 #1
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);
        }
コード例 #2
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);
        }
コード例 #3
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);
        }