Collecting performance data from a Web service

Collecting performance data from a Web service via the Maelstrom engine is supported on a limited number of WebSphere® Application Server versions. See the toolkit installation guide for information about supported versions.

Note: If you will be collecting Web service data, start the data collection infrastructure before you start WebSphere Application Server. Otherwise, Web service data might not be collected. If it is not possible for you to restart the server after starting the data collection infrastructure, you can force it to reconnect to the ARM engine by disabling and then enabling ARM via JMX or the admin console.

To collect performance data for a Web service, create a new profiling configuration, with the following specifics:

  1. Select J2EE Application as the configuration type.
  2. On the Profiling page, select Overview; then select J2EE Performance Analysis.
  3. Click Edit to edit the profiling set. Select J2EE Performance Analysis.
  4. On the Component tab, ensure Web Services is selected. By enabling this check box, as with any other on the Components tab, you are specifying that you want to collect data from only sub-transactions of edge transactions. Edge transactions are the transactions that initiate the first ARM event (that is, the top, or root, transaction). For example, with servlets, this would be the URL request itself.
  5. On the Filters tab, in the Transactions field, specify a pattern to to filter certain edge transactions. In the case of Web services, you can use this pattern to filter in edge transactions coming from certain Web services (that is, to collect data from the specified transactions and ignore data from others). The general pattern for Web services is:

    ARM Transaction name for the Web service requestor:

    wsrequestor:<wsdlPortName>.<wsdlOperationName>?transport=<transportName>&parameters=<parameterNameList>

    ARM Transaction name for the Web service provider:

    wsprovider:<wsdlPortName>.<wsdlOperationName>?transport=<transportName>&namespace=<targetNamespace>&input=<inputMessageName>

    Use these to create patterns that match only the specific ports, transport types, or operations you want to profile. The valid types for transportName are HTTP and JMS.

    If you want to profile all Web services (and only Web services), use the following patterns:

    wsprovider:*wsrequestor:*
  6. Click Finish.
  7. Click Profile to attach to the agent.
  8. Select Start monitoring from the agent's pop-up menu. Run the Web service to collect the data.

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

Related concepts

Distributed performance and problem analysis tools overview

Related tasks

Creating a profiling configuration for runtime problem determination

Customizing realtime profiling settings

Collecting performance data

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