PMI organization and implementation

PMI follows a client/server architecture. In PMI terms, a server is any application that uses the PMI API to collect performance data; servers can include application servers, HTTP servers, and Java applications. WebSphere Application Server provides a server named PerfServer that is responsible for retrieving performance data from other servers in the domain and making the data available to interested clients, as shown in Figure 1. A client is an application that receives performance data from a server or servers and processes the data; clients can include graphical user interfaces (GUIs) that display performance data in real time, applications that monitor performance data and trigger different events according to the current values of the data, or any other application that needs to receive and process performance data.

Figure 1. The role of PerfServer in collecting and distributing performance data



The role of PerfServer in collecting and distributing performance data

Each piece of performance data has two components, a static component and a dynamic component. The static component consists of a name and an ID to identify the data, as well as other descriptive attributes that assist the client in processing and displaying the data. The dynamic component consists of information that changes over time, such as the current value of a counter and the time stamp associated with that value.

Performance data is classified into the following four types:

Data is organized by modules; each module has a configuration file in extensible markup language (XML) format that determines its organization. The configuration file lists a unique identifier for each piece of performance data in the module. A client can use the data's unique ID to retrieve the data's static information; the server then sends the dynamic information associated with that data to the client. A server can track many instances of each type of performance data--for example, a number of pieces of performance data tracking the average response time of bean methods. In this case, each piece of performance data shares the same ID, and the server sends additional identifying information (for example, the bean's home name) along with the performance data so that clients can distinguish among the different instances.

PMI interfaces with WebSphere administration utilities to enable administrators to control the amount and level of performance data collected. You can access the PMI administrative interface by using the Administrative Console.