ForceFlush missing from Exporter spec #1454
Labels
area:sdk
Related to the SDK
bug
Something isn't working
spec:trace
Related to the specification/trace directory
We currently have ForceFlush only specified in the SpanProcessor. #1452 adds the missing "helper" method to call this to the SdkTracerProvider. But we are also missing ForceFlush in the spec for exporters (some languages, e.g. Java, have it implemented already (https://github.com/open-telemetry/opentelemetry-java/blob/v0.17.1/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/SpanExporter.java#L69-L77).
In fact this was proposed in the original issue to add flush/forceFlush (#351) which was titled "Add flush API to processor/exporter". However it seems to have been glanced over in #370 (in turn, then some SIGs seemed to have glanced over the fact that it was never spec'd and implemented it anyway 😉).
In some languages, adding a new method to an interface might be a breaking change for existing implementers. However, there are simple workarounds for that such as adding Flush to an new interface like
FlushableExporter extends Exporter
. I think it is OK to leave this implementation detail to the language SIGs.The text was updated successfully, but these errors were encountered: