Skip to content

[BUG]: aiobotocore service tagging does not match boto service tagging #18689

Description

@jprestel-rue

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions