OpenTelemetry 、トレース テレメトリを記録するためのAPI 、スパン データをエクスポートするためのSDK 、アプリケーション境界を越えてトレースするためのコンテキスト トレースなど、豊富なトレース エコシステムを提供します。
このページでは、New Relic が New Relic OTLP エンドポイント経由で受信した OpenTelemetry スパンをどのように処理するかについて説明します。 OpenTelemetryトレースをNew Relicに送信するには、データをNew Relic OpenTelemetryコレクター(OTLP) エージェントにエクスポートするようにトレースソースを構成する必要があります(具体的な エージェント設定要件については、 New Relic OTLP エージェントを参照してください)。 OpenTelemetryを使用してサービスを構成する方法については、 OpenTelemetry APM監視」を参照してください。
OTLPスパンマッピング
New Relic は OTLP スパンをSpan
データ型にマッピングします。 次の表は、 Span proto メッセージのフィールドがどのように解釈されるかを示しています。
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
| druation.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
。
スパリンクのサポート
OpenTelemetryスパンのリンクは現在 New Relic ではサポートされていません。