Instrumentación disponible
La instrumentación automática de OpenTelemetry .NET es compatible con una amplia variedad de librerías.
Instrumentación
Todas las instrumentaciones están habilitadas de forma predeterminada para todos los tipos de señales (trazas, métricas y logs).
Para desactivar todas las instrumentaciones para un tipo de señal específico
estableciendo la variable de entorno
OTEL_DOTNET_AUTO_{SIGNAL}_INSTRUMENTATION_ENABLED en false.
Para un enfoque más detallado, puedes desactivar instrumentaciones específicas
para un tipo de señal determinado estableciendo la variable de entorno
OTEL_DOTNET_AUTO_{SIGNAL}_{0}_INSTRUMENTATION_ENABLED en false, donde
{SIGNAL} es el tipo de señal, por ejemplo, TRACES, y {0} es el nombre de
la instrumentación, que distingue entre mayúsculas y minúsculas.
| Variable de entorno | Descripción | Valor predeterminado | Estado |
|---|---|---|---|
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Habilita todas las instrumentaciones. | true | Experimental |
OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED | Habilita todas las instrumentaciones de trazas. Sobrescribe OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED. | Heredado del valor actual de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Experimental |
OTEL_DOTNET_AUTO_TRACES_{0}_INSTRUMENTATION_ENABLED | Patrón de configuración para habilitar una instrumentación de traza específica, donde {0} es el ID en mayúsculas de la instrumentación que desea habilitar. Sobrescribe OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED. | Heredado del valor actual de OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED | Experimental |
OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED | Desactiva todas las instrumentaciones de métricas. Sobrescribe OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED. | Heredado del valor actual de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Experimental |
OTEL_DOTNET_AUTO_METRICS_{0}_INSTRUMENTATION_ENABLED | Patrón de configuración para habilitar una instrumentación métrica específica, donde {0} es el ID en mayúsculas de la instrumentación que desea habilitar. Sobrescribe OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED. | Heredado del valor actual de OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED. | Experimental |
OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED | Desactiva todas las instrumentaciones de logs. Sobrescribe OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED. | Heredado del valor actual de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Experimental |
OTEL_DOTNET_AUTO_LOGS_{0}_INSTRUMENTATION_ENABLED | Patrón de configuración para habilitar una instrumentación de logs específica, donde {0} es el ID en mayúsculas de la instrumentación que desea habilitar. Sobrescribe OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED. | Inherited from the current value of OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED | Experimental |
Instrumentación de Trazas
Estado: Mixto. Las trazas son estables, pero algunas librerías de instrumentación están en estado Experimental debido a la falta de una convención semántica estable.
| ID | Librería instrumentada | Versiones compatibles | Tipo de instrumentación | Estado |
|---|---|---|---|---|
ASPNET | ASP.NET (.NET Framework) MVC / WebApi [1] No compatible con .NET | * [2] | código fuente y bytecode | Experimental |
ASPNETCORE | ASP.NET Core No compatible con .NET Framework | * | código fuente | Experimental |
AZURE | Azure SDK | [3] | código fuente | Experimental |
ELASTICSEARCH | Elastic.Clients.Elasticsearch | * [4] | código fuente | Experimental |
ELASTICTRANSPORT | Elastic.Transport | ≥0.4.16 | código fuente | Experimental |
ENTITYFRAMEWORKCORE | Microsoft.EntityFrameworkCore No compatible con .NET Framework | ≥6.0.12 | código fuente | Experimental |
GRAPHQL | GraphQL No compatible con .NET Framework | ≥7.5.0 | código fuente | Experimental |
GRPCNETCLIENT | Grpc.Net.Client | ≥2.52.0 & < 3.0.0 | código fuente | Experimental |
HTTPCLIENT | System.Net.Http.HttpClient y System.Net.HttpWebRequest | * | código fuente | Experimental |
KAFKA | Confluent.Kafka | ≥1.4.0 & < 3.0.0 [5] | bytecode | Experimental |
MASSTRANSIT | MassTransit No compatible con .NET Framework | ≥8.0.0 | código fuente | Experimental |
MONGODB | MongoDB.Driver.Core / MongoDB.Driver | ≥2.7.0 < 4.0.0 | bytecode | Experimental |
MYSQLCONNECTOR | MySqlConnector | ≥2.0.0 | código fuente | Experimental |
MYSQLDATA | MySql.Data No compatible con .NET Framework | ≥8.1.0 | código fuente | Experimental |
NPGSQL | Npgsql | ≥6.0.0 | código fuente | Experimental |
NSERVICEBUS | NServiceBus | ≥8.0.0 & < 10.0.0 | código fuente y bytecode | Experimental |
ORACLEMDA | Oracle.ManagedDataAccess.Core y Oracle.ManagedDataAccess No compatible con ARM64 | ≥23.4.0 | código fuente | Experimental |
RABBITMQ | RabbitMQ.Client | ≥6.0.0 | código fuente o bytecode [6] | Experimental |
QUARTZ | Quartz No compatible con .NET Framework 4.7.1 y versiones anteriores | ≥3.4.0 | código fuente | Experimental |
SQLCLIENT | Microsoft.Data.SqlClient, System.Data.SqlClient [7] y System.Data (incluido en .NET Framework) | * [8] | código fuente | Experimental |
STACKEXCHANGEREDIS | StackExchange.Redis No compatible con .NET Framework | ≥2.6.122 & < 3.0.0 | código fuente y bytecode | Experimental |
WCFCLIENT | WCF | * | código fuente y bytecode | Experimental |
WCFSERVICE | WCF No compatible con .NET. | * | código fuente y bytecode | Experimental |
[1]: Solo está soportado el modo de canalización integrada.
[2]: ASP.NET (.NET Framework) MVC / WebApi no es compatible con ARM64.
[3]: Paquetes con prefijo Azure publicados después del 1 de octubre de 2021.
[4]: Elastic.Clients.Elasticsearch versión ≥8.0.0 y <8.10.0. La versión
≥8.10.0 es compatible con la instrumentación de Elastic.Transport.
[5]: Confluent.Kafka es compatible con la versión ≥1.8.2 en ARM64.
[6]: RabbitMq.Client necesita instrumentación de bytecode solo para
versiones 6.. Las versiones 7.0.0+ utilizan únicamente instrumentación de
código fuente.
[7]: System.Data.SqlClient está
en desuso.
[8]: Microsoft.Data.SqlClient v3.* no es compatible con .NET Framework,
debido al
error.
System.Data.SqlClient es compatible desde la versión 4.8.5.
Instrumentación de métricas
Estado: Mixto. Las métricas son estables, pero algunas instrumentaciones están en estado Experimental debido a la falta de una convención semántica estable.
| ID | Librería instrumentada | Documentación | Versiones compatibles | Tipo de instrumentación | Estado |
|---|---|---|---|---|---|
ASPNET | ASP.NET Framework [1] No compatible con .NET | Métricas de ASP.NET | * | código fuente y bytecode | Experimental |
ASPNETCORE | ASP.NET Core No compatible con .NET Framework | Métricas de ASP.NET Core | * | código fuente | Experimental |
HTTPCLIENT | System.Net.Http.HttpClient y System.Net.HttpWebRequest | Métricas de HttpClient | * | código fuente | Experimental |
NETRUNTIME | OpenTelemetry.Instrumentation.Runtime | Métricas de Runtime | * | código fuente | Experimental |
NPGSQL | Npgsql No compatible con .NET Framework | Métricas de Npgsql | ≥6.0.0 | código fuente | Experimental |
NSERVICEBUS | NServiceBus | Métricas de NServiceBus | ≥8.0.0 & < 10.0.0 | código fuente y bytecode | Experimental |
PROCESS | OpenTelemetry.Instrumentation.Process | Métricas de Process | * | código fuente | Experimental |
SQLCLIENT | Microsoft.Data.SqlClient, System.Data.SqlClient [2] y System.Data (incluido en .NET Framework) | Métricas de SqlClient | * [3] | código fuente | Experimental |
[1]: Las métricas de ASP.NET se generan solo si la instrumentación de trazas
AspNet también está habilitada.
[2]: System.Data.SqlClient está
en desuso.
[3]: Microsoft.Data.SqlClient v3.* no es compatible con .NET Framework,
debido al
error.
System.Data.SqlClient es compatible desde la versión 4.8.5.
Instrumentación de logs
Estado: Experimental.
| ID | Librería instrumentada | Versiones compatibles | Tipo de instrumentación | Estado |
|---|---|---|---|---|
ILOGGER | Microsoft.Extensions.Logging No compatible con .NET Framework | ≥9.0.0 | bytecode or código fuente [1] | Experimental |
LOG4NET | log4net | ≥2.0.13 && < 4.0.0 | bytecode | Experimental |
[1]: Para aplicaciones ASP.NET Core, la instrumentación LoggingBuilder
puede habilitarse sin usar el Profiler CLR de .NET mediante la configuración de
la variable de entorno ASPNETCORE_HOSTINGSTARTUPASSEMBLIES como
OpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper.
Opciones de instrumentación
| Variable de entorno | Descripción | Valor predeterminado | Estado |
|---|---|---|---|
OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXT | Define si la instrumentación de Entity Framework Core puede transmitir sentencias SQL a través del atributo db.statement. Las consultas pueden contener información sensible. Si se establece en false, db.statement solo se registra para la ejecución de procedimientos almacenados. | false | Experimental |
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT | Define si la instrumentación de GraphQL puede transmitir consultas sin procesar a través del atributo graphql.document. Las consultas pueden contener información sensible. | false | Experimental |
OTEL_DOTNET_AUTO_ORACLEMDA_SET_DBSTATEMENT_FOR_TEXT | Define si la instrumentación del Cliente Oracle puede transmitir sentencias SQL a través del atributo db.statement. Las consultas pueden contener información sensible. Si se establece en false, db.statement solo se registra para la ejecución de procedimientos almacenados. | false | Experimental |
OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXT | Define si la instrumentación de SQL Client puede transmitir sentencias SQL a través del atributo db.statement. Las consultas pueden contener información sensible. Si se establece en false, db.statement solo se registra para la ejecución de procedimientos almacenados. No compatible con System.Data.SqlClient en .NET Framework. | false | Experimental |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de ASP.NET capturarán los valores de las cabeceras HTTP de las solicitudes para todos los nombres de cabeceras configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de ASP.NET capturarán los valores de las cabeceras HTTP de las respuestas para todos los nombres de cabeceras configurados. No compatible con el modo clásico de IIS | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de ASP.NET Core capturarán los valores de las cabeceras HTTP de las respuestas para todos los nombres de cabeceras configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de ASP.NET Core capturarán los valores de las cabeceras HTTP de las respuestas para todos los nombres de cabeceras configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_REQUEST_METADATA | Una lista de nombres de metadatos gRPC separados por comas. Las instrumentaciones de Grpc.Net.Client capturarán los valores de los metadatos de solicitud gRPC para todos los nombres de metadatos configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_RESPONSE_METADATA | Una lista de nombres de metadatos gRPC separados por comas. Las instrumentaciones de Grpc.Net.Client capturarán los valores de los metadatos de respuesta gRPC para todos los nombres de metadatos configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de Cliente HTTP capturarán los valores de las cabeceras HTTP de las solicitudes para todos los nombres de cabeceras configurados. | Experimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Una lista de nombres de cabeceras HTTP separados por comas. Las instrumentaciones de Cliente HTTP capturarán los valores de las cabeceras HTTP de las respuestas para todos los nombres de cabeceras configurados. | Experimental | |
OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION | Define si la instrumentación de ASP.NET Core desactiva la redacción del valor del atributo url.query. | false | Experimental |
OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTION | Define si la instrumentación del Cliente HTTP desactiva la redacción del valor del atributo url.full. | false | Experimental |
OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTION | Define si la instrumentación de ASP.NET desactiva la redacción del valor del atributo url.query. | false | Experimental |
Comentarios
¿Fue útil esta página?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!