Browse Prior Art Database

A New Performance Monitoring Infrastructure for Business Software Systems

IP.com Disclosure Number: IPCOM000124068D
Original Publication Date: 2005-Apr-07
Included in the Prior Art Database: 2005-Apr-07
Document File: 4 page(s) / 146K

Publishing Venue

IBM

Abstract

Disclosed is a new performance monitoring infrastructure for business software systems that takes advantage of explicitly declared performance check points and well defined monitoring interface to meet unique challenges of monitoring the performance of business software systems.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 28% of the total text.

Page 1 of 4

A New Performance Monitoring Infrastructure for Business Software Systems

The core idea of this invention involves three major principles:
1. Providing a mechanism to declare and manage performance sample points. This mechanism can be reused by all developers who would like to do performance analysis of their component. These declared sample points can be enabled and disabled either on a collective or an individual basis to ensure minimal impact of performance data collection on the actual execution of the system as well as making the data more targeted to the performance analysis goals.

     2. Separating the responsibility of placing and managing sample points from the actual actions of taking samples at these managed sample points and making the routine that actually takes the sample a swappable component in the infrastructure.

     3. Separating the responsibility of sample capturing and sample analysis in the infrastructure. Providing the mechanism to perform different performance reports tailored to the unique goals of individual performance analysis activities.

     The following class diagram describes the design of this mechanism described in this disclosure.

«interface» Sampler

DefaultSampler

- register with

1

SamplePointRegistry

1

PerformanceMonitor

- registers with

«interface»

SampleAnalyzer

1

- manages

*

SamplePoint

0..1

     The shaded elements of the diagram are the mechanism (sometimes referred to as the infrastructure) itself, and the non-shaded elements are extensions or customization of the infrastructure. We will go through these elements one by one and see how they interact with one another to achieve the three goals we claim we can achieve earlier in the disclosure.

     Sample point is a particular location in the code that implements a system whose performance needs to be monitored. For example, this could be entry and exit of a block of logic (such as a promotion). These are the places in the code where a snap shot of either time or space performance of the current system needs to be taken. When a SamplePoint is placed in the code, it is given a component name and an identifier. These two attributes can later help the new mechanism to dynamically and selectively monitor the performance of a few particular components and/or SamplePoints. Strategically placed SamplePoints will help to reduce the amount of performance data collected and collect performance data where it matters

Sample

- references

DefaultSample

DefaultSampleAnalyzer

1

[This page contains 3 pictures or other non-text objects]

Page 2 of 4

the most. This is an improvement over the indiscriminative performance data collection one finds in the external profiling tools.

     Simply placing a SamplePoint in the code does not necessarily mean performance samples will be taken at this SamplePoint. That is determined by whether or not this particular SamplePoint is registered in the SamplePointRegistry. SamplePointRegistry is a place where active components and SamplePoints are regi...