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

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

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

問題を作成する

newrelic_get_trace_metadata

構文

newrelic_get_trace_metadata()

現在のトレースと親のスパンの識別子を含む連想配列を返します。

要件

Requires PHP agent version 9.3 or higher.

トランザクションの中で呼び出す必要があります

説明

現在のトレースと親のスパンの識別子を含む連想配列を返します。この情報は、Zipkin のようなサードパーティの分散型トレースツールと統合する際に役立ちます。

戻り値

キーを含む連想配列です。

  • trace.id: 現在実行中のトレースの識別子。トランザクションがこの機能をサポートしていない場合や、分散型トレースが無効になっている場合は、空の値が返されます。
  • span.id: 現在実行中のスパンの識別子。トランザクションがこの機能をサポートしていない場合や、分散型トレーシングが無効になっている場合は、空の値が返されます。

Zipkin で使用するための B3 Headers の作成

Zipkin コンシューマーに送信される HTTP ヘッダーに、必要な分散トレーシングメタデータを追加します。

function make_http_request($url) {
$metadata = newrelic_get_trace_metadata();
$sampled = newrelic_is_sampled();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-B3-TraceId: ' . $metadata['trace_id'],
'X-B3-SpanId: ' . substr(uniqid() . uniqid(), 0, 16),
'X-B3-ParentSpanId: ' . $metadata['span_id'],
'X-B3-Sampled: ' . $sampled));
return curl_exec($ch);
}
$status = make_http_request("zipkin-consumer.example");
Copyright © 2022 New Relic Inc.