Sitelet https://github.com/aws/aws-sdk-cpp/issues/2732
Skip to content

Tracing miss span context with transfer manager or thread executor #2732

Description

@lyrq

Describe the feature

Current implementation of tracing creates a span context from opentelemetry::context::RuntimeContext::GetCurrent()
This is a thread_local stack of previous span context.

When getting an object through the transfer manager or with GetObjectCallable or GetObjectAsync the span will be created from another thread than the one doing the request.
There is no way to link or give the right parent to the span created in S3Client::GetObject.

Could you provide a way to propagate the right context like opentelemetry propagator is doing between client / server with http headers?

Use Case

I can't correlate smithy tracing span in S3Client GetObject with my code
Exemple:

             main thread                                                   thread executor
| Span A |(application)
   | Span B | (TransferManager::DownloadFile)
                 | Span D | (Proccess Data)                           | Span C | (GetObject)

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.investigatingThis issue is being investigated and/or work is in progress to resolve the issue.p3This is a minor priority issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions