分散トレースを使用すると、分散システム全体でのリクエストの全過程を確認できます。.NETエージェントの場合、2種類の分散トレースを提供します(詳細については、 スパンサンプリングのしくみを参照してください)。
標準(ヘッドベースのサンプリング):トレースが到着する前に、受け入れて分析するトレースの設定パーセンテージを決定します。これにより、トレースがどのように役立つかを確認するための確実な出発点が得られます。.NETエージェント9.0.0.0以降ではデフォルトでオンになっています。
Infinite Tracing (tailベースサンプリング): 当社のクラウドベースのサービスは、すべてのトレースを受け入れ、それらを並べ替えて最も重要なものを見つけます。 Infinite tracing はすべてのトレースを分析し、最も重要なトレースをサンプリングするための設定オプションを提供します。
標準のディストリビューティッド(分散)トレーシング (ヘッドベースサンプリング) を試したい場合でも、無限トレーシング (テールベースサンプリング) もセットアップしたい場合でも、まず標準トレーシングをセットアップする必要があります。
標準の分散トレース
サービスに エージェントをまだインストールしていない場合、これが標準のディストリビューティッド(分散)トレーシング を設定するための最良の方法です。APM
ヒント
New Relic .NET エージェントをインストールすると、標準のディストリビューティッド(分散)トレーシングがデフォルトで有効になります。 オフにしたい場合は、設定ガイドをご覧ください。
サービスを特定する
どのサービスがリクエストに対応しているかを把握し、各サービスをインストルメント化してトレースデータをNewRelicに送信できるようにします。
トレースを表示
各サービスをAPMエージェントでインストルメント化した後、アプリケーションでトラフィックを生成して、トレースをキャプチャできるようにします。UIでトレースを表示する方法は次のとおりです。
UIでトレースを見つけるための詳細については、以下を参照してください。
無限のトレース
エージェント用の 標準のディストリビューティッド(分散)トレーシングは トレースの最大 APM10% をキャプチャしますが、すべてのデータを分析して最も関連性の高いトレースを見つけたい場合は、 無限トレーシング を設定できます。
始める前に、まず要件を満たしていることを確認してください。
標準ディストリビューティッド(分散)トレーシングのセットアップを完了する
Infinite Tracing セットアップは、標準のディストリビューティッド(分散)トレーシングに基づいて構築されています。 したがって、上記の手順を完了したことを確認してから、トレース オブザーバーのセットアップを続行してください。
トレース オブザーバーをセットアップする
トレースオブザーバーは、すべてのトレースを収集して分析するNewRelicAWSベースのサービスです。トレースオブザーバーの設定の手順に従います。完了したら、トレースオブザーバー情報をここに戻し、次の手順に進んでエージェントを構成します。
無限トレース用にエージェントを構成する
無限トレース構成設定には、標準の分散トレースに加えて、トレースオブザーバーに関する情報が含まれます。サーバー側の構成は、無限トレースでは使用できないことに注意してください。
ヒント
プロキシ設定についてサポートが必要な場合は、 プロキシサポートを参照してください。
(オプション) 無限トレースをカスタマイズする
エージェント構成設定を追加すると、NewRelicUIにデータが表示されるようになります。データの分析に時間を費やした後、無限トレースの機能のいくつかを調整することをお勧めします。
手動計装(自動計装が機能しない場合)
推奨事項: カスタムインストゥルメンテーションを実行する前に、以下をお読みください。
.NET エージェントは、IPC チャネル (メッセージキューなど) のクライアント ( RabbitMQ.Clientなど) に自動インストゥルメントされたときに、そのチャネル (メッセージキューなど) を介してトレース データを自動的に送信します。 エージェントが自動的に計装しない IPC メカニズムを使用してサービスが通信する場合、エージェントのディストリビューティッド(分散)トレーシングAPI使用してサービス間でトレース データを伝達する必要があります。
重要
手動トレースAPI機能するためには、使用している通信チャネルが、送信されたメッセージに関連付けられた何らかのキー値ペア ストレージ (「キャリア」) をサポートしている必要があります。 これは「ヘッダー」または「プロパティ バッグ」と呼ばれることもありますが、使用しているメッセージング ライブラリによって異なります。
これがどのように機能するかを示すためにビルドして実行できる例を次に示します。