構文
newrelic.agent.accept_distributed_trace_payload(payload, transport_type='HTTP')この方法は、分散型トレース内のトランザクションを接続するために使用されるペイロードを受け入れるために使用されます。
要件
Pythonエージェントのバージョン4.2.0.100以上。
注意
この API はバージョン 5.6.0.135 で非推奨となり、バージョン 11.0.0 で完全に削除されました。代わりにaccept_distributed_trace_headers使用してください。
Distributed Tracingが有効であること .
説明
この呼び出しの使用方法については、まずパートナーAPIコールcreate_distributed_trace_payloadと、エージェント API を使用したディストリビューティッド(分散)トレーシングの有効化を参照してください。
この呼び出しは、 create_distributed_trace_payloadによって生成されたディストリビューティッド(分散)トレーシング ペイ ロードを解析することでトランザクションをリンクするために使用されます。
パラメーター
パラメータ  | 説明  | 
|---|---|
 辞書または文字列  | 必須。受け入れるべきペイロードです。  | 
 ストリング  | オプション。デフォルトは   | 
戻り値
成功すると、 Trueを返します。
失敗した場合は Falseを返します。ペイロードの受け入れは、いくつかの理由で失敗する可能性があります。
- 現在のトランザクションは有効ではありません。
 - Acceptがトランザクションの範囲外で呼び出された。
 - ペイロードは空です。
 - Distributed Tracing is not enabled.
 accept_distributed_trace_payloadは、create_distributed_trace_payload前ではなく後に呼び出されています。accept_distributed_trace_payload1 つのトランザクションで複数回呼び出されました。- ペイロードを解析できませんでした。
 - ペイロードは、信頼できないアカウントから送信されたものです。
 
例
バックグラウンドタスク内での分散型トレースペイロードの受け入れ
バックグラウンド タスクで accept_distributed_trace_payload を使用する例:
@newrelic.agent.background_task()def handle(request):    payload = request.headers.get('newrelic')    if payload:        newrelic.agent.accept_distributed_trace_payload(payload)
    _do_some_work()キューからの消費
accept_distributed_trace_payload を使用して各メッセージの バックグラウンド タスク を作成する例:
import newrelic.agentnewrelic.agent.initialize('newrelic.ini')application = newrelic.agent.register_application(timeout=10.0)
def main(queue):    for message in queue.consume():        with newrelic.agent.BackgroundTask(application, 'Queue Consume'):            payload = message.headers.get('newrelic')            newrelic.agent.accept_distributed_trace_payload(payload,                    transport_type='Queue')            _process_message(message)