diff --git a/CHANGELOG.md b/CHANGELOG.md index c971b806c95..4e104a5640e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ release. - Clarify the description for the `TraceIdRatioBased` sampler needs to include the sampler's sampling ratio. ([#1536](/~https://github.com/open-telemetry/opentelemetry-specification/pull/1536)) - Define the fallback tracer name for invalid values. ([#1534](/~https://github.com/open-telemetry/opentelemetry-specification/pull/1534)) +- Clarify non-blocking requirement from span API End. ([#1555](/~https://github.com/open-telemetry/opentelemetry-specification/pull/1555)) - Remove the Included Propagators section from trace API specification that was a duplicate of the Propagators Distribution of the context specification. ([#1556](/~https://github.com/open-telemetry/opentelemetry-specification/pull/1556)) - Remove the Baggage API propagator notes that conflict with the API Propagators Operations section and fix [#1526](/~https://github.com/open-telemetry/opentelemetry-specification/issues/1526). ([#1575](/~https://github.com/open-telemetry/opentelemetry-specification/pull/1575)) diff --git a/specification/trace/api.md b/specification/trace/api.md index 95f45117f77..fbe21ca7e02 100644 --- a/specification/trace/api.md +++ b/specification/trace/api.md @@ -617,7 +617,14 @@ Parameters: - (Optional) Timestamp to explicitly set the end timestamp. If omitted, this MUST be treated equivalent to passing the current time. -This API MUST be non-blocking. +Expect this operation to be called in the "hot path" of production +applications. It needs to be designed to complete fast, if not immediately. +This operation itself MUST NOT perform blocking I/O on the calling thread. +Any locking used needs be minimized and SHOULD be removed entirely if +possible. Some downstream SpanProcessors and subsequent SpanExporters called +from this operation may be used for testing, proof-of-concept ideas, or +debugging and may not be designed for production use themselves. They are not +in the scope of this requirement and recommendation. #### Record Exception