From 8b33c5db9cdd4e0a7befba4e73286ddc33de74cf Mon Sep 17 00:00:00 2001 From: Kirill Ivanov Date: Fri, 19 Feb 2021 10:55:01 +0100 Subject: [PATCH 1/6] Update sdk.md --- specification/trace/sdk.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index ebe76208d57..d0397dd3bee 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -58,6 +58,20 @@ make the shutdown timeout configurable. `Shutdown` MUST be implemented at least by invoking `Shutdown` within all internal processors. +### ForceFlush + +This method provides a way for provider to immediately export all spans that have not yet been exported for all the internal processors. + +`ForceFlush` SHOULD provide a way to let the caller know whether it succeeded, +failed or timed out. + +`ForceFlush` SHOULD complete or abort within some timeout. `ForceFlush` can be +implemented as a blocking API or an asynchronous API which notifies the caller +via a callback or an event. OpenTelemetry client authors can decide if they want to +make the flush timeout configurable. + +`ForceFlush` MUST be implemented at least by invoking `ForceFlush` within all internal processors. + ## Additional Span Interfaces The [API-level definition for Span's interface](api.md#span-operations) From c5818271df6afd05125d0753001c999031745428 Mon Sep 17 00:00:00 2001 From: Kirill Ivanov Date: Fri, 19 Feb 2021 11:01:56 +0100 Subject: [PATCH 2/6] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6360d6b475a..78ba448ddda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ release. - Adds `none` as a possible value for OTEL_TRACES_EXPORTER and OTEL_METRICS_EXPORTER to disable export ([#1439](https://github.com/open-telemetry/opentelemetry-specification/pull/1439)) +- Add `ForceFlush` to [Tracing SDK](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#shutdown) ([#1452](https://github.com/open-telemetry/opentelemetry-specification/pull/1452)) ## v1.0.1 (2021-02-11) From 44c67aff00abe4adca681c700cf1783beefba698 Mon Sep 17 00:00:00 2001 From: Kirill Ivanov Date: Fri, 19 Feb 2021 11:05:13 +0100 Subject: [PATCH 3/6] Update spec-compliance-matrix.md --- spec-compliance-matrix.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index c7dd9842cf1..49361c27a7c 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -16,6 +16,7 @@ status of the feature is not known. | Get a Tracer | | + | + | + | + | + | + | + | + | + | + | + | | Safe for concurrent calls | | + | + | + | + | + | + | + | + | + | + | + | | Shutdown (SDK only required) | | | + | + | + | + | - | | + | + | + | + | +| ForceFlush (SDK only required) | | | + | - | - | - | - | | - | - | + | - | | [Trace / Context interaction](specification/trace/api.md#context-interaction) | | | | | | | | | | | | | | Get active Span | | | + | + | + | + | N/A | | + | + | + | + | | Set active Span | | | + | + | + | + | N/A | | + | + | + | + | From 53fffbe0d42dbc49c4dccb89b1872860bcfb1230 Mon Sep 17 00:00:00 2001 From: Kirill Ivanov Date: Fri, 19 Feb 2021 13:28:47 +0100 Subject: [PATCH 4/6] Update CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Neumüller --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78ba448ddda..f35d8c18516 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ release. - Adds `none` as a possible value for OTEL_TRACES_EXPORTER and OTEL_METRICS_EXPORTER to disable export ([#1439](https://github.com/open-telemetry/opentelemetry-specification/pull/1439)) -- Add `ForceFlush` to [Tracing SDK](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#shutdown) ([#1452](https://github.com/open-telemetry/opentelemetry-specification/pull/1452)) +- Add [`ForceFlush`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#forceflush) to SDK's `TracerProvider` ([#1452](https://github.com/open-telemetry/opentelemetry-specification/pull/1452)) ## v1.0.1 (2021-02-11) From 358b1dee5ef30655f601020c3080150027311863 Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Fri, 19 Feb 2021 11:40:24 -0800 Subject: [PATCH 5/6] Update specification/trace/sdk.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Christian Neumüller --- specification/trace/sdk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index d0397dd3bee..b67c05c4203 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -70,7 +70,7 @@ implemented as a blocking API or an asynchronous API which notifies the caller via a callback or an event. OpenTelemetry client authors can decide if they want to make the flush timeout configurable. -`ForceFlush` MUST be implemented at least by invoking `ForceFlush` within all internal processors. +`ForceFlush` MUST invoke `ForceFlush` on all `SpanProcessors` of the `TracerProvider`. ## Additional Span Interfaces From c14ae6d60ade3edf52618e5253fb2c27acbcfc37 Mon Sep 17 00:00:00 2001 From: Kirill Ivanov Date: Fri, 19 Feb 2021 20:46:37 +0100 Subject: [PATCH 6/6] Update specification/trace/sdk.md Co-authored-by: Bogdan Drutu --- specification/trace/sdk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md index b67c05c4203..b4f6b8e06c6 100644 --- a/specification/trace/sdk.md +++ b/specification/trace/sdk.md @@ -70,7 +70,7 @@ implemented as a blocking API or an asynchronous API which notifies the caller via a callback or an event. OpenTelemetry client authors can decide if they want to make the flush timeout configurable. -`ForceFlush` MUST invoke `ForceFlush` on all `SpanProcessors` of the `TracerProvider`. +`ForceFlush` MUST invoke `ForceFlush` on all registered `SpanProcessors`. ## Additional Span Interfaces