Browse Prior Art Database

A generalized methodology for building work units or generating reports based on hierarchical structures. (SelectiveTree reporting algorithm) Disclosure Number: IPCOM000028824D
Original Publication Date: 2004-Jun-03
Included in the Prior Art Database: 2004-Jun-03
Document File: 2 page(s) / 34K

Publishing Venue



In many cases, including performance analysis, the intrinsic structure of collected data is in the form of a tree. Generating reports of this data involves traversal of the tree or selected subsets of the tree. There are times when it is useful to gather information from a tree by selecting the levels of a tree in a specified order. Disclosed is a method for identifying the levels and collecting the information in a generic manner. We also describe a flexible approach of select only the reports desired rather than hard coding a large more comprehensive set. Thus a user can tailor her output to exactly what she wants rather than selecting out from a larger more general output set. This approach can be applied as one step in a pipeline of steps which use this information.

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

Page 1 of 2

A generalized methodology for building work units or generating reports based on hierarchical structures. (SelectiveTree reporting algorithm )

As an example of this approach consider our "Tprof" tool which is available in the open source Performance Inspector(*) project available on DeveloperWorks ( Tprof data is collected in a tree data base with the following hierarchy:

1) PID(P) for Process ID.
2) TID(T) for ThreadID
3) MOD(M) for Module or Executable
4) SYM(S) for Symbol/Function/Method in the executable
5) Count(C): Count of occurrence of this unique path.

Previous approaches have determined which views of the data were desired and hard coded those reports. Here we describe a generic, data driven approach that can provide as few or as many reports as desired, each with a different ordering of the data.

We refer to a report by a list of characters. For example for the report of PID, TID, MOD with appropriate counts is the PTM report. We provide a file as input where one report is defined per line. The following file create five reports.



The tree database stores tprof ticks in a 5 tuple.

<P, T, M, S, C>;

For each report specification, the original database is traversed

completely. At each original leaf a corresponding traversal of the report

tree is executed. The original tick count is accumulated at the

leaves of the new tree.

An example:

DataBase tree of 5 leaves

We descr...