可用的仪表

OpenTelemetry .NET自动仪表支持的库。

OpenTelemetry .NET自动仪表支持各种库。

仪表

所有的仪表默认情况下对所有的信号类型(追踪、指标和日志)都是启用的。

您可以通过将OTEL_DOTNET_AUTO_{信号}_INSTRUMENTATION_ENABLED环境变量设置为false来禁用特定信号类型的所有仪表。

如果想更详细地进行控制,可以通过将OTEL_DOTNET_AUTO_{信号}_{0}_INSTRUMENTATION_ENABLED环境变量设置为false来禁用特定信号类型的特定仪表,其中{SIGNAL}是信号的类型(如TRACES),{0}是区分大小写的仪表的名称。

环境变量 描述 默认值 状态
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED 启用所有仪表。 true 实验性
OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED 启用所有追踪仪表。会覆盖OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED继承而来 实验性
OTEL_DOTNET_AUTO_TRACES_{0}_INSTRUMENTATION_ENABLED 启用特定追踪仪表的配置模式,其中{0}是您要启用的仪表的大写ID。会覆盖OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED继承而来 实验性
OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED 禁用所有指标仪表。会覆盖OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED继承而来 实验性
OTEL_DOTNET_AUTO_METRICS_{0}_INSTRUMENTATION_ENABLED 启用特定指标仪表的配置模式,其中{0}是您要启用的仪表的大写ID。会覆盖OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED继承而来 实验性
OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED 禁用所有日志仪表。会覆盖OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED继承而来 实验性
OTEL_DOTNET_AUTO_LOGS_{0}_INSTRUMENTATION_ENABLED 启用特定日志仪表的配置模式,其中{0}是您要启用的仪表的大写ID。会覆盖OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED的设置。 OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED继承而来 实验性

追踪仪表

状态Mixed。追踪是稳定的,但某些仪表由于缺乏稳定的语义约定而处于实验阶段。

ID 仪表化库 支持的版本 仪表化类型 状态
ASPNET ASP.NET(.NET Framework)MVC / WebApi[1] 不支持.NET * 源码和字节码 实验性
ASPNETCORE ASP.NET Core 不支持.NET Framework * 源码 实验性
AZURE Azure SDK [2] 源码 实验性
ELASTICSEARCH Elastic.Clients.Elasticsearch ≥8.0.0 & < 8.10.0 源码 实验性
ELASTICTRANSPORT Elastic.Transport ≥0.4.16 源码 实验性
ENTITYFRAMEWORKCORE Microsoft.EntityFrameworkCore 不支持.NET Framework ≥6.0.12 源码 实验性
GRAPHQL GraphQL 不支持.NET Framework ≥7.5.0 源码 实验性
GRPCNETCLIENT Grpc.Net.Client ≥2.52.0 & < 3.0.0 源码 实验性
HTTPCLIENT System.Net.Http.HttpClientSystem.Net.HttpWebRequest * 源码 实验性
QUARTZ Quartz 不支持.NET Framework 4.7.1及更早的版本 ≥3.4.0 源码 实验性
MASSTRANSIT MassTransit 不支持.NET Framework ≥8.0.0 源码 实验性
MONGODB MongoDB.Driver.Core ≥2.13.3 & < 3.0.0 源码和字节码 实验性
MYSQLCONNECTOR MySqlConnector ≥2.0.0 源码 实验性
MYSQLDATA MySql.Data 不支持.NET Framework ≥8.1.0 源码 实验性
NPGSQL Npgsql ≥6.0.0 源码 实验性
NSERVICEBUS NServiceBus ≥8.0.0 源码和字节码 实验性
SQLCLIENT Microsoft.Data.SqlClientSystem.Data.SqlClient * [3] 源码 实验性
STACKEXCHANGEREDIS StackExchange.Redis 不支持.NET Framework ≥2.0.405 < 3.0.0 源码和字节码 实验性
WCFCLIENT WCF * 源码和字节码 实验性
WCFSERVICE WCF 不支持.NET * 源码和字节码 实验性

[1]: 仅支持集成管道模式。

[2]: 前缀为Azure.的包,在2021年10月1日之后发布。

[3]: Microsoft.Data.SqlClient的v3.*版本不支持.NET Framework,因为存在问题

指标仪表

状态Mixed。指标是稳定的,但某些仪表由于缺乏稳定的语义约定而处于实验阶段。

ID 仪表化库 文档 支持的版本 仪表化类型 状态
ASPNET ASP.NET Framework[1] 不支持.NET ASP.NET指标 * 源码和字节码 实验性
ASPNETCORE ASP.NET Core[2] 不支持.NET Framework ASP.NET Core指标 * 源码 实验性
HTTPCLIENT System.Net.Http.HttpClientSystem.Net.HttpWebRequest HttpClient指标 * 源码 实验性
NETRUNTIME OpenTelemetry.Instrumentation.Runtime 运行时指标 * 源码 实验性
PROCESS OpenTelemetry.Instrumentation.Process 进程指标 * 源码 实验性
NSERVICEBUS NServiceBus NServiceBus指标 ≥8.0.0 源码和字节码 实验性

[1]: 仅当启用了AspNet追踪仪表时才生成ASP.NET指标。

[2]: 此仪表化自动启用Microsoft.AspNetCore.Hosting.HttpRequestInspan。

日志仪表

状态实验性

ID 仪表化库 支持的版本 仪表化类型 状态
ILOGGER Microsoft.Extensions.Logging 不支持.NET Framework ≥6.0.0 字节码或源码 实验性

对于ASP.NET Core应用程序,可以通过将ASPNETCORE_HOSTINGSTARTUPASSEMBLIES环境变量设置为OpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper来启用LoggingBuilder仪表,而无需使用.NET CLR Profiler。

仪表化选项

环境变量 描述 默认值 状态
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT GraphQL仪表化是否可以将原始查询作为graphql.document属性传递。这可能包含敏感信息,默认情况下禁用。 false 实验性
最后修改 December 13, 2023: improve glossary translation (46f8201b)