Network Deployment (Distributed operating systems), v8.0 > Monitor > Monitor overall system health > Develop your own monitoring applications
Develop PMI interfaces (Version 4.0) (deprecated)
We can use the Performance Monitoring Infrastructure (PMI) interfaces to develop your own applications to collect and display performance information. The Version 4.0 APIs are supported in this release, however, some data hierarchy changes have occurred in the PMI modules, including the enterprise bean and HTTP sessions modules. If we have an existing PmiClient application and you want to run it against v5.0, you might have to update the PerfDescriptor(s) based on the new PMI data hierarchy.
The getDataName and getDataId methods in PmiClient have also changed. They are now non-static methods in order to support multiple WAS versions. You might have to update your existing application which uses these two methods. This section discusses the use of the Performance Monitoring Infrastructure (PMI) client interfaces in applications. Read the basic steps in the programming model:
- Retrieve an initial collection or snapshot of performance data from the server. A client uses the CpdCollection interface to retrieve an initial collection or snapshot from the server. This snapshot, which is called Snapshot in this example, is provided in a hierarchical structure as described in data organization and hierarchy, and contains the current values of all performance data collected by the server. The snapshot maintains the same structure throughout the lifetime of the CpdCollection instance.
- Process and display the data as specified. The client processes and displays the data as specified. Processing and display objects, for example, filters and GUIs, can register as CpdEvent listeners to data of interest. The listener works only within the same Java virtual machine (JVM). When the client receives updated data, all listeners are notified.
- Display the new CpdCollection instance through the hierarchy. When the client receives new or changed data, the client can simply display the new CpdCollection instance through its hierarchy. When it is necessary to update the Snapshot collection, the client can use the update method to update Snapshot with the new data.Snapshot.update(S1); // ...later... Snapshot.update(S2);
ResultsSteps 2 and 3 are repeated through the lifetime of the client.