| File: HeaderParsingMetrics.cs | Web Access |
| Project: src\src\Libraries\Microsoft.AspNetCore.HeaderParsing\Microsoft.AspNetCore.HeaderParsing.csproj (Microsoft.AspNetCore.HeaderParsing) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.Metrics; namespace Microsoft.AspNetCore.HeaderParsing; internal sealed class HeaderParsingMetrics { private const string MeterName = "Microsoft.AspNetCore.HeaderParsing"; public HeaderParsingMetrics(IMeterFactory meterFactory) { #pragma warning disable CA2000 // Dispose objects before losing scope // We don't dispose the meter because IMeterFactory handles that // An issue on analyzer side: https://github.com/dotnet/roslyn-analyzers/issues/6912 // Related documentation: https://github.com/dotnet/docs/pull/37170 var meter = meterFactory.Create(MeterName); #pragma warning restore CA2000 // Dispose objects before losing scope ParsingErrorCounter = Metric.CreateParsingErrorCounter(meter); CacheAccessCounter = Metric.CreateCacheAccessCounter(meter); } public ParsingErrorCounter ParsingErrorCounter { get; } public CacheAccessCounter CacheAccessCounter { get; } }