利用可能な計装
OpenTelemetry .NET 自動計装は、さまざまなライブラリをサポートしています。
計装
すべての計装は、すべてのシグナルタイプ(トレース、メトリクス、ログ)に対してデフォルトで有効になっています。
特定のシグナルタイプに対するすべての計装を無効にするには、環境変数 OTEL_DOTNET_AUTO_{SIGNAL}_INSTRUMENTATION_ENABLED を false に設定します。
より細かく制御するには、特定のシグナルタイプに対する個別の計装を無効にすることもできます。
環境変数 OTEL_DOTNET_AUTO_{SIGNAL}_{0}_INSTRUMENTATION_ENABLED を false に設定してください。
ここで {SIGNAL} はシグナルのタイプ(例: TRACES)、{0} は大文字小文字を区別する計装の名前です。
| 環境変数 | 説明 | デフォルト値 | ステータス |
|---|---|---|---|
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED | すべての計装を有効にします。 | true | Experimental |
OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED | すべてのトレース計装を有効にします。OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
OTEL_DOTNET_AUTO_TRACES_{0}_INSTRUMENTATION_ENABLED | 特定のトレース計装を有効にするための設定パターンです。{0} は有効にしたい計装の大文字の ID です。OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED | すべてのメトリクス計装を無効にします。OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
OTEL_DOTNET_AUTO_METRICS_{0}_INSTRUMENTATION_ENABLED | 特定のメトリクス計装を有効にするための設定パターンです。{0} は有効にしたい計装の大文字の ID です。OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED | すべてのログ計装を無効にします。OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
OTEL_DOTNET_AUTO_LOGS_{0}_INSTRUMENTATION_ENABLED | 特定のログ計装を有効にするための設定パターンです。{0} は有効にしたい計装の大文字の ID です。OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED を上書きします。 | OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED の現在の値を継承 | Experimental |
トレース計装
ステータス: Mixed。 トレースは安定版ですが、安定したセマンティック規約がないため、個々の計装ライブラリは Experimental ステータスです。
| ID | 計装対象ライブラリ | サポートバージョン | 計装タイプ | ステータス |
|---|---|---|---|---|
ADONET | ADO.NET [1] | [2] | バイトコード | Experimental |
ASPNET | ASP.NET (.NET Framework) MVC / WebApi [3] .NET ではサポートされていません | * [4] | ソースおよびバイトコード | Experimental |
ASPNETCORE | ASP.NET Core .NET Framework ではサポートされていません | * | ソース | Experimental |
AZURE | Azure SDK | [5] | ソース | Experimental |
ELASTICSEARCH | Elastic.Clients.Elasticsearch | * [6] | ソース | Experimental |
ELASTICTRANSPORT | Elastic.Transport | ≥0.4.16 | ソース | Experimental |
ENTITYFRAMEWORKCORE | Microsoft.EntityFrameworkCore .NET Framework ではサポートされていません | ≥6.0.12 | ソース | Experimental |
GRAPHQL | GraphQL .NET Framework ではサポートされていません | ≥7.5.0 | ソース | Experimental |
GRPCNETCLIENT | Grpc.Net.Client | ≥2.52.0 & < 3.0.0 | ソース | Experimental |
HTTPCLIENT | System.Net.Http.HttpClient および System.Net.HttpWebRequest | * | ソース | Experimental |
KAFKA | Confluent.Kafka | ≥1.4.0 & < 3.0.0 [7] | バイトコード | Experimental |
MASSTRANSIT | MassTransit .NET Framework ではサポートされていません | ≥8.0.0 | ソース | Experimental |
MONGODB | MongoDB.Driver.Core / MongoDB.Driver | ≥2.7.0 | ソースまたはバイトコード [8] | Experimental |
MYSQLCONNECTOR | MySqlConnector | ≥2.0.0 | ソース | Experimental |
MYSQLDATA | MySql.Data .NET Framework ではサポートされていません | ≥8.1.0 | ソース | Experimental |
NPGSQL | Npgsql | ≥6.0.0 | ソース | Experimental |
NSERVICEBUS | NServiceBus | ≥8.0.0 & < 10.0.0 | ソースおよびバイトコード | Experimental |
ORACLEMDA | Oracle.ManagedDataAccess.Core および Oracle.ManagedDataAccess ARM64 ではサポートされていません | ≥23.4.0 | ソース | Experimental |
RABBITMQ | RabbitMQ.Client | ≥5.0.0 | ソースまたはバイトコード [9] | Experimental |
QUARTZ | Quartz .NET Framework 4.7.1 以前ではサポートされていません | ≥3.4.0 | ソース | Experimental |
SQLCLIENT | Microsoft.Data.SqlClient、System.Data.SqlClient [10] および System.Data(.NET Framework に同梱) | * [11] | ソース | Experimental |
SQLITE | Microsoft.Data.Sqlite | ≥8.0.0 & < 11.0.0 | バイトコード | Experimental |
STACKEXCHANGEREDIS | StackExchange.Redis | ≥2.6.122 & < 3.0.0 | ソースおよびバイトコード | Experimental |
WCFCLIENT | WCF | * | ソースおよびバイトコード | Experimental |
WCFCORE | CoreWCF.Primitives .NET Framework ではサポートされていません | ≥1.8.0 | ソース | Experimental |
WCFSERVICE | WCF .NET ではサポートされていません。 | * | ソースおよびバイトコード | Experimental |
[1]: DbCommand メソッドをカバーする汎用的な ADO.NET 計装です。
オーバーライドされたメソッドの実装のみをカバーします。
通常、多くの実装は C# の new キーワードを利用しているため、そのようなケースには固有の実装が必要です。
この計装は、SQLCLIENT、NPGSQL、MYSQLDATA、MYSQLCONNECTOR、ORACLEMDA、SQLITE などの固有の計装でカバーされるライブラリは対象外です。
[2]: System.Data.Common(≥4.0.0 および <11.0.0)、.NET Framework 用の System.Data(≥2.0.0 および <5.0.0)、および netstandard(≥2.0.0 および <3.0.0)をサポートしています。
[3]: 統合パイプラインモードのみサポートされています。
[4]: ASP.NET (.NET Framework) MVC / WebApi は ARM64 ではサポートされていません。
[5]: 2021年10月1日以降にリリースされた Azure. 接頭辞のパッケージ。
[6]: Elastic.Clients.Elasticsearch バージョン ≥8.0.0 および <8.10.0。
バージョン ≥8.10.0 は Elastic.Transport 計装でサポートされます。
[7]: Confluent.Kafka は、Windows および Linux の ARM64 ではバージョン ≥1.8.2 から、macOS では ≥1.9.2 からサポートされています。
[8]: MongoDB.Driver は 3.7.0 未満のバージョンでのみバイトコード計装が必要です。
3.7.0+ ではソース計装のみを使用します。
[9]: RabbitMq.Client は 5.* および 6.* バージョンでのみバイトコード計装が必要です。
7.0.0+ ではソース計装のみを使用します。
[10]: System.Data.SqlClient は非推奨です。
[11]: Microsoft.Data.SqlClient v3.* は、イシューにより .NET Framework ではサポートされていません。
System.Data.SqlClient はバージョン 4.8.5 からサポートされています。
メトリクス計装
ステータス: Mixed。 メトリクスは安定版ですが、安定したセマンティック規約がないため、個々の計装は Experimental ステータスです。
| ID | 計装対象ライブラリ | ドキュメント | サポートバージョン | 計装タイプ | ステータス |
|---|---|---|---|---|---|
ASPNET | ASP.NET Framework [1] .NET ではサポートされていません | ASP.NET metrics | * | ソースおよびバイトコード | Experimental |
ASPNETCORE | ASP.NET Core .NET Framework ではサポートされていません | ASP.NET Core metrics | * | ソース | Experimental |
HTTPCLIENT | System.Net.Http.HttpClient および System.Net.HttpWebRequest | HttpClient metrics | * | ソース | Experimental |
NETRUNTIME | OpenTelemetry.Instrumentation.Runtime | Runtime metrics | * | ソース | Experimental |
NPGSQL | Npgsql .NET Framework ではサポートされていません | Npgsql metrics | ≥6.0.0 | ソース | Experimental |
NSERVICEBUS | NServiceBus | NServiceBus metrics | ≥8.0.0 & < 10.0.0 | ソースおよびバイトコード | Experimental |
PROCESS | OpenTelemetry.Instrumentation.Process | Process metrics | * | ソース | Experimental |
SQLCLIENT | Microsoft.Data.SqlClient、System.Data.SqlClient [2] および System.Data(.NET Framework に同梱) | SqlClient metrics | * [3] | ソース | Experimental |
[1]: ASP.NET メトリクスは、AspNet トレース計装も有効な場合にのみ生成されます。
[2]: System.Data.SqlClient は非推奨です。
[3]: Microsoft.Data.SqlClient v3.* は、イシューにより .NET Framework ではサポートされていません。
System.Data.SqlClient はバージョン 4.8.5 からサポートされています。
ログ計装
ステータス: Experimental。
| ID | 計装対象ライブラリ | サポートバージョン | 計装タイプ | ステータス |
|---|---|---|---|---|
ILOGGER | Microsoft.Extensions.Logging .NET Framework ではサポートされていません | ≥8.0.0 | バイトコードまたはソース [1] | Experimental |
LOG4NET | log4net [2] | ≥2.0.13 && < 4.0.0 | バイトコード | Experimental |
NLOG | NLog [2] | ≥5.0.0 && < 7.0.0 | バイトコード | Experimental |
[1]: ASP.NET Core アプリケーションでは、環境変数 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES を OpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper に設定することで、.NET CLR プロファイラーを使用せずに LoggingBuilder 計装を有効にできます。
[2]: この計装はトレースコンテキスト注入とログブリッジの両方を提供します。
計装オプション
| 環境変数 | 説明 | デフォルト値 | ステータス |
|---|---|---|---|
OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXT | Entity Framework Core 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。 | false | Experimental |
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT | GraphQL 計装が graphql.document 属性を通じて生のクエリを渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。 | false | Experimental |
OTEL_DOTNET_AUTO_ORACLEMDA_SET_DBSTATEMENT_FOR_TEXT | Oracle Client 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。 | false | Experimental |
OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXT | SQL Client 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。System.Data.SqlClient では .NET Framework でサポートされていません。 | false | Experimental |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。ASP.NET 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。ASP.NET 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。IIS クラシックモードではサポートされていません。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。ASP.NET Core 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。ASP.NET Core 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_REQUEST_METADATA | gRPC メタデータ名のカンマ区切りリスト。Grpc.Net.Client 計装は、設定されたすべてのメタデータ名に対して gRPC リクエストメタデータの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_RESPONSE_METADATA | gRPC メタデータ名のカンマ区切りリスト。Grpc.Net.Client 計装は、設定されたすべてのメタデータ名に対して gRPC レスポンスメタデータの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_REQUEST_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。HTTP Client 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERS | HTTP ヘッダー名のカンマ区切りリスト。HTTP Client 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。 | Experimental | |
OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION | ASP.NET Core 計装が url.query 属性値のリダクションを無効にするかどうかを制御します。 | false | Experimental |
OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTION | HTTP Client 計装が url.full 属性値のリダクションを無効にするかどうかを制御します。 | false | Experimental |
OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTION | ASP.NET 計装が url.query 属性値のリダクションを無効にするかどうかを制御します。 | false | Experimental |
OTEL_DOTNET_AUTO_SQLCLIENT_NETFX_ILREWRITE_ENABLED | [1] | false | Experimental |
[1]: .NET Framework 上の SqlCommand の IL リライトを有効にし、SqlClient 計装で db.query.text および db.query.summary が設定されるために必要な CommandText が利用可能であることを保証します。
以前は CommandText はストアドプロシージャに対してのみ利用可能でした。
この設定を有効にすると、生のクエリに対しても利用可能になります。
これにより SqlEventSource が発行するイベントの動作が変更されます。
このメカニズムが使用されている場合、アプリケーションの他の部分に影響を与える可能性があります。
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!