非 OTLP 日志格式中的 Trace Context

状态: 稳定

概述

OTLP 日志记录包含表示跟踪上下文的顶级字段。本文档定义了在非 OTLP 日志格式中应如何记录跟踪上下文。总而言之,以下字段名称应在旧格式中使用:

  • “trace_id”对应TraceId,小写并进行十六进制编码。
  • “span_id”对应SpanId,小写并进行十六进制编码。
  • “trace_flags”对应跟踪标志,根据 W3C traceflags 格式进行格式化。

所有 3 个字段都是可选的(有关字段组合被视为有效的信息,请参阅数据模型)。

Syslog RFC5424

Trace id、span id 和 traceflags 应通过 SD-ID “opentelemetry”进行记录。

例如

[opentelemetry trace_id="102981abcd2901" span_id="abcdef1010" trace_flags="01"]

纯文本格式

字段应按照特定格式的惯用方法进行记录(例如,LTSV 的 field:value 格式)。例如:

host:192.168.0.1<TAB>trace_id:102981abcd2901<TAB>span_id:abcdef1010<TAB>time:[01/Jan/2010:10:11:23 -0400]<TAB>req:GET /health HTTP/1.0<TAB>status:200

JSON 格式

字段应作为 JSON 结构中的顶级字段进行记录。例如:

{
  "timestamp":1581385157.14429,
  "body":"Incoming request",
  "trace_id":"102981abcd2901",
  "span_id":"abcdef1010"
}

其他结构化格式

字段应作为日志记录的顶级结构化属性进行记录,这对于特定格式来说是惯用的。