ASP.NET Core内置指标

本文是使用 API 生成 ASP.NET Core内置指标的System.Diagnostics.Metrics入口点。 指标引用按主题组织成重点页面。 使用以下页面查找每个区域的仪器、属性和用法指南。 有关基于较旧 EventCounters API 的指标列表,请参阅 “可用计数器”。

有关如何使用 ASP.NET Core指标收集、报告、扩充和测试的信息,请参阅 ASP.NET Core指标。

注释

从 11 .NET 11 开始,这些参考页中编录的内置 HTTP 服务器计量(最明显Microsoft.AspNetCore.Hosting)Microsoft.AspNetCore.Server.Kestrel会发出符合 OpenTelemetry HTTP 服务器语义约定所需部分的数据。 此 OpenTelemetry.Instrumentation.AspNetCore 包是 HTTP 服务器指标的可选包- 直接向 OpenTelemetry SDK 注册这些计量。 有关详细信息,请参阅 ASP.NET Core 指标。

指标参考页

Page 命名空间 示例指标
HTTP 指标 Microsoft.AspNetCore.Hosting、、Microsoft.AspNetCore.RoutingMicrosoft.AspNetCore.RateLimiting、Microsoft.AspNetCore.HeaderParsing、Microsoft.AspNetCore.Server.Kestrel、 Microsoft.AspNetCore.Http.Connections (SignalR) http.server.request.duration、aspnetcore.routing.match_attempts、kestrel.active_connections、signalr.server.active_connections
诊断指标 Microsoft.AspNetCore.Diagnostics aspnetcore.diagnostics.exceptions
Blazor (组件) 指标 Microsoft.AspNetCore.Components、Microsoft.AspNetCore.Components.Lifecycle、Microsoft.AspNetCore.Components.Server.Circuits aspnetcore.components.navigation、aspnetcore.components.circuit.active
身份验证和授权指标 Microsoft.AspNetCore.Authorization、Microsoft.AspNetCore.Authentication aspnetcore.authorization.attempts、aspnetcore.authentication.challenges

Blazor (组件)和身份验证和授权指标页描述了 ASP.NET Core 10.0 或更高版本中提供的指标。 使用版本选择器选择 ASP.NET Core 10.0(或更高版本)以查看该内容。

如何对指标进行分组

指标按受众和主题分组。 由于某些命名空间不会完全映射到单个主题,因此适用以下放置规则:

  • HTTP 请求处理、路由、速率限制、标头分析、 Kestrel Web 服务器和 SignalR (Microsoft.AspNetCore.Http.Connections) 在 HTTP 指标页上组合在一起,因为它们都与提供 HTTP 和实时连接有关。
  • 错误处理中间件指标位于诊断指标页上。
  • Blazor (组件)指标按其组件、生命周期和服务器线路命名空间进行分组。
  • 身份验证、授权和 Identity 指标将分组为与安全相关的指标。

如何阅读此参考

参考页上的每个指标都记录了以下信息:

  • 名称:指标(检测)名称。
  • 检测类型:工具类型,例如 Counter, UpDownCounter或 Histogram。
  • 单位(UCUM):度量单位,使用 度量单位(UCUM)统一代码表示,例如 s 秒。
  • 属性:使用指标报告的维度(标记)。
  • 状态:当属性存在时,例如 Always ,或仅在特定条件下。
  • 用法:指标帮助回答的示例问题。

有关如何使用这些指标收集、报告、扩充和测试的指导,请参阅 ASP.NET Core指标。