Service Override Removal

This page explains how to remove integration service overrides, which use integration-specific service names to represent calls to other services. For conceptual background, see Service Overrides and Inferred Services.

Prerequisites

Before you remove integration service overrides:

  1. You must have the apm_service_renaming_write permission.
  2. Your Datadog SDK version must support override removal. See SDK version requirements.

SDK version requirements

LanguageMinimum supported version
.NET3.4.0
Go1.55.0
Java1.20.0
Node.js4.16.0
PHP0.94.1
Python1.19.0
Ruby1.15.0

Remove service overrides

To remove service overrides in Datadog:

  1. Navigate to Software Catalog > Manage > Manage Remapping Rules, and click Manage Overrides.

    Service Overrides page showing migration progress and removal options
  2. For each override you plan to remove, review the related monitors and dashboards.

    These assets reference the overridden service name and stop matching after removal. Update them to use the base service name (service:<DD_SERVICE>) to preserve functionality.

    Service override side panel showing affected monitors and dashboards
  3. Remove overrides individually or in bulk:

    • Select specific overrides to remove: Choose individual integration service overrides to remove. A Migration Progress bar shows your progress as you remove overrides. This action is reversible.

    • Remove all overrides: Select Remove All Overrides to permanently remove all integration service overrides and prevent future ones from appearing as APM usage increases. Custom service overrides are not affected.

      Removing all integration service overrides is permanent and cannot be undone.

Examples: Service naming after removal

Removing service overrides changes how client spans are tagged and how downstream dependencies are identified. After overrides are removed, client spans use the calling service’s name (service:<DD_SERVICE>) instead of the integration-specific name. The called dependency is identified using peer.* attributes (for example, database or queue).

gRPC example:

ScenarioService nameAdditional peer.* attributes
With service overridesservice:my-service-grpc-client or service:grpc-clientNone
Without service overridesservice:myservice@peer.service:otherservice

MySQL example:

ScenarioService nameAdditional peer.* attributes
With service overridesservice:my-service-mysql or service:mysqlNone
Without service overridesservice:myservice@peer.db.name:user-db, @peer.db.system:mysql

Configuration-based removal

You can also remove integration service overrides by setting an environment variable in your application configuration. This approach is useful if you cannot access the Datadog UI.

  1. Confirm that your SDK meets the minimum version requirements.
  2. Set the following environment variable:
    DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true
    

This ensures the service attribute always uses the base service name instead of appending the integration name (for example, *-postgres, *-http-client). Custom service overrides are not affected and must be removed directly in your code.

Further reading

Additional helpful documentation, links, and articles: