Tracer Version(s)
4.10.4
Python Version(s)
3.14.6
Pip Version(s)
pip 26.1.2
Bug Report
The botocore integration always sets the service name on spans to aws.{endpoint} (
|
service=schematize_service_name( |
|
"{}.{}".format(ext_service(pin, int_config=config.botocore), endpoint_name) |
|
), |
).
In contrast, the aiobotocore integration sets the name to the value of DD_SERVICE (
|
set_service_and_source( |
|
span, |
|
ext_service(pin, config.aiobotocore, default=schematize_service_name(fallback_service)), |
|
config.aiobotocore, |
|
) |
). It will only use
aws.{endpoint} as a fallback when
config.service comes back empty.
Given that they've effectively both tracing requests to AWS services, I would expect them to report service name in the same way. Assuming that the botocore behavior is correct, then I would argue the aiobotocore behavior is a bug.
This was originally reported in #2130. The given workaround no longer works, both because Pin is no longer in the public API and because of a change to the fallback logic.
Reproduction Code
Set the environment variables DD_SERVICE="something", DD_TRACE_AIOBOTOCORE_ENABLED="true".
Instrument any application using aiobotocore with ddtrace-run.
Error Logs
n/a
Libraries in Use
aioboto3==15.5.0
aiobotocore==2.25.1
Operating System
Darwin Kernel Version 25.5.0
Tracer Version(s)
4.10.4
Python Version(s)
3.14.6
Pip Version(s)
pip 26.1.2
Bug Report
The
botocoreintegration always sets the service name on spans toaws.{endpoint}(dd-trace-py/ddtrace/contrib/internal/botocore/patch.py
Lines 390 to 392 in 5ff980a
In contrast, the
aiobotocoreintegration sets the name to the value ofDD_SERVICE(dd-trace-py/ddtrace/contrib/internal/aiobotocore/patch.py
Lines 146 to 150 in 5ff980a
aws.{endpoint}as a fallback whenconfig.servicecomes back empty.Given that they've effectively both tracing requests to AWS services, I would expect them to report service name in the same way. Assuming that the botocore behavior is correct, then I would argue the aiobotocore behavior is a bug.
This was originally reported in #2130. The given workaround no longer works, both because
Pinis no longer in the public API and because of a change to the fallback logic.Reproduction Code
Set the environment variables
DD_SERVICE="something",DD_TRACE_AIOBOTOCORE_ENABLED="true".Instrument any application using
aiobotocorewithddtrace-run.Error Logs
n/a
Libraries in Use
aioboto3==15.5.0
aiobotocore==2.25.1
Operating System
Darwin Kernel Version 25.5.0