Browse Prior Art Database

Aggregate Sub-Transaction Response Time Analysis with Correlated Sub-Transactions Observation in Tree Structured Presentation.

IP.com Disclosure Number: IPCOM000032348D
Original Publication Date: 2004-Nov-02
Included in the Prior Art Database: 2004-Nov-02
Document File: 5 page(s) / 40K

Publishing Venue

IBM

Abstract

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.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 31% of the total text.

Page 1 of 5

Aggregate Sub-Transaction Response Time Analysis with Correlated Sub -Transactions Observation in Tree Structured Presentation .

Main Idea

This document will explain what is the newly proposed Topology sub-node time statistics by Yasutaka (aka cumulative response time per edge in my previous note) and compare it with the current TMTP Topology sub-node time statistics (aka average response time).

First, start with formal definitions:

Consider an edge transaction consists of S sub-transactions. Here we don't assume any particular parent-child relationship of these sub-transactions yet. Only assumption is that sub-transactions are subsets of the edge transaction (by definition).

Let N0 be the number of edge transactions (invocation counts) observed in a given time period T where {T: t1 <= T <= t2} (in default TMTP configuration t1 is k O'clock, t2 is k+1 O'clock). Let Ni (i=1, ..., S) be the number of the edge's sub-transaction-i invocation counts observed in the same time period T.

Let X0 be the cumulative transaction time of the edge transaction observed in the time period T. Similarly, Let Xi (i=1,...,S) be the cumulative transaction time of sub-transaction-i observed in the time period T.

Let A0 be the average transaction time of the edge transaction observed in the time period T. Similarly, Let Ai (i=1,...,S) be the average transaction time of sub-transaction-i observed in the time period T.

There are following relationships:

A0 = X0/N0

Ai = Xi/Ni i=1,...,S

Note that A0 is the statistics reported in TMTP aggregate Topology view as average response time of the edge transaction. Also Ai is reported in TMTP aggregate Topology view as average response time of sub-transaction-i.

Let Y0 and Yi, i=1,...,S be

Y0 = X0/N0

Yi = Xi/ N0 i=1,...,S (note N0, not Ni)

We call Y0, Yi, i=1,..,S, Yasutaka's transaction time. The meaning of Yasutaka's transaction time, Yi, is merely, on average, how long the system spent in sub -transaction-i while processing one edge transaction. Note that the number of invocations of sub-transaction-i may be more than one and this is the total time period spent in sub-transaction-i in processing one edge transaction.

In the following sections, I will compare behavior of Ai and Yi in several different scenarios. Note that an equation,

A0 = Y0

always holds.

Thus, Yasutaka's edge transaction time is equal to TMTP's edge transaction time.

Case-1: Edge calls Tx-1 once and Tx-1 calls Tx-2 once.

1

Page 2 of 5

In this case, N0 = N1 = N2, thus,

A1 = Y1
A2 = Y2
Therefore, Yasutaka's transaction times match TMTP's average transaction times in this simple case.

Case-2: edge calls Tx-1 once and Tx-1 calls Tx-2 once. Tx-1 also calls Tx-2 Z times where Z is random integer variable (Z = 0,1,2,3...).

This is a case of recursive programming. In this case, N0=N1=N2 but N3 may have any value. Note that N3 can be less than N0 since Tx-1 may not call Tx-3 at all (Z=0). This is a similar case as Bret showed as "Conditional sub transaction...