How can I understand the flow of requests across my service landscape?

Dynatrace understands your applications’ transactions from end-to-end. This transactional insight is visualized through Service flow, which illustrates the sequence of service calls that are triggered by each service request in your environment. With Service flow you see the flow of service calls from the perspective of a single service request. Along with the specific services that are triggered, you can also see how each component of a request contributes to the overall response time.

To view the service flow triggered by a specific service

  1. Select Transactions & services from the navigation menu.
  2. Click the service you want to analyze to open the service’s overview page.
  3. In the Understand dependencies section click the View Service flow button.

What Service flow shows

The image below shows the service flow triggered by the EasyTravelWebServer service, as well as how each initiated service contributes to the overall response time. The EasyTravelWebServer service calls a Tomcat service. The Tomcat service in turn calls two other services, which call two more services. What becomes immediately apparent is that the Credit Card Verification service contributes the most to overall response time, although its caller, BookingService, is only called by 28% of the requests. This degree of analysis enables you to understand the bigger complexities within your system.

Note: Please note that Service flow visualization isn't designed to show when service calls are executed relative to one another. While Service flow visualization is helpful for understanding the sequence of service-call chains, it doesn't necessarily show the order in which calls were made relative to one another across services.

Service flows can become highly complex. For improved readability of service-flow data, Dynatrace aggregates services that contribute little to overall response time. Aggregated services have names like 2 services, 4 instances, etc. Notice the aggregate named 4 services in the middle column below. Click this to see which services are aggregated here. If you select one of the aggregated services, Service flow will display the requests path of the selected service.

Note: Aggregations are calculated dynamically based the size of your browser window and whether or not you're using your browser's zoom in/out feature.

As you can see in the example above, some of the services in the above service flow appear multiple times (easyTravel Customer Frontend and EasyTravelWebserver). This is because these services were called at multiple points during the flow of this transaction. Each call performs different actions and contributes different amounts to the overall response time. Dynatrace doesn’t aggregate these varying circumstances into a single metric because individually they are significant and provide valuable insight into what’s going on at a deep level in your environment.

Metrics and analysis options

When you select a service within service flow, the path to the service—beginning with the service that triggered the flow—is highlighted in blue (see image below). Additionally, the arrows constituting the path are enriched with two metrics. The first metric shows the percentage of requests initiated by the source service that involve calling the target service. The second metric indicates the average number of calls to the target service that were included in each request.

Apart from response time contribution, you can also view the Average response time and the number of Requests initiated by each service included in service flow. Just click a service to expand it. Once clicked, you can view further details like Avg. time spent in called services and the number of Failed requests (see image above, bottom right).

The details in the top pane relate to the service that triggered the service flow. These values remain constant. The details in the bottom tab change based on the currently selected service in the service flow.

Each pane includes additional analysis options (click Show more to view them):

  • View PurePaths
    Analyze the detailed method-level chain of calls.
  • Analyze backtrace
    Explore the sequence of service calls that led up to the specific service request.
  • View response time
    View how the response time is distributed along different functions of the service (e.g., database usage, code execution, etc.)
  • View response time distribution
    View the response time distribution of requests to the service within a specific time frame.

Lastly, you can focus on a specific part of the service flow by clicking the Add filter button. For more details, see adding a filter.