diff --git a/specification/appendix-d-observability.md b/specification/appendix-d-observability.md index d2f77644..f9aa0484 100644 --- a/specification/appendix-d-observability.md +++ b/specification/appendix-d-observability.md @@ -51,6 +51,15 @@ The following describes how keys in [flag metadata](types.md#flag-metadata) are | ---------------------------- | ----------------------- | ----------------- | -------- | ------------------------------------------------------------------------------------------------ | | `feature_flag.provider.name` | `name` | `Recommended` | `string` | The name of the provider as defined in the `provider metadata`, available in the `hook context`. | +### Propagation Metadata + +Feature Flags are propagated through different systems with different methods. Often these updates have an asynchronous nature to the evaluation and do not correlate directly (eg. cached values or in-process evaluations). For distributed systems it is important to reflect how changes are populated to all systems, and how those correlate with evaluations. In a simple manner the version could be used to achieve this, but it offers a more complex solution to correlate the data. Instead we are defining two additional metadata properties `propagationTraceId` and `propagationSpanId` which can be used to link evaluation spans to propagation spans. + +| Flag Metadata Key | Requirement level | Type | Notes | +| ----------------------- | ----------------- | -------- | -------------------------------------- | +| `propagationSpanId` | `Optional` | `string` | The span id of the propagation event. | +| `propagationTraceId` | `Optional` | `string` | The trace id of the propagation event. | + ## History Feature flags in the OpenTelemetry semantic conventions are currently in development and are marked as experimental.