Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions docs/configuration/http_conn_man/headers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,17 @@ following features are available:
<config_http_conn_man_runtime_random_sampling>` 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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth documenting that the actual format of this is base64 "binary OT carrier?" This is quite LS specific currently. I guess I would probably mention that this is LS specific and when Zipkin support is added we can update the docs to cover the differences between the 2 providers.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, it def makes sense and it's LS specific

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

_________________

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 <https://github.com/opentracing/basictracer-go/blob/master/wire/wire.proto>`_ 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 <arch_overview_tracing>`.
5 changes: 4 additions & 1 deletion docs/intro/arch_overview/tracing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<config_http_conn_man_tracing>` object set. There are several ways tracing can be
<config_http_conn_man_tracing>` 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`
Expand Down