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

SDK needs to be concurrent safe #1297

Open
Tracked by #1229
MrAlias opened this issue Nov 18, 2024 · 0 comments
Open
Tracked by #1229

SDK needs to be concurrent safe #1297

MrAlias opened this issue Nov 18, 2024 · 0 comments
Assignees
Milestone

Comments

@MrAlias
Copy link
Contributor

MrAlias commented Nov 18, 2024

https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#concurrency:

Concurrency

For languages which support concurrent execution the Tracing APIs provide
specific guarantees and safeties. Not all of API functions are safe to
be called concurrently.

TracerProvider - all methods are safe to be called concurrently.

Tracer - all methods are safe to be called concurrently.

Span - All methods of Span are safe to be called concurrently.

Event - Events are immutable and safe to be used concurrently.

Link - Links are immutable and safe to be used concurrently.

MrAlias added a commit to MrAlias/opentelemetry-go-instrumentation that referenced this issue Nov 18, 2024
Move the tracerProvider type and related functionality to its own file
to help discoverability.

Use a singleton instance of the tracerProvider for
tracerProviderInstance instead of having a new value created each call
to TracerProvider.

Test the singleton nature of TracerProvider.

Test the concurrent safe behavior of the provided TracerProvider (part
of open-telemetry#1297).
MrAlias added a commit to MrAlias/opentelemetry-go-instrumentation that referenced this issue Nov 18, 2024
Move the tracerProvider type and related functionality to its own file
to help discoverability.

Use a singleton instance of the tracerProvider for
tracerProviderInstance instead of having a new value created each call
to TracerProvider.

Test the singleton nature of TracerProvider.

Test the concurrent safe behavior of the provided TracerProvider (part
of open-telemetry#1297).
MrAlias added a commit to MrAlias/opentelemetry-go-instrumentation that referenced this issue Nov 18, 2024
Move the tracer type and related functionality to its own file to help
discoverability.

Test the tracer type including its concurrent safety (part of open-telemetry#1297).
@MrAlias MrAlias self-assigned this Nov 18, 2024
@MrAlias MrAlias moved this to In Progress in Go Auto Instrumentation: Beta Nov 18, 2024
@MrAlias MrAlias added this to the v0.18.0-alpha milestone Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant