- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Inferred services and the new Service Page layout are in private beta. To request access, complete the form.
Request AccessFollow the steps below to enable the new dependency map on the Service Page, and add inferred services to the Service Map and Service Catalog pages.
Datadog can automatically discover the dependencies for an instrumented service, such as a database or a third-party API even if that dependency hasn’t been instrumented yet. Datadog infers the presence of these dependencies and their performance based on information on the outbound requests of your instrumented services.
To determine the names and types of the inferred services, Datadog uses span attributes. Inferred external APIs use the default naming scheme net.peer.name
. For example, api.stripe.com
, api.twilio.com
, us6.api.mailchimp.com
. Inferred databases use the default naming scheme db.instance
.
If you’re using the Go, Java, NodeJS, PHP, .NET, or Ruby tracer, you can customize the default names for inferred services. For more information, see the “Peer Service Mapping” section for your language below.
Note: If you configure monitors, dashboards, or notebooks for a given inferred service during the beta, you may need to update them if the naming scheme changes.
Use the dependency map to visualize service-to-service communication and gain insight into system components such as databases, queues, and third-party dependencies. You can group dependencies by type and filter by Requests, Latency, or Errors to identify slow or failing connections.
To opt in, you must adjust your Datadog Agent and APM Tracer configurations. Check the Global default service naming migration, to see if you need to take any migration actions.
Requirements:
Set the following in your datadog.yaml
configuration file:
DD_APM_COMPUTE_STATS_BY_SPAN_KIND=true
DD_APM_PEER_SERVICE_AGGREGATION=true
Set the following in your collector.yaml
configuration file:
compute_stats_by_span_kind=true
peer_service_aggregation=true
The minimum Java tracer version required is 1.16.0. Regular updates to the latest version are recommended to access changes and bug fixes.
Download the latest Java tracer version.
To opt in, add the following environment variables or system properties to your tracer settings:
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true | -Ddd.trace.peer.service.defaults.enabled=true |
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true | -Ddd.trace.remove.integration-service-names.enabled=true |
Remove the following settings from your configuration:
Environment variable | Reason for removal |
---|---|
DD_SERVICE_MAPPING | All service names default to DD_SERVICE . |
DD_TRACE_SPLIT_BY_TAGS | Inferred services are automatically displayed with the introduction of the peer.service tag. |
DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE | DB instances are inferred based on the on the peer.service tag. |
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Note: key:value
pairs are case sensitive.
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | dd.trace.peer.service.mapping |
Each setting accepts a comma separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
The minimum Go tracer version required is v1.52.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables or system properties to your tracer settings:
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true | WithPeerServiceDefaultsEnabled(true) |
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true | WithGlobalServiceName(true) |
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Note: key:value
pairs are case sensitive.
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | WithPeerServiceMapping |
Each setting accepts a comma separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
The minimum NodeJS tracer versions required are 2.44.0, 3.31.0, or 4.10.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables or system properties to your tracer settings:
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true | spanComputePeerService=true |
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true | spanRemoveIntegrationFromService=true |
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Note: key:value
pairs are case sensitive.
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | peerServiceMapping |
Each setting accepts a comma separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
The minimum PHP tracer version required is 0.90.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables or system properties to your tracer settings:
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true | datadog.trace.peer_service_defaults_enabled=true |
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true | datadog.trace.remove_integration_service_names_enabled=true |
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Note: key:value
pairs are case sensitive.
Environment variable | System property |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | datadog.trace.peer_service_mapping |
Each setting accepts a comma separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
The minimum .NET tracer version required is v2.35.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables to your tracer settings or system properties:
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Note: key:value
pairs are case sensitive.
Environment variable | TracerSettings |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | PeerServiceNameMappings |
Each setting accepts a comma separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
The minimum Python tracer version required is v1.16.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables to your tracer settings or system properties:
Add the following environment variables to your tracer settings or system properties:
DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED=true
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the following settings:
Environment variable | TracerSettings |
---|---|
DD_TRACE_PEER_SERVICE_MAPPING | PeerServiceNameMappings |
Each setting accepts a comma-separated list: key1:value1,key2:value2
.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
As of tracer version v1.16.0
all libraries are supported except for Boto2.
The minimum Ruby tracer version required is v1.13.0. Regular updates to the latest version are recommended to access changes and bug fixes.
To opt in, add the following environment variables to your tracer settings or system properties:
DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true
Note: key:value
pairs are case sensitive.
Datadog uses a default naming scheme for inferred services. If you prefer, you can map specific values to peer services using the DD_TRACE_PEER_SERVICE_MAPPING
environment variable. The environment variable accepts a comma-separated list of key-value pairs.
For example, if you’re using environment variables and you need to rename the peer service 10.0.32.3
to my-service
, use the following configuration:
DD_TRACE_PEER_SERVICE_MAPPING=10.0.32.3:my-service
You can also set the peer.service
value for spans generated by a specific integration. In this case, the setting you define overrides any value that the tracer would have automatically assigned. To set a value for an integration, use the syntax DD_TRACE_<INTEGRATION_NAME>_PEER_SERVICE
for your environment variable.
For example, to set the peer.service
value for all Dalli spans, use
DD_TRACE_DALLI_PEER_SERVICE=billing-api
.
When you enable the DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED
environment variable, it improves how service-to-service connections and inferred services are represented in Datadog visualizations, across all supported tracing library languages and integrations.
Previously, some tracing libraries included the name of the associated integration in service name tagging. For example, .NET tagged gRCP calls as service:<DD_SERVICE>-grpc-client
while Python tagged them as service:grpc-client
. With this option enabled, all supported tracing libraries tag spans from the downstream services with the calling service’s name, service:<DD_SERVICE>
, thereby providing a global default service name.
Consequently, if you have existing:
Update those items to use the global default service tag (service:<DD_SERVICE>
) instead.