tracing
启用与 OpenTelemetry 跟踪设施的集成,使用 opentelemetry-go
。
启用后,它将传播现有的跟踪上下文或初始化一个新的。
它使用 gRPC 作为导出器协议,并使用 W3C tracecontext 和 baggage 作为传播器。
跟踪 ID 和 span ID 将作为标准 traceID
和 spanID
字段添加到 访问日志 中。此外,{http.vars.trace_id}
和 {http.vars.span_id}
占位符可用;例如,您可以在 request_header
中使用它们以将 ID 传递给您的应用程序。
语法
tracing {
[span <span_name>]
}
配置
环境变量
可以使用 OpenTelemetry 环境变量规范 定义的环境变量进行配置。
有关导出器配置详细信息,请参阅 spec。
例如
export OTEL_EXPORTER_OTLP_HEADERS="myAuthHeader=myToken,anotherHeader=value"
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://my-otlp-endpoint:55680
示例
这是一个 Caddyfile 示例
example.com {
handle /api* {
tracing {
span api
}
request_header X-Trace-Id {http.vars.trace_id}
reverse_proxy localhost:8081
}
handle {
tracing {
span app
}
reverse_proxy localhost:8080
}
}