IBM Rational Performance Tester , Version 7.0

Installation Guide Supplement: Data Collection Infrastructure Installation and Instrumentation


Note

Before using this information and the product it supports, read the information in Notices.

First Edition (January 2007)

This edition applies to version 7.0 of IBM Rational Performance Tester (part number 5724-J96) and to all subsequent releases and modifications until otherwise indicated in new editions.

Copyright International Business Machines Corporation 2007. All rights reserved.
US Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Contents

Overview
Data collection infrastructure
Server requirements for supported data collection scenarios
Configuring, starting, and stopping the data collection infrastructure
Instrumenting application servers to work with the data collection infrastructure
Instrumenting an application server installed on a local host from the command line
Instrumenting an application server installed on a local host using the graphical user interface
Instrumenting an application server installed on a remote host using the graphical user interface
Starting and stopping the data collection infrastructure
To start the RAC with the data collection infrastructure
To stop the data collection infrastructure
Uninstalling data collection infrastructure from application servers
Uninstrumenting an application server from the command line
Uninstrumenting a local or remote application server using the graphical user interface
Uninstalling previous versions of the data collection infrastructure on Windows and Linux systems
Troubleshooting
Notices
Copyright license
Trademarks and service marks

Overview

This guide provides information about the requirements and procedures for installing and instrumenting the data collection infrastructure that complements and works with performance testing. It is intended to be a supplement to the IBM(R) Rational(R) Performance Tester V7.0 Installation Guide.

Data collection infrastructure

The data collection infrastructure, by default, is installed on the local computer workstations where you have installed IBM Rational Performance Tester, Version 7.0 workbench. In order to collect data from other computer systems that are used in distributed applications, the data collection infrastructure must be present on those remote hosts. You must install the Rational Performance Tester Agent, Version 7.0 on all remote hosts that will be used in your distributed applications.

The data collection infrastructure has been tested on the following platforms:

Note:
For Linux systems, the Test and Performance Tools Platform (TPTP) Data Collection Engine feature of the data collection infrastructure is compiled using the libstdc++-libc6.2-2.so.3 shared library. Ensure that this shared library exists under the /usr/lib directory. If it does not exist, you must install the RPM package compat-libstdc++ that comes with the operating system installation media.

The data collection infrastructure works with Java(TM) virtual machine (JVM), Version 1.5 or later. The following are JVM versions that data collection has been tested on:

Server requirements for supported data collection scenarios

The data collection infrastructure collects performance profiling data for distributed applications, and sends the data to the Rational Performance Tester workbench, where you view and analyze the collected data. You can query IBM Tivoli(R) Monitoring for Transaction Performance (TMTP), IBM Tivoli Composite Application Manager for Response Time Tracking (ITCAM for RTT), or IBM Tivoli Composite Application Manager for WebSphere(R) (ITCAM for WebSphere) management server databases to collect past performance data for an application that is deployed in a production environment. With the Response Time Breakdown feature of Rational Performance Tester, you can also monitor a live application in a development or testing environment and collect its data in real time.

In a production environment, you can collect data by querying the management server database for the following system management software:

For a live Web application, the data collection infrastructure collects performance profiling data from the following Web servers:

See the installation guides for complete instructions on installing these products. The installation instructions that follow include information on how to configure these products for use with the data collection infrastructure.

Configuring, starting, and stopping the data collection infrastructure

The data collection infrastructure must be installed on any computer or server involved in running the application being monitored, from which you want to collect performance data. You must then instrument the application servers on those computers to enable application profiling. Also, installations of the Rational Performance Tester workbench include an installation of the data collection infrastructure enabling the collection of data via performance tests or load test schedules.

Instrumenting application servers to work with the data collection infrastructure

For an application server to correctly send performance data to the data collection infrastructure, it must be instrumented correctly and restarted before you start to use data collection. You can use either a command line or graphical user interface to instrument application servers to work with the data collection infrastructure.

Note:
Instrumentation of an embedded WebSphere Application Server, Version 5 is not supported.

Instrumenting an application server installed on a local host from the command line

Note:
Ensure that the application server to be instrumented is running.
  1. Open a command line and go to the rpa_prod directory under the data collection infrastructure installation directory.
  2. The instrumentation utility is called instrumentServer.sh on Linux systems and instrumentServer.bat on Windows system. Enter the command name with no arguments to see the syntax details for the command.
  3. Enter the command name with the arguments that you want to instrument a server. See the examples that follow.
  4. Restart the application server.

Changes will take effect when you restart the server.

Repeat the instrumentation steps for every application server on the computer system involved in any data collection for the applications you will be profiling. Typically, there will be only one application server, but it is possible for you to have more than one on a system.

Syntax and examples of command-line instrumentation commands

To see the syntax for the instrumentServer command, enter the command without any arguments from the directory in which the instrumentation utility is installed.

Examples

To instrument a Linux system that is equipped with an IBM WebSphere Application Server, Version 5.0 or later, server named server1, installed in the directory /opt/WebSphere/AppServer, and no security:

./instrumentServer.sh -install -type IBM -serverName server1 -serverHome 
/opt/WebSphere/AppServer -serverVersion 5

To instrument a Linux system that is equipped with an IBM WebSphere Application Server, Version 6.0, server named server2, installed in the directory /opt/WebSphere/AppServer, with profile name default , and security enabled:

./instrumentServer.sh -install -type IBM -serverName server2 -serverHome 
/opt/WebSphere/AppServer -serverVersion 6 
-profileName default -user my_WAS_userId -password my_WAS_password

To instrument a Linux system that is equipped with a BEA WebLogic application server (with specifics as indicated):

./instrumentServer.sh -install -type BEA -serverName server1 -serverHome 
/opt/bea/weblogic81 -javaHome /opt/bea/jdk141_02 -adminServerHost hostname.xyz.com
-adminServerPort 7001 -user my_BEA_userId -password my_BEA_password
-startScript /opt/bea/weblogic81/mydomain/startManagedWeblogic.sh
Note:
The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start ) must point to the Sun JVM shipped in WebLogic in order for an instrumented server to start correctly.

To instrument a Windows system that is equipped with an IBM WebSphere Application Server, Version 5.0 or later, server named my_Server, installed in C:\Program Files\was5.x, with security enabled:

instrumentServer -install -type IBM -serverName my_Server 
-serverHome "C:\Program Files\was5.x" -user my_WAS_userId 
-password my_WAS_password -serverVersion 5

To instrument a Windows system that is equipped with an IBM WebSphere Application Server, Version 6.0, server named my_Server2, installed in C:\Program Files\was6.0, with profile name default and security enabled:

instrumentServer -install -type IBM -serverName my_Server2 
-serverHome "C:\Program Files\was6.0" -user my_WAS_userId 
-password my_WAS_password -serverVersion 6 -profileName default

To instrument a Windows system that is equipped with a BEA WebLogic application server (with specifics as indicated):

instrumentServer -install -type BEA -serverName server1 
-serverHome C:\bea\weblogic81 -javaHome C:\bea\jdk141_02 
-adminServerHost localhost -adminServerPort 7001 
-user my_BEA_userID -password my_BEA_password 
-startScript C:\bea\weblogic81\mydomain\startManagedWeblogic.cmd
Note:
The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start ) must point to the Sun JVM shipped in WebLogic in order for an instrumented server to start correctly.

Instrumenting an application server installed on a local host using the graphical user interface

  1. If instrumenting a BEA WebLogic server, start the server. This is not required when instrumenting a WebSphere application server as the GUI-based instrumenter will automatically start the server for you.
  2. Click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection InfrastructureApplication Server Instrumenter.
  3. Instrument the server with the desired arguments. See the examples that follow.
  4. If instrumenting a BEA WebLogic server, stop and restart the server. (This step is not needed when instrumenting a WebSphere application server as the GUI-based instrumenter will automatically restart and stop the server for you.)

Repeat the instrumentation steps for every server on the system involved in any data collection for the applications you will be profiling. Typically, there will be only one application server, but it is possible for you to have more than one on a system.

Syntax and examples of GUI-based instrumentation

To invoke the graphical user interface based instrumenter, click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection Infrastructure -> Application Server Instrumentation.

Examples

To instrument a Linux system equipped with an IBM WebSphere Application Server, Version 5.0 or later, server named server1, installed in the directory /opt/WebSphere/AppServer, and no security:

  1. Click Add Local.
  2. Select IBM WebSphere Application Server v5.x from the Type menu.
  3. Type server1 in the Server name field.
  4. Type /opt/WebSphere/AppServer in the Server home field.
  5. Click OK.

To instrument a Linux system equipped with a WebSphere Application Server, Version 6.0, server named server2, installed in the directory /opt/WebSphere/AppServer, with profile name default, and security enabled:

  1. Click Add Local.
  2. Select IBM WebSphere Application Server v6.x from the Type menu.
  3. Type default in the Profile name field.
  4. Type server2 in the Server name field.
  5. Type /opt/WebSphere/AppServer in the Server home field.
  6. Select the Requires global security check box.
  7. Type my_WAS_userId in the User field.
  8. Type my_WAS_password in the Password field.
  9. Click OK.

To instrument a Linux system equipped with a BEA WebLogic application server named server1, installed in the directory /opt/bea/weblogic81, with Java home /opt/bea/jdk15, admin server host hostname.xyz.com, admin server port 7001, and start script file /opt/bea/weblogic81/mydomain/startManagedWeblogic.sh:

  1. Start the WebLogic server.
    Note:
    The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start) must point to the Sun JVM that came with WebLogic in order for an instrumented server to start correctly.
  2. Click Add Local.
  3. Select BEA WebLogic Application Server v8.x from the Type filed menu.
  4. Type server1 in the Server name field.
  5. Type /opt/bea/weblogic81 in the Server home field.
  6. Type /opt/bea/jdk15 in the Java home field.
  7. Type hostname.xyz.com in the Admin server host field.
  8. Type 7001 in the Admin server port field
  9. Type my_BEA_userId in the User field.
  10. Type my_BEA_password in the Password field.
  11. Select the A script starts this server check box.
  12. Type /opt/bea/weblogic81/mydomain/startManagedWeblogic.sh in the Script file field.
  13. Click OK.
  14. Stop and restart the server.

To instrument a Windows system equipped with a WebSphere Application Server, Version 5.0 or later, server named my_Server, installed in C:\Program Files\was5.x, with security enabled:

  1. Click Add Local.
  2. Select IBM WebSphere Application Server v5.x from the Type menu.
  3. Type my_Server in the Server name field.
  4. Type C:\Program Files\was5.x in the Server home field.
  5. Select the Requires global security check box.
  6. Type my_WAS_userId in the User field.
  7. Type my_WAS_password in the Password field.
  8. Click OK.

To instrument a Windows systems equipped with a WebSphere Application Server, Version 6.0, server named my_Server2, installed in C:\Program Files\was6.0, with profile name default, and security enabled:

  1. Click Add Local.
  2. Select IBM WebSphere Application Server v6.x from the Type menu.
  3. Type default in the Profile name field.
  4. Type my_Server2 the Server name field.
  5. Type C:\Program Files\was6.0 in the Server home field.
  6. Select the Requires global security check box.
  7. Type my_WAS_userId in the User field.
  8. Type my_WAS_password in the Password field.
  9. Click OK.

To instrument a Windows system equipped with a BEA WebLogic application server named server1, installed in the directory C:\bea\weblogic81, Java home C:\bea\jdk15, admin server host localhost, admin server port 7001, and start script file C:\bea\weblogic81\mydomain\startManagedWeblogic.cmd:

  1. Start the WebLogic server.
    Note:
    The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start) must point to the Sun JVM that came with WebLogic in order for an instrumented server to start correctly.
  2. Click the Add Local.
  3. Select BEA WebLogic Application Server v8.x from the Type menu
  4. Type server1 in the Server name field.
  5. Type C:\bea\weblogic81 in the Server home field.
  6. Type C:\bea\jdk15 in the Java home field.
  7. Type localhost in the Admin server host field.
  8. Type 7001 in the Admin server port field.
  9. Type my_BEA_userId in the User field.
  10. Type my_BEA_password in the Password field.
  11. Select the A script starts this server check box.
  12. Type C:\bea\weblogic81\mydomain\startManagedWeblogic.cmd in the Script field.
  13. Click OK.
  14. Stop and restart the server

Instrumenting an application server installed on a remote host using the graphical user interface

The graphical user interface-based instrumenter enables you to instrument application servers on multiple remote hosts from your workstation. You must first ensure that the Rational Performance Tester Agent, Version 7.0, is installed on each remote host. Refer to the IBM Rational Performance Tester V7.0 Installation Guide for more information. You must also have an secure shell server installed on each host (Linux ssh server or cygwin for Windows systems).

To instrument a remote host:

  1. Click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection Infrastructure -> Application Server Instrumenter.
  2. Instrument the server with the desired arguments. See the examples that follow.

Repeat the instrumentation steps for every server on the remote host that is involved in any data collection for the applications that you will be profiling and for every remote host with an application server that requires instrumentation. Typically, there will be only one application server, but it is possible to have more than one on a host server.

Syntax and examples of GUI-based instrumentation of remote application servers

To invoke the graphical user interface based instrumenter, click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection Infrastructure -> Application Server Instrumenter.

Examples

To instrument a remote Linux host named linux1 that is equipped with an IBM WebSphere Application Server, Version 5.0 or later, server named server1, installed in the directory /opt/WebSphere/AppServer, and no security:

  1. Click Add Remote.
  2. Populate the Application Server tab:
  3. Populate the Connection tab:
  4. Click OK.

To instrument a remote Linux host named linux2, that is equipped with an IBM WebSphere Application Server, Version 6.0, server named server2, installed in the directory /opt/WebSphere/AppServer, profile name default, and security enabled:

  1. Click Add Remote.
  2. Populate the Application Server tab:
  3. Populate the Connection tab:
  4. Populate the Advanced tab:
  5. Click OK.

To instrument a remote Linux host named linux3 that is equipped with a BEA WebLogic application server named server1 installed in the directory /opt/bea/weblogic81, Java home /opt/bea/jdk15, admin server host hostname.xyz.com, admin server port 7001, and start script file /opt/bea/weblogic81/mydomain/startManagedWeblogic.sh:

  1. Start the WebLogic server.
    Note:
    The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start) must point to the Sun JVM that came with WebLogic in order for an instrumented server to start correctly.
  2. Click Add Remote.
  3. Populate the Application Server tab:
  4. Populate the Connection tab:
  5. Click OK.
  6. Stop and restart the server.

To instrument a remote Windows host named windows1 that is equpped with an IBM WebSphere Application Server, Version 5.0 or later, server named my_Server installed in C:\Program Files\was5.x, and security enabled:

  1. Click Add Remote.
  2. Populate the Application Server tab:
  3. Populate the Connection tab:
  4. Click OK.

To instrument a remote Windows host named windows2 that is equipped with an IBM WebSphere Application Server, Version 6.0, server named my_Server2 installed in C:\Program Files\was6.0, with profile name default, and security enabled:

  1. Click Add Remote.
  2. Populate the Application Server tab:
  3. Populate the Connection tab:
  4. Click OK.

To instrument a remote Windows host named windows1 that is equipped with a BEA WebLogic application server named server1, installed in the directory C:\bea\weblogic81, Java home C:\bea\jdk15, admin server host localhost, admin server port 7001, and start script file C:\bea\weblogic81\mydomain\startManagedWeblogic.cmd:

  1. Start the WebLogic server.
    Note:
    The WebLogic server must be started with the JVM that is included with the product itself. Also, note that the JRockit VM is not a supported JVM. For managed WebLogic servers, the Java Home variable (under Configuration -> Remote Start ) must point to the Sun JVM that came with WebLogic in order for an instrumented server to start correctly.
  2. Click Add Remote.
  3. Populate the Application Server tab:
  4. Populate the Connection tab:
  5. Click OK.
  6. Stop and restart the server.

Starting and stopping the data collection infrastructure

The data collection infrastructure must be started in order to collect performance data from running applications and tests. Additionally, there are two types of agent controllers: Integrated Agent Controller (IAC) and Rational Agent Controller (RAC). The IAC will not function with the data collection infrastructure. Therefore, you must use the RAC with the data collection infrastructure.

To start the RAC with the data collection infrastructure

  1. Exit any running instances of the Rational Performance Tester, Version 7.0 workbench.
  2. Start the Agent Controller:
  3. Start the data collection infrastructure:
  4. Start the web application server.
    Note:
    In order to collect Web services data on WebSphere Application Server you must start the data collection infrastructure before you start Websphere Application Server. Otherwise, Web service data might not be collected.
  5. Start Rational Performance Tester, Version 7.0.

To stop the data collection infrastructure

  1. On a Windows system, click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection Infrastructure -> Stop monitoring.
  2. On a Linux system, from the start menu click Applications -> Systems Tools -> Stop monitoring.
  3. On other platforms, change your working directory to the rpa_prod/rpa_comp subdirectory in the DCI installation directory. On a command line enter ./stopDCI.sh.

Uninstalling data collection infrastructure from application servers

Before you uninstall the data collection infrastructure, you must uninstrument all application servers that were instrumented to work with it. An application server can be uninstrumented either from the command line or a graphical user interface.

Uninstrumenting an application server from the command line

  1. Open a command line, and open the rpa_prod directory in the data collection infrastructure installation directory.
  2. The instrumentation utility, which is also used to uninstrument servers, is called instrumentServer.sh (instrumentServer.bat on a Windows system). Type the command with no arguments to see the syntax details.
  3. Type the command name with the -uninstall argument and all of the other arguments that you used to instrument the server originally. For example, on Windows, to uninstall an IBM WebSphere Application Server, Version 5.1, server instance named my_Server, installed in C:\Program Files\was5.1, with security enabled, type the following command and arguments: instrumentServer -uninstall -type IBM -serverName my_Server -serverHome "C:\Program Files\was5.1" -user my_WAS_userId -password my_WAS_password -serverVersion 5 See instrumentation examples for examples of other original instrumentation arguments. Note: All instrumented servers are listed in the file, InstrumentationRegistry.xml. Important: If you have uninstalled the server or removed the server instance without uninstrumenting it, the instrumentServer utility will be unaware of the absence and will be unable to contact it to uninstrument it. This will block the uninstallation process for the data collection infrastructure.
  4. Restart the server.

Repeat the uninstrumentation steps for every server that you instrumented for data collection. After you are finished, the InstrumentationRegistry.xml file will be empty.You can proceed to uninstalling data collection infrastucture.

Uninstrumenting a local or remote application server using the graphical user interface

  1. Click Start -> Programs -> IBM Software Development Platform -> IBM Rational Data Collection Infrastructure -> Application Server Instrumenter.
  2. Highlight the server you want to uninstrument.
  3. Click Remove.
  4. Restart the server.

Uninstalling previous versions of the data collection infrastructure on Windows and Linux systems

To uninstall previous versions of the data collection infrastructure, use the install manager of the operating system. For example, on a Windows system, use Add/Remove Programs in the Control Panel. Find and remove the program IBM Rational Data Collection Infrastructure, Version 6.0 or later.

If the operating system does not have an install manager, uninstall the data collection infrastructure this way:

  1. Stop the data collection infrastructure.
  2. Go to thedci_prod/_uninst subdirectory in the data collection infrastructure installation directory.
  3. Run ./uninstall.bin.
  4. Follow the instructions in the wizard.

Note:
If you uninstall the data collection infrastructure on a computer that also includes a Rational Software Development Platform product such as Rational Application Developer, Version 6.0 or later, or Rational Software Architect, Version 6.0 or later, it will remove the Agent Controller or data collection component that was installed by that product. If you want to use Agent Controller or data collection with that product after you have uninstalled the previous version of the data collection infrastructure, you will need to upgrade that product to version 7.0 as well.

Troubleshooting

If you have trouble uninstalling previous versions of the data collection infrastructure, ensure the agents are stopped before attempting to uninstall.

See instrumentation examples for examples of other original instrumentation arguments.

Note:
All instrumented servers are listed in the file, InstrumentationRegistry.xml.
Note:
If you have uninstalled the server or removed the server instance without uninstrumenting it, the instrumentServer utility will unaware of the absence, and will be unable to contact it to uninstrument it. This will block the uninstallation process for the data collection infrastructure.

If, after uninstalling the data collection infrastructure, WebSphere Application Server no longer starts, you might be able to fix it by doing the following steps:

  1. Open the file, server.xml in <was_install>/config/cells/<cell>/nodes/<node>/servers/<server>/ (<server> is likely server1, and <cell> and <node> is likely the system name).
  2. Locate the following line: genericJvmArgs="<some set of strings>".
  3. Replace this with an empty string: genericJvmArgs="".

Start the application server.

Notices

(C) Copyright IBM Corporation 2000, 2007.

The XDoclet Documentation included in this IBM product is used with permission and is covered under the following copyright attribution statement: Copyright (C) 2000-2004, XDoclet Team. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this documentation in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this documentation. The furnishing of this documentation does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

Intellectual Property Dept. for Rational Software
IBM Corporation
20 Maguire Road
Lexington, Massachusetts 02421-3112
U.S.A.

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this documentation and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples may include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

Copyright license

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

(C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. 2000 2007.

Trademarks and service marks

See www.ibm.com/legal/copytrade.shtml.