Broker data collection

The WebSphere® Message Broker Monitoring Agent collects data about deployed broker objects for use in drawing topology views and display in workspace tables. The collection of this information can be slow because of the large volume of data that must be retrieved from the broker. However, Version 7.1 of WebSphere Message Broker Monitoring Agent offers more efficient broker data collection to overcome these performance issues.

In versions of WebSphere Message Broker Monitoring Agent prior to Version 7.0, which did not include topology workspaces, broker data was requested from the broker every time the agent was started. This method has the advantage that data is always up-to-date, but data collection can be slow if complex message flows are involved. This method can cause long agent startup times and the large amounts of data that is requested from the broker can cause delays in the broker processing other messages.

The WebSphere Message Broker Monitoring Agent Version 7.1 includes persistent broker data and other new features to overcome these problems. Broker data is stored in a file even when the agent is stopped, so that there is no need for the agent to collect the data every time the agent is started. The process performed by the agent during startup is illustrated in Figure 1.
Figure 1. Broker data collection procedures performed at agent startup
Shows broker data collection procedures at agent startup.
Every time the agent is started, it loads the broker information from the broker data file. When it is the first time the agent has been started, the broker data file does not exist, so all broker data is requested from the broker, and one file is created with the received information. This information is also requested when the broker data file is corrupted.

If the broker data file is read successfully, the agent proceeds to check the reply queue for broker event messages. If the messages indicate that a broker object, such as a message flow, has changed, the agent requests information about only the changed object from the broker. As only information about changed objects is requested, agent startup times and broker overhead are greatly reduced.

Remember: The trace level and accounting/statistics settings are still collected every time the agent is started. However, the overhead placed on both the agent and broker by collecting this data is small.

Requesting all data from the broker, which is done when the agent is started for the first time, can place a significant overhead on the broker because of the large volume of data requested. From WebSphere Message Broker Monitoring Agent Version 7.0 onwards, the agent no longer requests all data simultaneously. Instead, requests for data are sent to the broker in stages. After sending a request for information (for example, about a single broker component) to the broker, the agent waits for a response before sending the next request.

By using this broker data collection method, the broker processes only one message from the agent at a time, instead of receiving a large number of requests simultaneously. This method greatly reduces the performance overhead on the broker. However, the total time required for Version 7.0 and later versions of the agent to collect all required information might be longer than with previous versions of the agent.