tracing
使用 opentelemetry-go
启用与 OpenTelemetry 跟踪设施的集成。
启用后,它将传播现有的跟踪上下文或初始化一个新的上下文。
它使用 gRPC 作为导出协议,使用 W3C tracecontext 和 baggage 作为传播器。
跟踪 ID 和跨度 ID 作为标准 traceID
和 spanID
字段添加到访问日志中。此外,{http.vars.trace_id}
和 {http.vars.span_id}
占位符可用;例如,您可以在 request_header
中使用它们将 ID 传递给您的应用程序。
语法
tracing {
[span <span_name>]
}
配置
环境变量
可以使用 OpenTelemetry 环境变量规范 定义的环境变量进行配置。
有关导出器配置的详细信息,请参阅规范。
例如:
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
}
}