-
Notifications
You must be signed in to change notification settings - Fork 774
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededtriaged
Description
opentelemetry-instrumentation-botocore bug:
X-Ray spans generated by AWS boto3 S3 upload_file
method requests do not have the same trace id as their parent and sibling spans and the parent_id is set to null which causes broken traces.
Steps to reproduce
BotocoreInstrumentor().instrument(tracer_provider=trace.get_tracer_provider())
with tracer.start_as_current_span("foo"):
s3 = boto3.resource('s3')
s3.meta.client.upload_file('fromFile', 'myS3Bucket', 'toFile') # upload a file to s3
s3.bucket.all() # list bucket
What is the expected behavior?
upload_file
span should be the child of foo
, get one trace: (foo -> (s3.upload_file, s3.list))
What is the actual behavior?
Get 2 traces, upload_file
is not under foo
:
trace1 (foo -> s3.list)
trace2 (s3.upload_file)
Additional context
boto3 s3 upload_file
uses multi-part to increase throughput, botocore instrumentation does not cover this special case. Refer an analysis.
saartochner-lumigo, tarmath, s4ke, aureliomarcoag, oavdeev and 4 more
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is neededtriaged