-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move context propagation into dedicated page (#3687)
Co-authored-by: Phillip Carter <[email protected]>
- Loading branch information
Showing
2 changed files
with
52 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
title: Context Propagation | ||
weight: 10 | ||
description: Learn about the concept that enables Distributed Tracing. | ||
--- | ||
|
||
With Context Propagation, [Signals](/docs/concepts/signals) can be correlated | ||
with each other, regardless of where they are generated. Although not limited to | ||
tracing, it is what allows [traces](/docs/concepts/signals/traces) to build | ||
causal information about a system across services that are arbitrarily | ||
distributed across. process and network boundaries. | ||
|
||
We define Context Propagation by two sub-concepts: Context and Propagation. | ||
|
||
## Context | ||
|
||
A **Context** is an object that contains the information for the sending and | ||
receiving service (or | ||
[execution unit](/docs/specs/otel/glossary/#execution-unit)) to correlate one | ||
signal with another. | ||
|
||
For example, if Service A calls Service B, then a span from Service A whose ID | ||
is in context will be used as the parent span for the next span created in | ||
Service B. The trace ID that is in context will be used for the next span | ||
created in Service B as well, which signifies that the span is part of the same | ||
trace as the span from Service A. | ||
|
||
## Propagation | ||
|
||
**Propagation** is the mechanism that moves context between services and | ||
processes. It serializes or deserializes the context object and provides the | ||
relevant information to be propagated from one service to another. Propagation | ||
is usually handled by instrumentation libraries and is transparent to the user, | ||
but in the event that you need to manually propagate context, you can use | ||
Propagation APIs. | ||
|
||
OpenTelemetry maintains several official propagators. The default propagator is | ||
using the headers specified by the | ||
[W3C TraceContext](https://www.w3.org/TR/trace-context/) specification. | ||
|
||
## Specification | ||
|
||
To learn more about Context Propagation, see the | ||
[Context specification](/docs/specs/otel/context/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters