文件
一個 專案

tracing

啟用與 OpenTelemetry tracing 功能的整合,使用 opentelemetry-go

啟用後,它將傳播現有的追蹤上下文或初始化一個新的。

它使用 gRPC 作為匯出器協議,以及 W3C tracecontextbaggage 作為傳播器。

追蹤 ID 和 span ID 會以標準 traceIDspanID 欄位添加到 存取日誌 中。此外,{http.vars.trace_id}{http.vars.span_id} 佔位符也可用;例如,您可以在 request_header 中使用它們,將 ID 傳遞給您的應用程式。

語法

tracing {
	[span <span_name>]
}
  • <span_name> 是一個 span 名稱。請參閱 span 命名指南

    佔位符 可以用在 span 名稱中;請記住 tracing 盡可能早地發生,因此只能使用請求佔位符,而不能使用回應佔位符。

設定

環境變數

它可以使用 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
	}
}