.NET 分散トレース
分散トレースは、エンジニアがアプリケーション内の障害とパフォーマンスの問題 (特に複数のマシンまたはプロセスに分散される可能性がある問題) をローカライズするのに役立つ診断手法です。 この手法では、アプリケーションを介して要求を追跡し、異なるアプリケーション コンポーネントによって実行される作業を相互に関連付け、同時要求に対してアプリケーションが実行している可能性がある他の作業からそれを分離します。 たとえば、一般的な Web サービスへの要求は、最初にロード バランサーによって受信され、次に Web サーバー プロセスに転送され、データベースに対して複数のクエリが実行される場合があります。 分散トレースを使用すると、エンジニアは、これらのステップのいずれかが失敗したかどうか、各ステップにかかった時間、および各ステップが実行した時点で生成されたメッセージをログに記録する可能性があるかどうかを区別できます。
.NET アプリ開発者向けの入門
主要な .NET ライブラリは、分散トレース情報を自動的に生成するためにインストルメント化されます。 ただし、後で確認できるように、この情報を収集して保存する必要があります。 通常、アプリ開発者は、このトレース情報を格納するテレメトリ サービスを選択し、対応するライブラリを使用して、選択したサービスに分散トレース テレメトリを送信します。
- OpenTelemetry は、いくつかのサービスをサポートするベンダーに依存しないライブラリです。 詳細については、「OpenTelemetryを使用して分散トレースを収集する
を参照してください。 - Application Insights は、Microsoft が提供するフル機能のサービスです。 詳細については、「Application Insightsを使用して分散トレースを収集する
を参照してください。 - 統合された .NET ソリューションを提供する多くの高品質のサードパーティ アプリケーション パフォーマンス監視 (APM) ベンダーがあります。
詳細については、分散トレースの概念 と次のガイドを参照してください。
- カスタム ロジック を使用して分散トレースを収集する
- カスタム分散トレース インストルメンテーション の追加
サード パーティのテレメトリ収集サービスの場合は、ベンダーが提供するセットアップ手順に従います。
.NET によって出力される組み込みアクティビティ
.NET に組み込まれているアクティビティの包括的な一覧については、.NETの組み込みアクティビティ
.NET ライブラリ開発者向け入門
.NET ライブラリは、テレメトリの最終的な収集方法に関係する必要はありません。生成方法に限られます。 ライブラリのコンシューマーが分散トレースで詳しく説明されている作業を確認できるようにする場合は、分散トレース インストルメンテーションを追加してサポートします。
詳細については、「分散トレースの概念 理解する」および「カスタム分散トレース インストルメンテーションの追加」 ガイドを参照してください。
.NET