利用可能な計装

OpenTelemetry .NET 自動計装がサポートするライブラリ。

OpenTelemetry .NET 自動計装は、さまざまなライブラリをサポートしています。

計装

すべての計装は、すべてのシグナルタイプ(トレース、メトリクス、ログ)に対してデフォルトで有効になっています。

特定のシグナルタイプに対するすべての計装を無効にするには、環境変数 OTEL_DOTNET_AUTO_{SIGNAL}_INSTRUMENTATION_ENABLEDfalse に設定します。

より細かく制御するには、特定のシグナルタイプに対する個別の計装を無効にすることもできます。 環境変数 OTEL_DOTNET_AUTO_{SIGNAL}_{0}_INSTRUMENTATION_ENABLEDfalse に設定してください。 ここで {SIGNAL} はシグナルのタイプ(例: TRACES)、{0} は大文字小文字を区別する計装の名前です。

環境変数説明デフォルト値ステータス
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLEDすべての計装を有効にします。trueExperimental
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計装対象ライブラリサポートバージョン計装タイプステータス
ADONETADO.NET [1][2]バイトコードExperimental
ASPNETASP.NET (.NET Framework) MVC / WebApi [3] .NET ではサポートされていません* [4]ソースおよびバイトコードExperimental
ASPNETCOREASP.NET Core .NET Framework ではサポートされていません*ソースExperimental
AZUREAzure SDK[5]ソースExperimental
ELASTICSEARCHElastic.Clients.Elasticsearch* [6]ソースExperimental
ELASTICTRANSPORTElastic.Transport≥0.4.16ソースExperimental
ENTITYFRAMEWORKCOREMicrosoft.EntityFrameworkCore .NET Framework ではサポートされていません≥6.0.12ソースExperimental
GRAPHQLGraphQL .NET Framework ではサポートされていません≥7.5.0ソースExperimental
GRPCNETCLIENTGrpc.Net.Client≥2.52.0 & < 3.0.0ソースExperimental
HTTPCLIENTSystem.Net.Http.HttpClient および System.Net.HttpWebRequest*ソースExperimental
KAFKAConfluent.Kafka≥1.4.0 & < 3.0.0 [7]バイトコードExperimental
MASSTRANSITMassTransit .NET Framework ではサポートされていません≥8.0.0ソースExperimental
MONGODBMongoDB.Driver.Core / MongoDB.Driver≥2.7.0ソースまたはバイトコード [8]Experimental
MYSQLCONNECTORMySqlConnector≥2.0.0ソースExperimental
MYSQLDATAMySql.Data .NET Framework ではサポートされていません≥8.1.0ソースExperimental
NPGSQLNpgsql≥6.0.0ソースExperimental
NSERVICEBUSNServiceBus≥8.0.0 & < 10.0.0ソースおよびバイトコードExperimental
ORACLEMDAOracle.ManagedDataAccess.Core および Oracle.ManagedDataAccess ARM64 ではサポートされていません≥23.4.0ソースExperimental
RABBITMQRabbitMQ.Client≥5.0.0ソースまたはバイトコード [9]Experimental
QUARTZQuartz .NET Framework 4.7.1 以前ではサポートされていません≥3.4.0ソースExperimental
SQLCLIENTMicrosoft.Data.SqlClientSystem.Data.SqlClient [10] および System.Data(.NET Framework に同梱)* [11]ソースExperimental
SQLITEMicrosoft.Data.Sqlite≥8.0.0 & < 11.0.0バイトコードExperimental
STACKEXCHANGEREDISStackExchange.Redis≥2.6.122 & < 3.0.0ソースおよびバイトコードExperimental
WCFCLIENTWCF*ソースおよびバイトコードExperimental
WCFCORECoreWCF.Primitives .NET Framework ではサポートされていません≥1.8.0ソースExperimental
WCFSERVICEWCF .NET ではサポートされていません*ソースおよびバイトコードExperimental

[1]: DbCommand メソッドをカバーする汎用的な ADO.NET 計装です。 オーバーライドされたメソッドの実装のみをカバーします。 通常、多くの実装は C# の new キーワードを利用しているため、そのようなケースには固有の実装が必要です。 この計装は、SQLCLIENTNPGSQLMYSQLDATAMYSQLCONNECTORORACLEMDASQLITE などの固有の計装でカバーされるライブラリは対象外です。

[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.Driver3.7.0 未満のバージョンでのみバイトコード計装が必要です。 3.7.0+ ではソース計装のみを使用します。

[9]: RabbitMq.Client5.* および 6.* バージョンでのみバイトコード計装が必要です。 7.0.0+ ではソース計装のみを使用します。

[10]: System.Data.SqlClient非推奨です。

[11]: Microsoft.Data.SqlClient v3.* は、イシューにより .NET Framework ではサポートされていません。 System.Data.SqlClient はバージョン 4.8.5 からサポートされています。

メトリクス計装

ステータス: Mixed。 メトリクスは安定版ですが、安定したセマンティック規約がないため、個々の計装は Experimental ステータスです。

ID計装対象ライブラリドキュメントサポートバージョン計装タイプステータス
ASPNETASP.NET Framework [1] .NET ではサポートされていませんASP.NET metrics*ソースおよびバイトコードExperimental
ASPNETCOREASP.NET Core .NET Framework ではサポートされていませんASP.NET Core metrics*ソースExperimental
HTTPCLIENTSystem.Net.Http.HttpClient および System.Net.HttpWebRequestHttpClient metrics*ソースExperimental
NETRUNTIMEOpenTelemetry.Instrumentation.RuntimeRuntime metrics*ソースExperimental
NPGSQLNpgsql .NET Framework ではサポートされていませんNpgsql metrics≥6.0.0ソースExperimental
NSERVICEBUSNServiceBusNServiceBus metrics≥8.0.0 & < 10.0.0ソースおよびバイトコードExperimental
PROCESSOpenTelemetry.Instrumentation.ProcessProcess metrics*ソースExperimental
SQLCLIENTMicrosoft.Data.SqlClientSystem.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計装対象ライブラリサポートバージョン計装タイプステータス
ILOGGERMicrosoft.Extensions.Logging .NET Framework ではサポートされていません≥8.0.0バイトコードまたはソース [1]Experimental
LOG4NETlog4net [2]≥2.0.13 && < 4.0.0バイトコードExperimental
NLOGNLog [2]≥5.0.0 && < 7.0.0バイトコードExperimental

[1]: ASP.NET Core アプリケーションでは、環境変数 ASPNETCORE_HOSTINGSTARTUPASSEMBLIESOpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper に設定することで、.NET CLR プロファイラーを使用せずに LoggingBuilder 計装を有効にできます。

[2]: この計装はトレースコンテキスト注入とログブリッジの両方を提供します。

計装オプション

環境変数説明デフォルト値ステータス
OTEL_DOTNET_AUTO_ENTITYFRAMEWORKCORE_SET_DBSTATEMENT_FOR_TEXTEntity Framework Core 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。falseExperimental
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENTGraphQL 計装が graphql.document 属性を通じて生のクエリを渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。falseExperimental
OTEL_DOTNET_AUTO_ORACLEMDA_SET_DBSTATEMENT_FOR_TEXTOracle Client 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。falseExperimental
OTEL_DOTNET_AUTO_SQLCLIENT_SET_DBSTATEMENT_FOR_TEXTSQL Client 計装が db.statement 属性を通じて SQL 文を渡せるかどうかを制御します。クエリには機密情報が含まれる場合があります。false に設定すると、db.statement はストアドプロシージャの実行時のみ記録されます。System.Data.SqlClient では .NET Framework でサポートされていません。falseExperimental
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_REQUEST_HEADERSHTTP ヘッダー名のカンマ区切りリスト。ASP.NET 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_ASPNET_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERSHTTP ヘッダー名のカンマ区切りリスト。ASP.NET 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。IIS クラシックモードではサポートされていません。Experimental
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_REQUEST_HEADERSHTTP ヘッダー名のカンマ区切りリスト。ASP.NET Core 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_ASPNETCORE_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERSHTTP ヘッダー名のカンマ区切りリスト。ASP.NET Core 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_REQUEST_METADATAgRPC メタデータ名のカンマ区切りリスト。Grpc.Net.Client 計装は、設定されたすべてのメタデータ名に対して gRPC リクエストメタデータの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_GRPCNETCLIENT_INSTRUMENTATION_CAPTURE_RESPONSE_METADATAgRPC メタデータ名のカンマ区切りリスト。Grpc.Net.Client 計装は、設定されたすべてのメタデータ名に対して gRPC レスポンスメタデータの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_REQUEST_HEADERSHTTP ヘッダー名のカンマ区切りリスト。HTTP Client 計装は、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします。Experimental
OTEL_DOTNET_AUTO_TRACES_HTTP_INSTRUMENTATION_CAPTURE_RESPONSE_HEADERSHTTP ヘッダー名のカンマ区切りリスト。HTTP Client 計装は、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします。Experimental
OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTIONASP.NET Core 計装が url.query 属性値のリダクションを無効にするかどうかを制御します。falseExperimental
OTEL_DOTNET_EXPERIMENTAL_HTTPCLIENT_DISABLE_URL_QUERY_REDACTIONHTTP Client 計装が url.full 属性値のリダクションを無効にするかどうかを制御します。falseExperimental
OTEL_DOTNET_EXPERIMENTAL_ASPNET_DISABLE_URL_QUERY_REDACTIONASP.NET 計装が url.query 属性値のリダクションを無効にするかどうかを制御します。falseExperimental
OTEL_DOTNET_AUTO_SQLCLIENT_NETFX_ILREWRITE_ENABLED[1]falseExperimental

[1]: .NET Framework 上の SqlCommand の IL リライトを有効にし、SqlClient 計装で db.query.text および db.query.summary が設定されるために必要な CommandText が利用可能であることを保証します。 以前は CommandText はストアドプロシージャに対してのみ利用可能でした。 この設定を有効にすると、生のクエリに対しても利用可能になります。 これにより SqlEventSource が発行するイベントの動作が変更されます。 このメカニズムが使用されている場合、アプリケーションの他の部分に影響を与える可能性があります。