Collecting realtime performance data

Prerequisites:

In order to profile, or collect realtime performance data from an application system, you must first establish a connection to the data collection infrastructure. This is done by first identifying the server that will process the initial transaction request. More specifically, this would be the first application server that the transaction request reaches. (When profiling applications under a performance test, the initial transaction is started in the host that is running the test.) This server is essentially the gateway into the application.

Note: You do not need to explicitly create a connection to every machine involved in the distributed application that you want to monitor. Through a process called dynamic discovery, the workbench will automatically connect to each machine as the transaction flows to it.

Once you know what the first application server is, do the following steps

  1. In the workbench, open the Profiling and Logging perspective (Window > Open Perspective > Other > Show All > Profiling and Logging). If prompted to enable related capabilities, answer Yes.
  2. Click the drop-down arrow on the Profile button
    Profile button
    on the toolbar, and select Profile....
  3. In the Launch Configuration dialog, select the J2EE Application type and click New. Note that if your application is not running on a J2EE application server, but rather is ARM instrumented manually or using a probe, select the ARM Instrumented Application configuration type, instead.
  4. On the Hosts tab, select the host identified above. If the host you need is not on the list, click Add and provide the host name and port number. Test the connection before proceeding.
  5. On the Profiling tab, select the J2EE Performance Analysis profiling set (or the ARM Performance Analysis profiling set if profiling an ARM instrumented application). If you want to customize the profiling settings and filters, click the Edit button. See Customizing realtime profiling settings for more details. Note: When you specify the profiling set options, if you select both Method Code Coverage and Method and Line Code Coverage, WebSphere® Application Server will hang when you start profiling, and your Web application will not respond. You must then terminate the server's Java™ process. To avoid this problem, do not select both of those profiling options at the same time.
  6. Click Profile. The connected agent and its host and process will be shown on the Profiling Monitor view. Depending on your profiling configuration, more than one agent may be shown (for example, if you have created a customized profiling set that collects data using more than one data collection agent).
  7. Before you start monitoring, bring the application to the state right before the performance problem trigger. For example, if an action on a particular Web page is slow, navigate to that page.
  8. Start the monitoring agent by selecting the agent and clicking the Start Monitoring button on the toolbar. If there is more than one agent for this profile configuration, start monitoring each of the agents. Any activity in the application that fits the profiling settings you specified in step 5 will now be recorded. The agent's state will change from <attached> to <monitoring>, and <monitoring...collecting> whenever data is being received from the agent.
  9. In the application, perform the steps required to trigger the performance problem.
  10. Stop monitoring the agent by selecting Stop Monitoring from its pop-up menu. It is recommended that you detach from the agent so that other users can profile the system. Select the agent and click Detach in its pop-up menu. Repeat this step for each agent involved in collecting the data.

Now that you have collected the performance data, you can begin diagnosing the problem. You can view the data using several views including statistics views and sequence diagrams of class and object interactions.

Terms of use | Feedback
(C) Copyright IBM Corporation 2005. All Rights Reserved.