Instrumentations disponibles
L’instrumentation Zero-code OpenTelemetry pour .NET supporte une grande variété de bibliothèques.
Instrumentations
Toutes les instrumentations sont activées par défaut pour tous les types de signaux (traces, métriques et logs).
Vous pouvez désactiver toutes les instrumentations pour un type de signal
spécifique en définissant la variable d’environnement
OTEL_DOTNET_AUTO_{SIGNAL}_INSTRUMENTATION_ENABLED
à false
.
Pour une approche plus granulaire, vous pouvez désactiver des instrumentations
spécifiques pour un type de signal donné en définissant la variable
d’environnement OTEL_DOTNET_AUTO_{SIGNAL}_{0}_INSTRUMENTATION_ENABLED
à
false
, où {SIGNAL}
est le type de signal, par exemple TRACES
, et {0}
est
le nom sensible à la casse de l’instrumentation.
Variable d’environnement | Description | Valeur par défaut | Statut |
---|---|---|---|
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Active toutes les instrumentations. | true | Expérimental |
OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED | Active toutes les instrumentations de traces. Remplace OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Expérimental |
OTEL_DOTNET_AUTO_TRACES_{0}_INSTRUMENTATION_ENABLED | Modèle de configuration pour activer une instrumentation de trace spécifique, où {0} est l’ID en majuscules de l’instrumentation que vous voulez activer. Remplace OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED | Expérimental |
OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED | Désactive toutes les instrumentations de métriques. Remplace OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Expérimental |
OTEL_DOTNET_AUTO_METRICS_{0}_INSTRUMENTATION_ENABLED | Modèle de configuration pour activer une instrumentation de métrique spécifique, où {0} est l’ID en majuscules de l’instrumentation que vous voulez activer. Remplace OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED | Expérimental |
OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED | Désactive toutes les instrumentations de logs. Remplace OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | Expérimental |
OTEL_DOTNET_AUTO_LOGS_{0}_INSTRUMENTATION_ENABLED | Modèle de configuration pour activer une instrumentation de log spécifique, où {0} est l’ID en majuscules de l’instrumentation que vous voulez activer. Remplace OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED . | Héritée de la valeur actuelle de OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED | Expérimental |
Instrumentations de traces
Statut : Mixte. Les traces sont stables, mais certaines bibliothèques d’instrumentation sont en statut Expérimental en raison de l’absence de convention sémantique stable.
ID | Bibliothèque instrumentée | Versions supportées | Type d’instrumentation | Statut |
---|---|---|---|---|
ASPNET | ASP.NET (.NET Framework) MVC / WebApi [1] Non supporté sur .NET | * [2] | source & bytecode | Expérimental |
ASPNETCORE | ASP.NET Core Non supporté sur .NET Framework | * | source | Expérimental |
AZURE | Azure SDK | [3] | source | Expérimental |
ELASTICSEARCH | Elastic.Clients.Elasticsearch | * [4] | source | Expérimental |
ELASTICTRANSPORT | Elastic.Transport | ≥0.4.16 | source | Expérimental |
ENTITYFRAMEWORKCORE | Microsoft.EntityFrameworkCore Non supporté sur .NET Framework | ≥6.0.12 | source | Expérimental |
GRAPHQL | GraphQL Non supporté sur .NET Framework | ≥7.5.0 | source | Expérimental |
GRPCNETCLIENT | Grpc.Net.Client | ≥2.52.0 & < 3.0.0 | source | Expérimental |
HTTPCLIENT | System.Net.Http.HttpClient et System.Net.HttpWebRequest | * | source | Expérimental |
KAFKA | Confluent.Kafka | ≥1.4.0 & < 3.0.0 [5] | bytecode | Expérimental |
MASSTRANSIT | MassTransit Non supporté sur .NET Framework | ≥8.0.0 | source | Expérimental |
MONGODB | MongoDB.Driver.Core / MongoDB.Driver | ≥2.7.0 < 4.0.0 | bytecode | Expérimental |
MYSQLCONNECTOR | MySqlConnector | ≥2.0.0 | source | Expérimental |
MYSQLDATA | MySql.Data Non supporté sur .NET Framework | ≥8.1.0 | source | Expérimental |
NPGSQL | Npgsql | ≥6.0.0 | source | Expérimental |
NSERVICEBUS | NServiceBus | ≥8.0.0 & < 10.0.0 | source & bytecode | Expérimental |
ORACLEMDA | Oracle.ManagedDataAccess.Core et Oracle.ManagedDataAccess Non supporté sur ARM64 | ≥23.4.0 | source | Expérimental |
RABBITMQ | RabbitMQ.Client | ≥6.0.0 | source ou bytecode [6] | Expérimental |
QUARTZ | Quartz Non supporté sur .NET Framework 4.7.1 et antérieur | ≥3.4.0 | source | Expérimental |
SQLCLIENT | Microsoft.Data.SqlClient, System.Data.SqlClient [7] et System.Data (livré avec .NET Framework) | * [8] | source | Expérimental |
STACKEXCHANGEREDIS | StackExchange.Redis Non supporté sur .NET Framework | ≥2.6.122 & < 3.0.0 | source & bytecode | Expérimental |
WCFCLIENT | WCF | * | source & bytecode | Expérimental |
WCFSERVICE | WCF Non supporté sur .NET. | * | source & bytecode | Expérimental |
[1] : Seul le mode pipeline intégré est supporté.
[2] : ASP.NET (.NET Framework) MVC / WebApi
n’est pas supporté sur ARM64.
[3] : Paquets préfixés par Azure.
, publiés après le 1er octobre 2021.
[4] : Elastic.Clients.Elasticsearch
version ≥8.0.0 et <8.10.0. La version
≥8.10.0 est supportée par l’instrumentation Elastic.Transport
.
[5] : Confluent.Kafka
est supporté à partir de la version ≥1.8.2 sur ARM64.
[6] : RabbitMq.Client
nécessite l’instrumentation bytecode seulement pour la
versions 6 et toutes ses versions mineures. La version 7.0.0+ utilise seulement
l’instrumentation source.
[7] : System.Data.SqlClient
est
déprécié.
[8] : Microsoft.Data.SqlClient
v3.* n’est pas supporté sur .NET Framework.
Vous pouvez voir la raison du
problème.
System.Data.SqlClient
est supporté à partir de la version 4.8.5.
Instrumentations de métriques
Statut : Mixte. Les métriques sont stables, mais certaines instrumentations sont en statut Expérimental en raison de l’absence de convention sémantique stable.
ID | Bibliothèque instrumentée | Documentation | Versions supportées | Type d’instrumentation | Statut |
---|---|---|---|---|---|
ASPNET | ASP.NET Framework [1] Non supporté sur .NET | Métriques ASP.NET | * | source & bytecode | Expérimental |
ASPNETCORE | ASP.NET Core Non supporté sur .NET Framework | Métriques ASP.NET Core | * | source | Expérimental |
HTTPCLIENT | System.Net.Http.HttpClient et System.Net.HttpWebRequest | Métriques HttpClient | * | source | Expérimental |
NETRUNTIME | OpenTelemetry.Instrumentation.Runtime | Métriques Runtime | * | source | Expérimental |
NSERVICEBUS | NServiceBus | Métriques NServiceBus | ≥8.0.0 & < 10.0.0 | source & bytecode | Expérimental |
PROCESS | OpenTelemetry.Instrumentation.Process | Métriques Process | * | source | Expérimental |
SQLCLIENT | Microsoft.Data.SqlClient, System.Data.SqlClient [2] et System.Data (livré avec .NET Framework) | Métriques SqlClient | * [3] | source | Expérimental |
[1] : Les métriques ASP.NET sont générées seulement si l’instrumentation de
trace AspNet
est également activée.
[2] : System.Data.SqlClient
est
déprécié.
[3] : Microsoft.Data.SqlClient
v3.* n’est pas supporté sur .NET Framework,
en raison du
problème.
System.Data.SqlClient
est supporté à partir de la version 4.8.5.
Instrumentations de logs
Statut : Expérimental.
ID | Bibliothèque instrumentée | Versions supportées | Type d’instrumentation | Statut |
---|---|---|---|---|
ILOGGER | Microsoft.Extensions.Logging Non supporté sur .NET Framework | ≥9.0.0 | bytecode ou source [1] | Expérimental |
LOG4NET | log4net | ≥2.0.13 && < 4.0.0 | bytecode | Expérimental |
[1] : Pour les applications ASP.NET Core, l’instrumentation LoggingBuilder
peut être activée sans utiliser le Profiler .NET CLR en définissant la variable
d’environnement ASPNETCORE_HOSTINGSTARTUPASSEMBLIES
à
OpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper
.
Options d’instrumentation
Variable d’environnement | Description | Valeur par défaut | Statut |
---|---|---|---|
OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXT | L’instrumentation Entity Framework Core peut passer les instructions SQL via l’attribut db.statement . Les requêtes peuvent contenir des informations sensibles. Si défini à false , db.statement est enregistré seulement pour l’exécution de procédures stockées. | false | Expérimental |
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT | L’instrumentation GraphQL peut passer les requêtes brutes via l’attribut graphql.document . Les requêtes peuvent contenir des informations sensibles. | false | Expérimental |
OTEL_DOTNET_AUTO_ORACLEMDA_SET_DBSTATEMENT_FOR_TEXT | L’instrumentation Oracle Client peut passer les instructions SQL via l’attribut db.statement . Les requêtes peuvent contenir des informations sensibles. Si défini à false , db.statement est enregistré seulement pour l’exécution de procédures stockées. | false | Expérimental |
OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXT | L’instrumentation SQL Client peut passer les instructions SQL via l’attribut db.statement . Les requêtes peuvent contenir des informations sensibles. Si défini à false , db.statement est enregistré seulement pour l’exécution de procédures stockées. Non supporté sur .NET Framework pour System.Data.SqlClient. | false | Expérimental |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations ASP.NET captureront les valeurs d’en-têtes de requête HTTP pour tous les noms d’en-têtes configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations ASP.NET captureront les valeurs d’en-têtes de réponse HTTP pour tous les noms d’en-têtes configurés. Non supporté sur le mode IIS Classic. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations ASP.NET Core captureront les valeurs d’en-têtes de requête HTTP pour tous les noms d’en-têtes configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations ASP.NET Core captureront les valeurs d’en-têtes de réponse HTTP pour tous les noms d’en-têtes configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_REQUEST_METADATA | Une liste séparée par des virgules de noms de métadonnées gRPC. Les instrumentations Grpc.Net.Client captureront les valeurs de métadonnées de requête gRPC pour tous les noms de métadonnées configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_RESPONSE_METADATA | Une liste séparée par des virgules de noms de métadonnées gRPC. Les instrumentations Grpc.Net.Client captureront les valeurs de métadonnées de réponse gRPC pour tous les noms de métadonnées configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations HTTP Client captureront les valeurs d’en-têtes de requête HTTP pour tous les noms d’en-têtes configurés. | Expérimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | Une liste séparée par des virgules de noms d’en-têtes HTTP. Les instrumentations HTTP Client captureront les valeurs d’en-têtes de réponse HTTP pour tous les noms d’en-têtes configurés. | Expérimental | |
OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION | L’instrumentation ASP.NET Core désactive l’offuscation de la valeur de l’attribut url.query . | false | Expérimental |
OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTION | L’instrumentation HTTP client désactive l’offuscation de la valeur de l’attribut url.full . | false | Expérimental |
OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTION | L’instrumentation ASP.NET désactive l’offuscation de la valeur de l’attribut url.query . | false | Expérimental |
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!