On this page:
Flow maps present a dynamic visual representation of the components and activities of your monitored application environment. This topic describes how you can view and use flow maps.
Flow Map Overview
Flow maps show the tiers, nodes, message queues, and databases in the environment, and the business transactions that flow through them. The following figure shows a basic flow map for an ecommerce application. In the sample, three server tiers interact with databases and an Apache ActiveMQ message broker.
Types of Connections
Flow lines represent connections between components in the flow map. Solid lines indicate synchronous connections, while dashed lines indicate asynchronous connections.
Many modern frameworks use asynchronous patterns even if you do not explicitly call an asynchronous function or method. For example, your application code may employ asynchronous call to a framework or an Object-relational mapping style API, but the framework itself invokes an asynchronous executor to handle the call. These types of asynchronous segments show up as a dotted line on the flow map. For more about asynchronous exit calls, see Trace Multithreaded Transactions for Java or Asynchronous Exit Points for .NET.
The numbers above the flow lines indicate the calls made per minute to the tier and the average time taken for the request to be serviced; that is, the round-trip time for the request. The round-trip time includes time spent on the network, if applicable to your topology, and the time that the backend server or other process spends processing the request. The calls per minute for a given context, such as a tier, must be one or more for the flow map to display.
If performance baselines are set for transactions represented in the flow map, the flow lines use color to indicate the performance of the service represented by the flow line relative to the baseline. For example, a green flow line indicates that that response times in the time range do not differ significantly from the baseline. A yellow line indicates that response times are slower than the baseline. It takes some time for the Controller to establish baselines for a new installation. If there are no baselines for comparison, the flow lines are blue.
If the Controller detects that a flow map is taking a long time to load, it does not load the flow map automatically. In this case, you can click Show Flow Map to display the flow map if you choose.
Types of Flow Maps
Flow maps appear in several of the built-in dashboards in the UI, and show different information depending upon the context in which they appear:
- All Applications flow map shows all cross application flows. When one application makes exit calls to another, the flow map shows cross application flow within the monitored environment. See Cross Application Flow
- Application flow maps show the topology and activities within an application. It displays metric values across all business transactions in the application for the selected time range. For example, the application flow map displays calls per minute; average response time for calls made to databases and remote services; and business transaction errors per minute. These metrics are based on all calls made from a specific tier to a database or remote service across all business transactions.
- Tier and node flow maps display these metric values across all business transactions for the subset of the application flow related to the selected tier or node.
- Business transaction flow maps show the activity for a business transaction. The START label indicates the tier where the transaction starts (the originating tier). The business transaction flow map shows metrics that are calculated based on all executions of the business transaction during the selected time range.
Snapshot flow maps illustrate the metrics associated with a single snapshot. The metrics values shown in the map are specific to a particular execution of the transaction.
AppDynamics shows cross application flow on all flow maps where appropriate. For example, a tier flow map shows correlation when there are exit calls from the tier to another instrumented application. For more information, see 'Business Applications' on Overview of Application Monitoring.
What an item of information in a flow map represents can differ based on the context of the flow map. For example, for an application flow map, the average response time for calls to a database indicates the average for all calls to the database in the time range.
On the other hand, for a business transaction flow map, the average response time for the database represents the average time for calls to that database for each execution of the business transaction. If a business transaction makes multiple calls to a database, this number is the average response time for all calls to the database per transaction execution. If a business transaction makes two calls to a database, therefore, the value shown for the database connection in the business transaction flow map is likely to be twice the value shown for calls to the same database in the application flow map.
Interacting with Flow Maps
On flow maps you can:
- Click on items in the flow map to see key performance indicators in an informational popup. For some components of the flow map, like tiers, the popup displays additional details.
- Change the Time Range setting to have the flow map represent the activity of the system within the selected time frame.
- For SaaS Controllers, note that the flow maps show a maximum of the last 60 minutes of data, even if the time range in the UI is set to a greater range. This only applies to flow maps; the data in other graphs on the dashboard represent the selected time range.
Click Legend to learn more about how flow maps represent data.
Drag and drop items to rearrange the flow map layout or use automatic arrangement options using the controls at the top right of the flow map:
Use the controls to view the mapped components as a list, auto arrange the flow map—in which components are arranged for the fewest crossing flows—maximize the view, and more.
Managing Flow Maps
In a large scale deployment, the flow map may show hundreds of monitored nodes, not all of which may be of interest to specific users or teams. You can create flow maps that are targeted to specific areas of interest by creating custom flow maps.
The custom flow map can be configured to show only certain tiers or those based on performance thresholds, for example:
- Only tiers from where the load exceeds fifty calls per minute and the average response time exceeds 10,000 ms
- Only backends receiving at least 400 calls per minute and generating more than 10 errors per minute
To create, copy, or delete a flow map, click the flow map menu and click Manage My Flow Maps.
When you create a flow map, the new flow map inherits the context of the flow map in which it was created, whether created from an application, business transaction, tier, or node flow map. Customize your new flow map as described next.
Customizing Flow Maps
You can customize flow maps to show information based on performance criteria or to have specific tiers or databases and remote services visible.
You can customize a built-in flow map, but in most cases, you will likely want to customize a flow map you have created. To customize a flow map, choose Edit Current Flow from the flow map menu. You can make the flow map shared or private. When shared, your custom flow map appears in the flow map menu for all users.