You are browsing documentation for an older version. See the latest documentation here.
Tracing Reference
This reference describes the OpenTelemetry tracing capabilities of Kong Gateway.
Core instrumentations
The following instrumentations can be used by any plugins built on top of Kong’s tracing API, for example, the OpenTelemetry plugin.
Kong provides a set of core instrumentations for tracing, these can be configured in the tracing_instrumentations
configuration.
-
off
: do not enable instrumentations. -
request
: only enable request-level instrumentations. -
all
: enable all the following instrumentations. -
db_query
: trace database query. -
dns_query
: trace DNS query. -
router
: trace router execution, including router rebuilding. -
http_client
: trace OpenResty HTTP client requests. -
balancer
: trace balancer retries. -
plugin_rewrite
: trace plugins iterator execution with rewrite phase. -
plugin_access
: trace plugins iterator execution with access phase. -
plugin_header_filter
: trace plugins iterator execution withheader_filter
phase.
Propagation
The tracing API supports propagating the following headers:
-
w3c
- W3C trace context -
b3
,b3-single
- Zipkin headers -
jaeger
- Jaeger headers -
ot
- OpenTracing headers
The tracing API detects the propagation format from the headers, and uses the appropriate format to propagate the span context. If no appropriate format is found, it falls back to the default format, which can be user-specified.
The propagation API works for both the OpenTelemetry plugin and the Zipkin plugin.
Headers
See the kong.conf reference for all supported tracing headers.