The Service Map decomposes your application into all its component services and draws the observed dependencies between these services in real time, so you can identify bottlenecks and understand how data flows through your architecture.
The Service Map visualizes data collected by Datadog APM and RUM. Setup is not required to view services.
Ways to use it
The Service Map provides an overview of your services and their health. This cuts through the noise and isolates problem areas. Also, you can access other telemetry collected by Datadog directly from this view.
Filtering versus changing scopes
The Service Map can be filtered using facets or a fuzzy string match on service names. Facets are tags that Datadog automatically applies to service data, and include service type (for example, web server, database, cache), last deploy time, or monitor status. Filtering is particularly useful in a microservices environment with hundreds or thousands of nodes. In addition, you can scope the Service Map to a specific time range, which helps keep track of your evolving architecture.
Services are also scoped by
env, and optionally a Second Primary Tag. Using the dropdowns to select a different scope draws an entirely different map consisting of the services within that scope. These services cannot call or be called by services in other environments.
Mousing over a service highlights it and shows its request traffic as animated lines to better emphasize directionality.
Clicking a service offers you the option to inspect that service. This isolates the service, displays the source of requests from other services, and the requests for data sent by this service to other services. Generally, the services on the left are closer to your customers, and the ones on the right are more likely root causes.
On the inspection page, each node can be inspected allowing you to pivot around the Service Map one dependency at a time.
A node is collapsed when there are two services in the filter (applied through the search bar or facets) that are connected by one or more services which are not in the filter.
The “service” tag
Clicking on a service reveals further filtering options:
The service tag has a special meaning in Datadog, and is used both to identify APM services and to link them to other parts of the product.
The following screenshot shows a dashboard query for
service:fse-auto-process. This is tagged automatically by APM.
Using this tag on your Host Map or logs with the same key allows Datadog to join applications to logs, infrastructure, or custom business metrics. On the visualization menu shown above, each option pivots to the appropriate view of the collected data scoped to your
Additionally, monitors can be tagged by service in the “Say what’s happening” section. This allows you to associate monitors for any metric, including custom business metrics, with your services. The status of monitors is exposed directly on the Service Map.
Data freshness and meaning
Nodes and edges
Nodes represent services exactly as instrumented in APM and match those in your Services page. Edges represent aggregate calls from one service to another. These interactions are shown on the flame graph for each individual trace.
New services or connections appear within moments of being instrumented and age out if there are no corresponding traces seen for 30 days. This takes into account services that do work infrequently, but are an important part of a functioning system.
If a monitor is enabled for a service, the circumference has a weighted border colored with green, yellow, red, or grey, based on the status of that monitor. If multiple monitors are defined, the status of the monitor in the most severe state is used.
Monitors are not constrained to APM monitors. The service tag, described above, can be used to associate any monitor type with a service.