• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

New Relic の OpenTelemetry トレース

OpenTelemetry 、トレース テレメトリを記録するためのAPI 、スパン データをエクスポートするためのSDK 、アプリケーション境界を越えてトレースするためのコンテキスト トレースなど、豊富なトレース エコシステムを提供します。

このページでは、New Relic が New Relic OTLP エンドポイント経由で受信した OpenTelemetry スパンをどのように処理するかについて説明します。 OpenTelemetryをNew Relicに送信するには、OTLP エンドポイント経由でNew Relic OpenTelemetryにデータをエクスポートするように Trace ソースを設定する必要があります。 次のページを参照してください。

OTLPスパンマッピング

New Relic は OTLP スパンをSpanデータ型にマッピングします。 次の表は、 トレース プロトコル メッセージ定義のフィールドがどのように解釈されるかを示しています。

OTLPプロトフィールド

New Relic Spanフィールド

ResourceSpans.Resource.attributes

各キー値はSpanの属性である[1]

ScopeSpans.InstrumentationScope.name

otel.library.name

ScopeSpans.InstrumentationScope.version

otel.library.version

ScopeSpans.InstrumentationScope.attributes

各キー値はSpanの属性である[1]

Span.trace_id

trace.id

Span.span_id

id

Span.trace_state

w3c.tracestate

Span.parent_span_id

parent.id

Span.name

name

Span.kind

span.kind

Span.start_time_unix_nano

timestamp

Span.end_time_unix_nano

duration.ms ( Span.start_time_unix_nanoで計算)

Span.attributes

各キー値はSpanの属性である[1]

Span.dropped_attribute_count

otel.dropped_attributes_count

Span.events

各イベントはSpanEventとして記録され、 span.id / trace.idはソーススパンを参照し、カウントは次のように保存されます。 nr.spanEventCount

Span.events[*].time_unix_nano

timestampとして保存 SpanEvent

Span.events[*].name

nameとして保存 SpanEvent

Span.events[*].attributes

各キー値は、 SpanEvent

Span.events[*].dropped_attributes_count

ote.dropped_Attributes_countとして保存 SpanEvent

Span.dropped_events_count

otel.dropped_events_count

Span.status.message

otel.status_description

Span.status.code

otel.status_code

表の脚注

[1]リソース属性、スコープ属性、スパン属性、および最上位のスパンフィールドで競合が発生した場合、優先順位(最高から最低)は、最上位のSpan.*フィールド> Span.attributes > ScopeSpans.InstrumentationScope.attributes > ResourceSpans.Resource.attributesとなります。

OTLP New Relicエンドポイントでサポートされるプロパティ タイプ の詳細については「OTLP プロパティ タイプ」を、プロパティに対して実行される検証の詳細については 「OTLP プロパティ制限」を 参照してください。

New Relic は OpenTelemetryスパン リンクをサポートしており、これにより直接の親子関係のないスパン間の因果関係を作成できます。スパン リンクは、メッセージキュー、イベント ストリーム、バッチ処理システムなどの非同期境界を越えて分割されるディストリビューティッド(分散)トレーシングを理解するために不可欠です。

スパンリンクを使用する場合

次のシナリオで span リンクを使用します。

  • Message queue producers and consumers: AWS SQS、RabbitMQ、Kafka などのキューからのメッセージを処理するときに、消費スパンを生成スパンにリンクします。
  • Fan-in patterns: 複数のプロデューサー トレースを、その出力を集約する単一のコンシューマー トレースにリンクします。
  • Batch processing: バッチ処理されたメッセージを個々の元のトレースに返すリンク スパン。
  • Long-running workflows: 通常のトレース期間の制限を超えるワークフロー ステップにまたがる接続。

OpenTelemetryメーターにスパン リンクを実装するには、次の手順を実行する必要があります。

  1. 受信メッセージまたはイベントからトレースコンテキストを抽出する
  2. 消費者で新しいスパンを開始するときにスパン リンクを作成します。
  3. トレースコンテキストがメッセージングインフラストラクチャを通じて伝播されることを確認する

次の例は、さまざまな言語で span リンクを実装する方法を示しています。

スパン リンクを実装する場合は、次のベストプラクティスに従ってください。

  1. Always propagate trace context: W3Ct レースコンテキスト (traceparentおよびtracestateヘッダー) がメッセージ ヘッダーまたはメタデータに含まれていることを確認してください。

  2. Validate span context: スパン リンクを作成する前に、抽出されたスパン コンテキストが有効かどうかを常に確認します。無効なコンテキストではリンクを作成しないでください。

  3. Use appropriate span kinds: メッセージ公開スパンの種類をPRODUCERに設定し、メッセージ処理スパンの種類をCONSUMER設定します。

  4. Add messaging attributes: コンテキストを提供するために、メッセージング システムのセマンティック規則 (messaging.systemmessaging.destinationmessaging.operationなど) を含めます。

  5. Consider sampling: リンクされたトレースは両方ともサンプリングしないと New Relic に表示されません。スパン リンクを使用する重要なワークフローのサンプリング戦略を調整します。

  6. Handle batch processing carefully: バッチ処理されたメッセージを処理する場合、追跡可能性を維持するために、メッセージごとに個別のスパン リンクを作成します。

ダッシュボードにスパン リンクを実装したら、 New Relic UIでそれらを表示および操作できます。

  1. トレースのトレース詳細ページに移動します。
  2. フィルターバーのスパンリンクバッジを探します。これはリンクのあるスパンの数を示します。
  3. リンクのあるスパンを選択すると、スパンの詳細ペインのSpan linksタブが表示されます。
  4. リンクされたトレースをクリックすると、関連するトレース間を移動できます。

UI でのスパン リンクの使用の詳細については、 「スパン リンクについて」を参照してください。

Copyright © 2025 New Relic株式会社。

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