Collecting data for performance issues using JMX statistics

Merative ™ Social Program Management is now Cúram ™ by Merative™

Collecting data for Merative ™ Social Program Management performance issues using JMX statistics

Question & Answer

Question

How do you collect JMX Statistics in Merative Social Program Management? Collecting Merative Social Program Management JMX statistics before calling Merative support will help clarify the problem and save time analyzing the data.

Answer

Merative Social Program Management JMX performance files should be provided for all relevant application server or batch environments. For more information about Merative Social Program Management JMX statistics, see the Configuring Merative Social Program Management JMX topic of the documentation.

Due to its low overhead and value in giving visibility to Merative Social Program Management performance data, it is recommended that JMX statistics are always enabled and monitored in production environments.

Considerations for Running Merative Social Program Management JMX Statistics

In terms of performance overhead, the only JMX feature that can have a significant impact on certain systems is JMX Transaction Tracing. Transaction tracing is off by default and should be used only when investigating issues, and only for a short period. It is controlled by the curam.jmx.transaction_tracing_enabled property.

Merative SPM JMX Statistics Setup and Access

See the Access to the JMX Statistics topic in the documentation for details on how to set up and access JMX statistics in the Merative Social Program Management application.

With multiple environments or timeframes, when downloading statistics via a browser it is suggested that you name or store the output zip files so they can later be processed or associated with other related artifacts.
If you are gathering JMX statistics for a specific repeatable scenario it can be useful to reset the statistics before rerunning the scenario so the values are more representative.
Reset statistics by using the URL: Curam/JMXStats.do?action=reset

Verifying JMX Statistics

Incorrect configuration can cause JMX statistics to be incomplete. You can do the following for any JMX statistics file and be confident that any others created in the same context are valid:

  1. The JMX statistics XML file is densely formatted and not very human-readable. Use the following sample Ant build script to convert all XML files in the current directory to HTML, which is a more user-friendly format:


    <?xml version="1.0" encoding="UTF-8"?>
    <project name="JmxToHtml" default="go">

    <target name="go" description="Formats JMX files into HTML documents.">
    <xslt destdir="." excludes="build.xml" style="JMXStats.xsl">
    <mapper type="glob" from="*.xml" to="*.html"/>
    </xslt>
    </target>
    </project>
  2. Search for the BPOMethodStats table and ensure it has content. (Not to be confused with the InFlightBPOMethodStats table, which might be empty if there is no in-flight activity when the statistics were generated).
  3. If there is no BPOMethodStats data, review the Configuring Merative Social Program Management JMX topic in the documentation, update your configuration (which may require an application server restart), re-gather the statistics, re-validate the statistics, and submit them with your PMR.

Timer-Based JMX Statistics

Merative Social Program Management JMX statistics can be configured to run on a timed basis; for example, once per hour. Setting up timer-based statistics involves passing Java properties on the JVM invocation of either the application server or the batch process.

The following table describes the Merative Social Program Management JMX timer properties:

Property Description Default value
curam.jmx.output_statistics_timer_enabled Enables Merative Social Program Management JMX timer statistics. FALSE
curam.jmx.output_statistics_timer_folder Specifies the folder where statistics files are placed. The temporary directory that is based on the Java java.io.tmpdir property.
curam.jmx.output_statistics_timer_period Specifies the frequency, in milliseconds, that statistics are gathered. The timer doesn't begin until 60 seconds passes. Therefore, a setting of 60000 means statistics are gathered when 2 minutes passes. 300000 (5 minutes)

The gathered statistics are cumulative.

Your only option for Merative Social Program Management JMX statistics with batch programs is timer-based statistics; see Collecting Data for Merative Social Program Management batch performance issues for more information.

To configure timer-based JMX statistics with WebSphere use the administrative console:

  1. Navigate to: Servers > Server Types > WebSphere Application Servers > Server
  2. Under 'Server Infrastructure' click 'Process Definition'
  3. Under 'Additional properties' click 'Java Virtual Machine'
  4. Add the three properties above to 'Generic JVM Arguments', for example:
    • -Dcuram.jmx.output_statistics_timer_enabled=true
    • -Dcuram.jmx.output_statistics_timer_folder=C:\JMXStats
    • -Dcuram.jmx.output_statistics_timer_period=3600000
  5. Save the changes to the master configuration.
  6. Repeat the steps for all relevant servers (consider a different folder for each server).
  7. The modified servers must be restarted for the changes to take effect.

With this method of generating Merative Social Program Management JMX statistics, the output is obtained in the specified folder(s).
Note: For applications in the application server, when using timer-based JMX statistics with earlier Merative Social Program Management versions the statistics may not be complete. In these cases use statistics gathered as per the Configuring Merative Social Program Management JMX and Access to the JMX Statistics topics in the documentation.

Outbound Web Service JMX Statistics

To gather Merative Social Program Management JMX statistics for outbound web service calls set the curam.jmx.ws_outbound_statistics_enabled property to YES as described in this table:

Property Description Default value
curam.jmx.ws_outbound_statistics_enabled Specifies whether outbound web services statistics are gathered. NO

For the online application, setting the property is via the Merative Social Program Management sysadmin user interface and for batch it is via a JVM argument (-Dcuram.jmx.ws_outbound_statistics_enabled=YES).

What to do next

Once you have collected the preceding information, you can submit the diagnostic information to Merative support.

You can submit files using one of following methods to help speed problem diagnosis:

For a listing of all technotes, downloads, and educational materials specific to the** Merative Social Program Management, search the Merative Social Program Management product support site.

Document Information

More support for:
Merative Social Program Management

Software version:
All Version(s)

Operating system(s):
AIX, HP-UX, Linux, Solaris, Windows, z/OS

Modified date:
21 June 2023