Tracing Reference
In this section, we will describe the tracing capabilities of Kong.
Core instrumentations
Note Only works for the plugins that are built on top of Kong’s tracing API. e.g. 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 support to propagate the following headers:
w3c
- W3C trace contextb3
,b3-single
- Zipkin headersjaeger
- Jaeger headersot
- OpenTracing headers
The tracing API will detect the propagation format from the headers, and will use the appropriate format to propagate the span context. If no appropriate format is found, then will fallback to the default format, which can be specified.
The propagation api works for both the OpenTelemetry plugin and the Zipkin plugin.