コード例 #1
0
        public void Init()
        {
            _gauge           = new FakeGauge();
            _requestDelegate = context => Task.CompletedTask;

            _sut = new HttpInProgressMiddleware(_requestDelegate, _gauge);
        }
コード例 #2
0
        public async Task Given_request_throws_then_InProgressGauge_is_decreased()
        {
            _requestDelegate = context => throw new InvalidOperationException();
            _sut             = new HttpInProgressMiddleware(_requestDelegate, _gauge);


            await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => _sut.Invoke(new DefaultHttpContext()));

            Assert.AreEqual(1, _gauge.IncrementCount);
            Assert.AreEqual(1, _gauge.DecrementCount);
            Assert.AreEqual(0, _gauge.Value);
        }
コード例 #3
0
        public void Setup()
        {
            _registry = Metrics.NewCustomRegistry();
            _factory  = Metrics.WithCustomRegistry(_registry);

            _inProgressMiddleware =
                new HttpInProgressMiddleware(next => Task.CompletedTask, _factory.CreateGauge("in_progress", "help"));
            _countMiddleware =
                new HttpRequestCountMiddleware(next => Task.CompletedTask, _factory.CreateCounter("count", "help"));
            _durationMiddleware =
                new HttpRequestDurationMiddleware(next => Task.CompletedTask, _factory.CreateHistogram("duration", "help"));
        }