Resource monitoring is a term used to describe the observation of a property or asset over time. Typically, these observations are numerical facts or data, also known as statistical data. Most often within the performance testing space a resource can be, but is not limited to, a physical system or a process executing on a system. Resource monitoring is crucial when trying to determine the problem with an application that is failing to perform at reasonable levels, because this type of monitoring allows a performance tester to determine whether there is a lack of system-level resources or an issue with the application itself.
The resource monitoring feature in IBM® Rational® Performance Tester allows real-time monitoring of systems and system processes. This granularity enables problem determination analysts to diagnose a problem accurately; as the resource monitoring data can help an analyst determine if the failure was caused by the lack of system resources (such as memory) or a particular process (such as a database) involved in an applications execution.
There are three resource monitoring data collectors provided in Rational Performance Tester:
- Windows™ Performance Monitor for Microsoft® Windows® systems
- rstatd for Linux®/UNIX® systems
- IBM Tivoli® Monitoring (ITM) for monitoring a variety of platforms
Data collectors extend a generic Resource Monitoring platform, which is included in Performance Tester (See Figure1, the IBM Rational Performance Tester stack architecture). Additional data collectors can be added into the product using Eclipse™ Platform extensions, which will then be automatically loaded by the Resource Monitoring platform.
Figure 1. IBM Rational Performance Tester stack architecture
Because each data collector will have a specific mechanism for retrieving data from a remote host, the Resource Monitoring platform is designed to allow custom Java™ code to be written to implement the data collection mechanism using a common interface.
Once the data is retrieved, the data must be transformed into the Eclipse Test and Performance Tools Platform (TPTP) statistical model format. This model format is based on the Eclipse Modeling Framework (EMF) and is designed to be a generic method of storing statistical data using XML. The open source Eclipse TPTP project provides APIs that abstract the details of storing this data and make is easy to store retrieved data.
All of the data collectors provided in Performance Tester have a specific mechanism of retrieving data; however, once the data is gathered the collectors transform this data into the common statistical model format. Thereby, Performance Tester and other Eclipse-based views to render reports based on this data.
The description and configuration of these data collectors are discussed in Parts 2, 3, and 4 of this article.
Configuring a performance schedule
Resource monitoring is enabled when configuring a performance schedule. Selecting the top-most node in the Schedule Contents section of the Performance Schedule Editor. Figure 2 displays configuration parameters available in the Schedule Element Details section. A tab labelled Resource Monitoring contains the configuration parameters that are used when the schedule in context is executed.
Figure 2. Performance Schedule Editor
Let us explain some of the choices and actions:
- Enable resource monitoring: This check box activates the resource monitoring feature for the performance schedule you are working with. It can be used as an on or off switch for resource monitoring as a whole.
- Ignore invalid resources when executing the schedule: Select this check box to suppress error messages about resource monitoring data sources. These errors can occur if the data sources are unreachable or invalid. If you select this option, you must view logs to see the error messages.
- The Data Source table in the Resource Monitoring tab displays the configured data sources that are collected from when this schedule executes. If this is a new schedule, the Data Source table will be empty. If you have previously added resource monitoring data sources to this schedule, you can Edit or Remove them. Remove does not delete the data source from the file system; it merely removes it from this view because other test schedules or applications might still use the data source.
- Clicking Add New (see Figure 2) creates and allows a user to configure a new resource monitoring location:
- Host (Figure 3), indicates the target host name (Internet Protocol (IP) address for fully qualified host name) to monitor during the execution of the performance schedule.
Tips:
- When using IBM Tivoli Monitoring as the data source, the host field is the location of the resource management collection agent (or monitoring agent) and not the Tivoli Enterprise Monitoring Server.
- When using Windows Performance Monitor or UNIX
rstatdmonitor as the data source, the host field is the target Windows or UNIX system that has to be monitored. - Numerous data collectors are available in the Data Sources list. If required, several data sources can be configured for one location by selecting the desired data sources from the check box list on the left-hand side of the dialog.
Figure 3. Create and configure a new resource monitoring location
- Click Add Existing (Figure 2) if you have existing locations in your workspace that you want to add and configure to the current working performance schedule.
Figure 4. Add existing location to a performance schedule for resource monitoring
Once you have enabled resource monitoring you have to specify the data sources to collect from.
Any configuration changes you make for a particular data source are stored with that location. This means that you have to set up a data source only once. If you export a schedule, it will contain the data source configuration information. This includes potentially sensitive information, such as stored passwords.
It is important to note that to capture accurate resource monitoring data, you must ensure that the clocks on all systems are synchronized. If you do not synchronize the clocks on the workbench and on all of the systems under test, resource counters are displayed inaccurately (with respect to time) in the reports.
Customizing reports and overlaying counters
Performance Tester's report infrastructure allows for display of rich interactive graphs and tables. To aid in problem determination, each graph in the report infrastructure has been enhanced to allow resource data to be placed over the already rendered graphs. This action allows one to correlate two separate data sets, such as page response time and % processor time. Correlation of resource data with response time data help an analyst to determine if there is an issue with the system, capacity of the environment, or the application itself.
There are two ways to overlay counters on a report:
- Add performance counters to an existing graph.
- Drag-and-drop counters onto an existing report.
Add performance counters to an existing graph
Right-click on an existing graph and select Add/Remove Performance Counters > Resource Monitoring Counter (Figure 5) to display the Resource Counters configuration dialog. This menu item is available from any graph in the Performance Report view.
Figure 5: Overlay resource monitoring counter on an existing report
The Resource Counters configuration dialog (Figure 6) allows you to select specific counters and adjust the scaling factor for each counter. Adjusting the scaling factor for a counter is important when trying to analyze correlation between counters that have different data types. For example, processor time is a percentage quantity where as memory is measured in bytes.
Figure 6: Resource Counters configuration dialog
Once the counters are selected and the configuration dialog is complete, the counters are drawn on the selected graph (Figure 7). Hovering over any data point using the mouse will provide a tool-tip containing information about the data point, such as the value of the observation.
Figure 7: Response vs. Time summary correlated with the % Processor Time resource counter
Drag-and-drop counters onto an existing report
Drag-and-drop counters from the Performance Test Run view onto an existing report, as shown in Figure 8. Expanding the tree control in this view allows the user to select specific counters. The tree is organized by the host name, under which are listed the data collection agents, such as UNIX rstatd monitor.
Figure 8: Drag-and-drop a resource counter from the Performance Test Run view
A suggested report to modify with user-defined counters is the Resources report, the last tab in the Performance Report view, as shown in Figure 9. This report spans the entire view allowing more working area than other reports in the view.
The layout of the graph can also be customized using the Customize menu item when you right-click on the graph. This action allows you to set the X and Y axis limits, legend, and change the time range.
Figure 9: Resources report in a performance report
The procedures described here are common to resource monitoring using IBM Rational Performance Tester, in the succeeding parts to this article we will describe how to configure the resource monitoring data collectors provided for Rational Performance Tester:
- Windows™ Performance Monitor for Microsoft® Windows® systems
- rstatd for Linux®/UNIX® systems
- IBM Tivoli® Monitoring (ITM) for monitoring a variety of platforms
Learn
- Learn more about resource monitoring with IBM Rational Performance Tester in Part 2, Part 3 and Part 4 of this article.
- Learn more about IBM Rational Performance Tester on developerWorks.
- Learn about IBM Rational software quality.
- Visit the Microsoft Developer Network (MSDN), Performance Monitoring page.
- Study the Eclipse Test and Performance Tools Platform documentation
- Read the IBM Tivoli Monitoring v6.1.0: Installation and Setup Guide (First Edition, November 2005), GC32-9407
- "Administering OMEGAMON Products: CandleNet Portal, V195 July 2004 Candle Corporation"
- RSTAT - RFC 1831, 1832, and 1833 (These are the RFCs consulted when implementing the RSTAT monitoring component.)
- Learn more about rstat on the HP-UX reference page.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Get a trial download of Rational Performance Tester.
- Here is the
IBM Performance Optimization Toolkit.
Discuss
- Participate in the discussion forum.
- Check out developerWorks
blogs and get involved in the developerWorks community.

Ashish Patel is a software architect and development lead working at the IBM Toronto Software Lab in Canada. He has more than seven years of industry experience in software architecture and development, and four years of business development and entreprenuerial experience. He participated in IBM’s premiere internship program, Extreme Blue, where he co-founded the IBM Performance Optimization Toolkit. He has worked with IBM for two years on numerous start-up products in the software development and test area. Prior to joining IBM, he created software solutions for one of the largest integrated petroleum companies in the world and one of Canada’s top providers of energy. He also founded a privately held software development and consultancy firm, where he was appointed the president and chairman of the corporation, which he operated for four years. He also holds a computer engineering degree from the University of Alberta.




