Browse Prior Art Database

Performance Monitoring Infrastructure (PMI) In WebSphere Disclosure Number: IPCOM000015244D
Original Publication Date: 2001-Dec-26
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 46K

Publishing Venue




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

Page 1 of 3

Performance Monitoring Infrastructure (PMI) In WebSphere


Performance Monitoring Infrastructure (PMI) is a generic and extendible infrastructure that is designed to work with the WebSphere family of products for performance data collection and retrieval. Since the WebSphere family has various products, each of which is complex in its own right, it is important to make PMI general, extendible and easy to use. By sharing the PMI infrastructure and providing unified performance monitoring in the WebSphere family of products, development time for adding new instrumentation can be significantly reduced, reusability of code can be increased, and maintainability improved. In WebSphere Application Server V4.0, PMI adds default instrumentation to provide important performance data. Customers can use this performance data to diagnose problems and improve performance by following certain tuning guidelines.

To encapsulate interfaces between PMI and server runtime, PMI organizes performance data into modules. The modules encapsulate PMI implementation details from servers and easily add new instrumentation. To support various products in the WebSphere family of products, PMI defines server side APIs that can be shared among products and client side collector interface. The API's will be implemented based on the different retrieval data environments. In addition, PMI communicates with JVM and returns related JVM performance data to customers.

PMI exports client side APIs to WebSphere customers so the customers can write their own performance monitoring tools using the APIs. The APIs include a wrapper class called PmiClient that hides all the remote operations and data conversions. The PmiClient class greatly increases usability and simplicity for customers.


The PMI infrastructure includes server side, wire-level, and client side packages and APIs. On the server side, PMI organizes data in modules and adds performance instrumentation to server runtime by using interfaces defined between PMI and server components. Then PMI implements the interface, a hidden PMI module that hides all the implementation details from runtime components. For a runtime component, all that is necessary is to get an instance of the interface via a PMI factory and add the calls to the interface at the right places.

Modules within a server are organized in a tree. When a component is instrumented by PMI, a new module will be implemented. To make it easy to implement a module, PMI has an abstract class PmiAbstractModule to implement the common methods in PmiModule interface, and all the concrete modules will extend PmiAbstractModule. Modules extending PmiAbstractModule will be automatically integrated in the module


Page 2 of 3

tree. The updated module tree and its data will be automatically visible to clients upon request.

Each PMI module has a unique ID (e.g., and among all WebSph...