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 with header_filter phase.

Propagation

The tracing API support to propagate the following 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.