AppDynamics Application Intelligence Platform
The business transaction is the mechanism by which AppDynamics Application Performance Management orders and monitors application traffic. A business transaction represents a distinct logical user activity such as logging in, searching for items, buying an item, etc. Organizing application traffic into business transactions aligns the traffic with the primary functions of a web business. This approach focuses on how your users are experiencing the site and provides real-time performance monitoring.
Application users don’t complain that the server seems to be experiencing memory leaks or that the code is not optimized. Instead, users say they cannot log into the application or notice that it takes too long to complete a checkout. That is why AppDynamics uses business transactions, such as the Login and Checkout processes, to identify and troubleshoot real-world problems in production.
AppDynamics uses business transactions to:
Business transactions represent either a category or a type of user request. They depict the primary functions of your application. Examples of business transactions include:
How well a business transaction performs is the most important factor when monitoring the health of your application. The performance data for a particular business transaction in your system provides information such as:
A distributed environment typically has multiple tiers deployed with multiple app servers, databases, remote services, etc. A business transaction may span multiple nodes through remote calls to external services, collecting data from all of these components and measuring the processing time required to collect both synchronous and asynchronous data across all tiers.
The method call that starts the business transaction is called the entry point.
For example, when an app server invokes the business logic associated with an eCommerce checkout operation, it makes a database call plus multiple calls to services in other tiers. AppDynamics discovers and groups these activities as a single "checkout" business transaction. This business transaction captures processing time, which relates to the response time typically experienced by a user.
When application requests are received by transaction entry points, AppDynamics automatically discovers and identifies the requests as business transactions. AppDynamics uses information from the transaction entry point to name the transaction.
Multiple user requests, as long as they follow the same code path, are categorized as instances of a single business transaction. For example, one user-click results in the Checkout business transaction being identified as a single request. Then, when another user performs the same action, AppDynamics associates the two requests with the same Checkout business transaction.
AppDynamics monitors and measures how well a business transaction performs and reports these metrics. It analyzes trends in the data to establish dynamic baselines that act as known point of reference against which ongoing performance is continuously measured.
The business transaction monitors the distributed code paths, evaluates performance, and reports anomalies. See Alert and Respond for setting up policies, alerts, and responsive actions such as email notifications.
If anomalies occur, AppDynamics business transactions and self-learning techniques provide robust and rapid means to find and repair problems. See Troubleshoot and Resolve for tips and tutorials.
Optimizing Business Transaction Monitoring
AppDynamics recommends that you configure your system to monitor important business transactions and other operations that are key to your business. There are multiple techniques to employ. For example, you can exclude certain operations from detection. You can combine several operations into a single business transaction, or split a default business transaction to provide more granularity. See Organizing Traffic as Business Transactions for other suggestions and Configure Business Transaction Detection for detailed instructions.