重要
Python エージェントでは、クロスアプリケーション トレースはエージェント バージョン v7.0.0.166以降非推奨となり、将来のエージェント リリースでは削除される予定です。 Adistriviewtid(分散)トレーシング機能が利用可能になりました。 ディストリビューティッド(分散)トレーシングは、クロスアプリケーション トレーシングを改良したもので、複雑な分散システムでの監視アクティビティに推奨されます。
アプリケーション間の通信に使用されるプロトコルでは、リクエストとレスポンスにメタデータを添付します。メタデータは各アプリケーションで処理され、その結果としてのデータがエージェントから報告されます。
要件
NewRelicPythonエージェントバージョン2.92.0.78からバージョン7.0.0.166までが必要です。それより上のバージョンでは非推奨です。
カスタムクライアント(HTTP)
これらのAPIは、内蔵されたインスツルメンテーションの一部としてインスツルメンテーションされていないカスタムHTTP通信ライブラリに使用されます。
HTTPクロスアプリケーショントレースは、HTTPヘッダーを使用して、アプリケーション間でトランザクションメタデータを転送します。アウトバウンドクロスアプリケーショントレースヘッダーを生成するには、 ExternalTrace
クラスでgenerate_request_headers
APIを使用します。インバウンドのクロスアプリケーショントレースヘッダーを処理するには、 ExternalTrace
クラスでprocess_response_headers
APIを使用します。
カスタムクライアント(非HTTP)
これらのAPIは、HTTPトランスポートを使用せず(したがって、メタデータ・トランスポートとしてヘッダーを使用できない可能性がある)、組み込みのインスツルメンテーションの一部としてインスツルメンテーションされていないライブラリをインスツルメンテーションするために使用されます。
計装例
WSGIサーバー
ヒント
このエージェントは、すべてのWSGIサーバのクロスアプリケーショントレースメタデータの処理と応答の送信を自動的に行います。
WSGIサーバーのインスツルメンテーションについては、 wsgi_application API documentation を参照してください。
カスタム非HTTPサーバー
WSGIベースではない、またはHTTPをトランスポートとして使用しないカスタムサーバーは、受信したクロスアプリケーショントレースのメタデータを処理し、クロスアプリケーショントレースのレスポンスを生成する必要があります。
以下のAPIは、HTTP以外のリクエストで送信されたクロスアプリケーショントレースのメタデータを処理し、呼び出し元に送り返すレスポンスメタデータを生成することができます。