• ログイン

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

accept_distributed_trace_payload (PythonエージェントAPI)

構文

newrelic.agent.accept_distributed_trace_payload(payload, transport_type='HTTP')

この方法は、分散型トレース内のトランザクションを接続するために使用されるペイロードを受け入れるために使用されます。

要件

Pythonエージェントのバージョン4.2.0.100以上。

注意

このAPIは廃止されました。代わりに newrelic.agent.accept_distributed_trace_headers をご利用ください。

Distributed Tracingが有効であること .

説明

このコールの使用方法については、まずそのパートナーAPIコールをお読みください create_distributed_trace_payload and Enable distributed tracing with agent APIs.

この呼び出しは、 create_distributed_trace_payload によって生成された分散トレースペイロードを解析して、トランザクションをリンクするために使用されます。

パラメータ

パラメーター

説明

ペイロード

辞書または文字列

必須。受け入れるべきペイロードです。

トランスポートタイプ
_string

オプション、デフォルトは HTTP 。このペイロードを送信したトランスポートのタイプです。以下のいずれかでなければなりません。 HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue, or Other.

戻り値

成功すると、 を返します。

失敗した場合は、 False を返します。ペイロードの受け入れに失敗する理由はいくつかあります。

  • 現在のトランザクションは有効ではありません。
  • Acceptがトランザクションの範囲外で呼び出された。
  • ペイロードは空です。
  • Distributed Tracing is not enabled.
  • accept_distributed_trace_payload は、 create_distributed_trace_payload の後に呼び出されたのであって、その前に呼び出されたのではない。
  • accept_distributed_trace_payload が1つのトランザクションで複数回呼び出されました。
  • ペイロードを解析できませんでした。
  • ペイロードは、信頼できないアカウントから送信されたものです。

バックグラウンドタスク内での分散型トレースペイロードの受け入れ

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.agent
newrelic.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)
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.