• ログイン無料アカウント

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

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

問題を作成する

insert_distributed_trace_headers (PythonエージェントAPI)

構文

newrelic.agent.insert_distributed_trace_headers(list_of_headers)

この方法は、分散トレース内のトランザクションを接続するためのヘッダーを挿入するために使用されます。

要件

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

Distributed Tracingが有効であること .

説明

このAPIは、 分散型トレースが有効になっている必要があります

このコールとそのパートナーコールの使用方法については、 accept_distributed_trace_headersEnable distributed tracing with agent APIs を参照してください。

このコールは、分散型トレーシングの実装に使用されます。このコールは、受信側のアプリケーションが accept_distributed_trace_headers メソッドを使って読むことができるリストにヘッダを挿入します。

パラメータ

パラメーター

説明

ヘッダ

リスト

必須。ヘッダーのリストです。このリストはコールによって変更されます(ヘッダーは(header_name, header_value)の形式でリストに挿入されます)。

戻り値

戻り値 なし.この関数の呼び出しにより、入力リストが更新されます。

重要

トレース内のスパンの適切な順序を維持するためには、ペイロードを送信するスパンのコンテキストでペイロードを生成する必要があります。

バックグラウンドタスク内での分散型トレースペイロードの作成

insert_distributed_trace_headers を使用して、単一のバックグラウンドタスク内から 外部トレース を作成する例です。

@newrelic.agent.background_task()
def main(url):
with newrelic.agent.ExternalTrace('my_external_library',
url, method='GET'):
# Generate the payload in the context of the ExternalTrace
# span that sends it
headers = []
newrelic.agent.insert_distributed_trace_headers(headers)
response = my_external_library._get(url, headers=headers)
data = _process_response(response)

外部トレースの中に分散型トレースペイロードを作成する

insert_distributed_trace_headers を使って 外部トレースを作成する際の例:

def _bind_url(url, *args, **kwargs):
# _bind_url is called with the args and kwargs sent to the `get`
# method below
return url
@newrelic.agent.external_trace('my_external_library', _bind_url, method='GET')
def get(url):
headers = []
newrelic.agent.insert_distributed_trace_headers(headers)
return my_external_library._get(url, headers=headers)
Copyright © 2022 New Relic株式会社。