問題
サービスマップ を使用する場合、期待していたエンティティの全セットやエンティティ間の関係を表示することはできません。
解決
エンティティがエージェントで監視されていることを確認してください。 distributed tracing をオンにしているエージェントとオフにしているエージェントが混在している場合、それらのエージェント間の関係を見ることができません。このシナリオの解決策は、すべてのエージェントを分散型トレーシングをオンにして実行するか(推奨)、すべてのエージェントの分散型トレーシングをオフにすることです。それでも問題が解決しない場合は、表示しようとしているサービスを手動で計測する必要があるかもしれません。
サービスマップで自動的にインストルメントされるアプリケーションやサービスを表示すると、通常、分散型トレースのUIでそれらのノードの完全で詳細なデータが表示されます。しかし、これらのサービスやアプリケーションの一部がサービスマップから消えていることに気づくかもしれません。
ヒント
一部の ブラウザアプリ はこの例外で、以下の理由で欠落している可能性があります。
- コピー&ペーストのブラウザエージェントの関係は検出されません。
- 注入されたブラウザエージェント の関係のみが表示されます(エージェントが注入されたアプリ)。呼び出し関係(例えば、他のアプリへのAJAX呼び出し)は表示されません。
サービスやアプリが見つからない場合、アプリケーションや特定のトランザクションの カスタムインストルメンテーションを実装して、トレースの詳細を確認することができます。これを行う必要がある場合の例をいくつか挙げます。
- トランザクションは自動的に計測されません。アプリケーションが自動的にインストルメントされることを確認するには、使用しているエージェントの 互換性と要件に関するドキュメントを お読みください。アプリケーションが自動的にインストルメンテーションされない場合、または特定のアクティビティのインストルメンテーションを追加したい場合は、 「カスタム インストルメンテーション」を参照してください。
- すべてのGoアプリケーション。Goエージェントは、他のエージェントとは異なり、コードを手動でインストルメント化する必要があります。手順については、 InstrumentaGoアプリケーションを参照してください。
- サービスが HTTP を使用していない 。サービスが HTTP で通信していない場合、エージェントは分散トレーシングヘッダを送信しません。これは、一部の非ウェブアプリケーションやメッセージキューの場合に当てはまります。この問題を解決するには、 分散型トレーシングAPI を使用して、呼び出し側または呼び出されたアプリケーションをインストゥルメント化します。