Aggregate Sub-Transaction Response Time Analysis with Correlated Sub-Transactions Observation in Tree Structured Presentation.
Original Publication Date: 2004-Nov-02
Included in the Prior Art Database: 2004-Nov-02
In performance monitoring space in J2EE environment, transaction performance monitoring technology using sub-transaction correlation provides valuable information for the root cause analysis of problems detected in the production enterprise IT systems. The problem involves aggregate sub-transaction response time analysis with correlated sub-transactions observation in tree structured presentation. However, the conventional statistics that present simple sample means for each sub-transactions often fail to exhibit meaningful relationship of parent-child transaction times and therefore fail to present the problem's root cause in understandable/reasonable manners. For example, the simple sample average results in "Child is older than parent" paradox in the tree structured sub-transaction presentation. The shortfalls of the simple sample sub-transaction averages were reported by TMTP (Tivoli Monitoring for Transaction Performance) version 5.2 development team during its development effort. There identified there major patterns where the simple sample sub-transaction average fails: (1) when a parent transaction calls child-transactions of a single class random number times depending on the condition (conditional sub-transaction) (2) when a parent transaction calls a transaction which happens very rarely but takes a relatively long-period of time (rare event) (3)when a parent transaction starts to spend time in a waste (e.g. wasteful looping, wasteful sub-routine calls). The examples are documented in detail in the Description section. We propose to use sub-transaction time statistics per edge aggregation for the above mentioned problem of aggregate sub-transaction response time analysis with correlated sub-transactions observation in tree structured presentation. This approach uses per edge transaction averages, rather than simple sample averages of each sub-transaction. Here, an edge transaction is a sub-transaction set that is represented as a transaction tree structure and is defined as a class (group) of transactions to categorize different type of transactions. With the per-edge average approach, we overcome the three shortfalls of the simple sample average approach. It eliminates the "Child is older than parent" paradox. It clearly indicates the impact of wasteful loops and/or sub-routine calls. It also clearly shows the impact of rare events.