public async Task InvokeAsync(HttpContext context) { var stopwatch = Stopwatch.StartNew(); await _next(context); stopwatch.Stop(); var bucketPrefix = CreateBucketPrefix(context); var dimensions = ExtractDimensions(context); await Task.WhenAll( _statsPublisher.TimingAsync($"{bucketPrefix}.msecs", stopwatch.ElapsedMilliseconds, dimensions), _statsPublisher.IncrementAsync($"{bucketPrefix}.{context.Response.StatusCode}", 1, dimensions)); }
public async Task InvokeAsync(HttpContext context) { var stopwatch = Stopwatch.StartNew(); await next(context); stopwatch.Stop(); var routeData = context.GetRouteData(); var bucketPrefix = routeData != null ? $"http.{routeData.Values["controller"]}-{routeData.Values["action"]}-{context.Request.Method}" : $"http.no-route-data"; await Task.WhenAll( statsPublisher.TimingAsync($"{bucketPrefix}.msecs", stopwatch.ElapsedMilliseconds), statsPublisher.IncrementAsync($"{bucketPrefix}.{context.Response.StatusCode}")); }