| File: Internal\HttpMetricsTagsFeature.cs | Web Access |
| Project: src\aspnetcore\src\Hosting\Hosting\src\Microsoft.AspNetCore.Hosting.csproj (Microsoft.AspNetCore.Hosting) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Hosting; internal sealed class HttpMetricsTagsFeature : IHttpMetricsTagsFeature { ICollection<KeyValuePair<string, object?>> IHttpMetricsTagsFeature.Tags => TagsList; public bool MetricsDisabled { get; set; } public List<KeyValuePair<string, object?>> TagsList { get; } = new List<KeyValuePair<string, object?>>(); // Cache request values when request starts. These are used when writing metrics when the request ends. // This ensures that the tags match between the start and end of the request. Important for up/down counters. public string? Method { get; set; } public string? Scheme { get; set; } public string? Protocol { get; set; } public void Reset() { TagsList.Clear(); MetricsDisabled = false; Method = null; Scheme = null; Protocol = null; } }