From 12e3a4a333a003af541b854b9884fd8ac4e92fc4 Mon Sep 17 00:00:00 2001 From: John Watson Date: Tue, 20 Oct 2020 09:10:31 -0700 Subject: [PATCH] Add a directive that the Baggage API must function, even without an SDK. (#1103) * Add a directive that the Baggage API must function, even without an SDk. * add the changelog entry * add a missing CR --- CHANGELOG.md | 2 ++ specification/baggage/api.md | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fea887253e4..fc53daf8b2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ release. New: +- Enforce that the Baggage API must be fully functional, even without an installed SDK. + ([#1103](https://github.com/open-telemetry/opentelemetry-specification/pull/1103)) - Rename "Canonical status code" to "Status code" ([#1081](https://github.com/open-telemetry/opentelemetry-specification/pull/1081)) - Add Metadata for Baggage entries, and clarify W3C Baggage Propagator implementation diff --git a/specification/baggage/api.md b/specification/baggage/api.md index 3788b94d5ae..8bca031f6dd 100644 --- a/specification/baggage/api.md +++ b/specification/baggage/api.md @@ -33,6 +33,10 @@ into the context. The [Get all](#get-all) function could be implemented by retur object as a whole from the function call. If an idiom like this is implemented, the Baggage object/struct MUST be immutable, so that the containing Context also remains immutable. +The Baggage API MUST be fully functional in the absence of an installed SDK. This is required in +order to enable transparent cross-process Baggage propagation. If a Baggage propagator is installed +into the API, it will work with or without an installed SDK. + ### Baggage `Baggage` is used to annotate telemetry, adding context and information to metrics, traces, and logs.