diff --git a/docs/configuration/http_conn_man/headers.rst b/docs/configuration/http_conn_man/headers.rst index 212d44fb91d97..7594b7c042e8b 100644 --- a/docs/configuration/http_conn_man/headers.rst +++ b/docs/configuration/http_conn_man/headers.rst @@ -162,3 +162,17 @@ following features are available: ` runtime setting or via forced tracing using the :ref:`config_http_conn_man_headers_x-envoy-force-trace` and :ref:`config_http_conn_man_headers_x-client-trace-id` headers. + +.. _config_http_conn_man_headers_x-ot-span-context: + +x-ot-span-context +_________________ + +The *x-ot-span-context* HTTP header is used by Envoy to establish proper parent-child relationships +between tracing spans for LightStep tracing. *x-ot-span-context* is a Base64 encoded +`binary OT `_ carrier. +Envoy relies on data from the *x-ot-span-context* header to extract the parent +context for the current span. For example, an egress span is a child of an ingress +span (if the ingress span was present). Envoy injects the *x-ot-span-context* header on ingress requests and +forwards it to the local service. Envoy relies on the application to propagate *x-ot-span-context* on +the egress call to an upstream. See more on tracing :ref:`here `. diff --git a/docs/intro/arch_overview/tracing.rst b/docs/intro/arch_overview/tracing.rst index c58fc0ce3d624..87a8c49606cbf 100644 --- a/docs/intro/arch_overview/tracing.rst +++ b/docs/intro/arch_overview/tracing.rst @@ -20,10 +20,13 @@ sources of latency. Envoy supports three features related to system wide tracing be used to join untrusted request IDs to the trusted internal :ref:`config_http_conn_man_headers_x-request-id`. +Envoy relies on properly propagated :ref:`config_http_conn_man_headers_x-request-id` and +:ref:`config_http_conn_man_headers_x-ot-span-context` HTTP headers for LightStep tracing functionality. + How to initiate a trace ----------------------- The HTTP connection manager that handles the request must have the :ref:`tracing -` object set. There are several ways tracing can be +` object set. There are several ways tracing can be initiated: * By an external client via the :ref:`config_http_conn_man_headers_x-client-trace-id`