Skip to end of metadata
Go to start of metadata

Distributed Transactions

In a service-oriented environment, when multiple teams are responsible for different services, the performance indicators of an overall transaction (such as average response time) are insufficient when you want to do both performance characterization and troubleshooting. The distributed nature of the transaction is an integral aspect of characterizing transaction performance.

For example, when a transaction flows through multiple tiers, you may ask these questions about the distributed activity:

  • How much time is spent in each of the tiers on an average?
  • How much time is spent over the network between tiers on an average?
  • How many times is each tier being called on an average?
  • For a messaging tier, what is the average incoming message rate?
  • Are the correct infrastructure components being used (such as staging vs. production)?
  • What are the characteristics of an individual request?

AppDynamics applies distributed transaction tracing to answer these types of questions for all business transactions as well as for the entire application.

Using a tag, trace, and learn approach, AppDynamics traces the transaction context across all tiers, including JVMs, CLRs, PHP Web servers, and calls to HTTP, JMS, SOAP, databases, third party web services, etc. 

AppDynamics displays distributed communication performance in the business application and business transaction flow maps.

Transaction Tracing

When two tiers communicate over a protocol supported by AppDynamics and both the tiers are instrumented as part of the same business application, the application flow map automatically connects the two corresponding tiers. By default, the flow map displays all measurements per tier. You can drill down to see the performance data for individual nodes in the tier. For details see Application Dashboard and Flow Maps.

  • Inter-JVM or inter-CLR communication

When a JVM or CLR communicates with the external component that is not being monitored as part of the same business application, such as a database or a message queue, you can monitor the performance data for the communication. For more information see Monitor Databases and Monitor Remote Services.

  • CLR or JVM-Backend communication

Distributed Transaction Performance

The Application Dashboard flow map characterizes performance across the business application.

The application flow map provides information about the following performance indicators:

The Business Transaction Dashboard flow map displays the performance characteristics of all requests for a particular business transaction.

The business transaction flow map provides information about the following performance indicators:

  • Rate of distributed activity specific to each tier
  • The percentage of time spent in each tier

In addition to providing performance data and showing bottlenecks, you can use flow maps to compare against baselines. Comparisons against baselines help identify anomalies in distributed communication performance. For more information see Behavior Learning and Anomaly Detection.

Multi-Threaded Transactions

If your application spawns multiple threads to perform its task, you can use AppDynamics to monitor individual threads.

See Configure Multi-Threaded Transactions for Java or Enable Thread Correlation for .NET depending on your platform.

Learn More