Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify non-blocking requirement from span API End #1555

Merged
merged 10 commits into from
Mar 29, 2021
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,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))

### Metrics

Expand Down
9 changes: 8 additions & 1 deletion specification/trace/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
Expect this operation to be called in the "hot path" of production
carlosalberto marked this conversation as resolved.
Show resolved Hide resolved
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.
carlosalberto marked this conversation as resolved.
Show resolved Hide resolved
Any locking used MUST be minimized and SHOULD be removed entirely if
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
possible. The downstream SpanProcessors and subsequent SpanExporters called
MrAlias marked this conversation as resolved.
Show resolved Hide resolved
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

Expand Down