The Five Essential Elements of Application Performance Monitoring: Chapter 2 - Tracking and Monitoring the User Transaction

Businesses are driving their IT operations managers to improve performance and boost productivity by becoming increasingly application-centric, a radical change of the infrastructure-centric approach that IT has had for years. At the same time, however, applications themselves are becoming increasingly difficult to manage as they move toward highly-distributed, multi-tier, multi-element constructs that in many cases rely on application development frameworks such as Microsoft .NET or Java.

In The Five Essential Elements of Application Performance Monitoring, author and renowned business technology expert Don Jones discusses an Application Performance Monitoring (APM) approach that helps businesses achieve this new application-centric focus.  You will learn how to improve application performance from the perspective of the business and the end user.  Jones offers an informative discussion of new tools and techniques that are enabling new, more effective forms of APM, and closes the book with a set of evaluation criteria for APM tools, based on this approach.


Chapter 2: Tracking and Monitoring the User Transaction

Once you've accepted that the end user experience (EUE) is the ultimate top-level metric of your application's performance, how will you actually monitor it? More importantly, when the EUE isn't where you need it to be, how can you start finding the root cause of the problem?

The answer to both of these questions is the user transaction. I should probably take a minute to ensure we're on the same page with the term transaction. In the software development world, transaction usually means some group of operations that must be completed together or not completed at all. For example, in a financial application, you have to be sure to debit and credit the two sides of a ledger at the same time; if you only do one or the other, everything's messed up. A user transaction has a vaguely similar sort of meaning: It's a collection of discrete steps that a user undertakes to complete some higher-level task. The classic example is an e-commerce shopping cart, which not only involves numerous steps for the user but also typically includes numerous back-end steps: saving a shopping cart, processing a credit card, generating an order entry, creating an invoice, and so forth. User transactions typically impact multiple components in your application, and they are the top-level unit of work that results in the EUE that you monitor.

Monitoring the user transaction can be incredibly complicated simply because our applications have, over the years, evolved into pretty complex systems. In fact, monitoring application performance used to be a lot easier.