HP Diagnostics 8.0, 8.01, 8.02, 8.03, 8.04, 8.05

Readme

Software version: 8.05 / September 2010

This file provides the following information about HP Diagnostics:

Documentation

Installation Overview

What's New 8.05

What's New 8.04

Whats New 8.03

What's New 8.02

What's New 8.01

What's New 8.00

System Requirements

Notes and Limitations

Support

Legal Notices

Documentation

The first page of this readme document contains the following identifying information:

  • Version number, which indicates the software version.
  • Publish date, which changes each time the document is updated.

In addition to this readme, please see the Patch_Install_Instructions.pdf (in each patch
download package) for important upgrade and patch installation instructions.

The full Diagnostics documentation set was last updated and posted on the manuals download site for the
8.03 release. To check for recent updates or to verify that you are using the most recent edition, visit the
following URL:

http://h20230.www2.hp.com/selfsolve/manuals

This site requires that you register for an HP Passport and sign-in. To register for an HP Passport ID, go to:

http://h20229.www2.hp.com/passport-registration.html

Or click the New users - please register link on the HP Passport login page.

You will also receive updated or new editions if you subscribe to the appropriate product support service.
Contact your HP sales representative for details.

To view files in PDF format (*.pdf), Adobe Acrobat Reader must be installed on your system. To download
Adobe Acrobat Reader, go to the following URL: www.adobe.com

Installation Overview

Diagnostics patch releases, such as 8.05, contain a full replacement of the Diagnostics components; therefore
you need to follow the same instructions as for an upgrade.

Upgrade and patch installation instructions are provided in the HP Diagnostics Installation and
Configuration Guide in Appendix G.

For patch releases, installation instructions are also provided in a document available with each package
download (Patch_Install_Instructions.pdf). The patch install instructions are a duplicate of
Appendix G, provided in each download package as a convenience.

Important Installation Note:

The configuration guidelines found in the Diagnostics Installation guide for setting up SiteMinder module
are incorrect (defect 49236).

  1. Set up Apache Server 2.2 with reverse proxy (reverse proxy redirection works fine) to Diagnostics
  2. Enable the SiteMinder Agent in the Apache Server
  3. Configured the SiteMinder Module in the jaas.configuration

When entering into the SiteMinder site and provide credentials, the Browser shows "Internal Server Error".

To correct this, add "ProxyPass /siteminderagent !" to the httpd.conf and before other ProxyPass directives.

An example of Apache reverse proxy setup on HP-UX - update procedure as follows:

Edit the Apache configuration file httpd.conf and add the following properties:

ProxyPass /siteminderagent !

ProxyPass / Error! Hyperlink reference not valid. of Diagnostics Server>:2006/
(2006 is the default Diagnostics Server port, use the port configured for your Diagnostics Server)

ProxyPassReverse / Error! Hyperlink reference not valid. of Diagnostics Server>:2006/
(2006 is the default Diagnostics Server port, use the port configured for your Diagnostics Server)

What's New in 8.05

Diagnostics 8.05 has a number of defect fixes and a number of new features. Note that the defect tracking
number shown (for example 35266) is generally prefixed with QCCR1I.

New Features

  • UI - The ability to print the thread dumps from the profiler view (47024)
  • Background: Prior to 8.05, it was not possible to print the thread dumps from the profiler view.

    Description: New to this version is the ability to print the thread dumps from the profiler view.

    Benefits: Usability

  • Java Agent - Felix Framework Support (34416)
  • Background: Customers who depended on the Felix framework for application development could not
    measure the performance of their applications in Diagnostics.

    Description: New instrumentation points have been added to measure the performance of applications
    created using Felix.

    Benefits: Functionality (Platforms)

  • Server - Extend the HP Diagnostics (MercuryStatusAlerts.mib) to transfer the information to Tivoli
    (41715)
  • Background: In order to transfer information to the IBM Tivoli product (server name and probe of
    the event), the HP Diagnostics (MercuryStatusAlerts.mib) should be enhanced.

    Description: In 8.05, alertProbe, alertHost, and alertPath have been added to the MIB to provide
    additional entity info when applicable.

    Benefits: Functionality

  • Server - Keepalive from probes is impacting the performance on the server due to communication
    overhead. (45642)
  • Background: Keep Alive from probes in some high volume customer environments will severely
    impact the performance of the Commander server.

    Description: The server was modified to improve the algorithm that sends the keep alive messages
    so that performance is not as heavily impacted.

    Benefits: Performance

  • Server - CAM Discovery: Make throttling of queries configurable (41529)
  • Background: Prior to this release, it was not possible to instruct the server on how often to run
    discovery queries. In some cases, it is advantageous to throttle down or even throttle up the queries.

    Description: The property file server.properties contains entries now to throttle queries.

    # default max throughput for discovery ... making it faster will use more CPU and disk resource

    #cam.discovery.throughput.max_hits=20

    #cam.discovery.throughput.per_time=10s

    Benefits: Performance

  • Java Agent - Support of AXIS2 Web Services (33847)
  • Background: Customers who depended on AXIS2 Web Services for application development could not
    measure the performance of their applications in Diagnostics.

    Description: New instrumentation points have been added to measure the performance of applications
    created using AXIS2 Web Services.

    Benefits: Functionality (Platforms)

  • UI - Allow the deletion of Server Requests (41717)
  • Background: Prior to this release, via the context menu, it was possible to delete a probe but not a
    server request.

    Description: It is now possible to delete a server request via the context menu.

    Benefits: Usability, Functionality

  • UI - Throttle Enterprise UI Queries To Improve Performance (41821)
  • Background: In order to support 100 concurrent Enterprise UI sessions or more, the UI needs to throttle
    the queries that the UI is executing so as to not inundate the server. This is like a freeway entrance
    ramp light that only allows 2 cars every N seconds to keep the freeway from getting overly jammed with
    cars.

    Description: These values in the ui.properties can be used to throttle update frequency of UI queries to
    the server. This is important when there are hundreds of Enterprise UI users. The Enterprise UI data
    is updated based on the time control (last 5 minutes, 20 minutes, 1 hour, etc.) and data type. For
    example trend data that populates charts are updated every 5 seconds when the time control is set to at
    last 5 minutes. When the property
    ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    TrendDataHandle=2 is enabled then the chart will update every 10 seconds ( 5 s * 2 multiplier).
    Adjust the multiplier upward as the number of users increases.

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    SummarySetDataHandle=2.5

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    SummaryDataHandle=2

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    TrendDataHandle=2

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    EntityContentsDataHandle=2.5

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    GetAlertEventsHandle=2

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    GetMetaDataHandle=2

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    BizTxnTopologyDataHandle=3

    #ui.query.update.frequency.multiplier.com.mercury.diagnostics.common.data.query.builder.handles.
    ServerRequestTopologyDataHandle=3

    Benefits: Performance

Defect Fixes

.NET Agent Fixes

  • 42342 - A WCF method is not being detected as a WCF method
  • Problem - The problem is that when you define a method like IBooksPort.GetBook(), the method name
    ends up with a fully qualified name like services.pernix.local.IBooksPort.GetBook. When this happens
    Diagnostics cannot find this method in the metadata so Diag cannot figure out that it is a WCF method.
    These methods should be detected as WCF methods.

    Resolution - These methods will now be detected as WCF methods.

  • 49315- .NET Probe crashes on VMWare environment. The same same version of Probes on physical non-virtualized servers which host the exact same .NET application pools, works fine without experiencing this problem. Problem is only reproducible on VM environment.
  • Problem - .NET probe crashes on VMWare environment. The same version of probes on physical non-virtualized servers which host the exact same .NET application pools, works fine without experiencing this problem. Problem is only reproducible on VM environment. The crash seems to be triggered by accessing perfmon counters for a .NET version 3.5.

    Resolution - Added an option in probe_config.sml file which will prevent the probe from accessing perfmon counters. The committed memory metric for the probe will revert to using Total Memory.

    To disable the perfcounter access set

    <vmware disableperfcounters="true"/>

    The default is false

  • 39569 - After upgrading the .NET agent, some features such as RUM/TV integration no longer work.
  • Problem - After upgrading the .NET agent, one or more .NET agent assemblies are missing that affect
    RUM/TV integration.

    Resolution - This is a known operating system issue (http://support.microsoft.com/kb/905238). The
    "upgrade" mode of the 8.05 agent install package now applies a workaround automatically to avoid
    this Microsoft defect.

  • 42342 - When you disable the .NET Agent from the menu, IIS hosted applications continue to run the
    probe even after an "iisreset".
  • Problem - The .net profiler checks for the environment variable COR_ENABLE_PROFILING=1 to
    indicate that the probe is enabled. The environment variable is set in the "global" environment space
    for all processes, and also specifically for the w3svc service. Performing a 'disable probe' action removes
    the environment variable, indicating that the probe is disabled.

    If a system is rebooted with the probe in the 'disabled' state (no environment variable), the svchost
    serving up w3svc will never see the new environment variable (when an 'enable' occurs).

    Resolution - Always keep COR_ENABLE_PROFILING around for w3svc, and just set it to '0' for disable
    and '1' for enable.

  • 44668 - Server Error: CLR detected an invalid program
  • Problem - This problem was caused by our instrumentation code not handling generic methods correctly.

    Resolution - We made a change to the instrumentation logic to handle generic methods correctly

Collector Fixes

  • 39409 - SAP Collector runs out of memory when under heavy load
  • Problem - By design, a single SAP Collector had to monitor the entire ABAP cluster (i.e. all the Dialog
    Instances). This had scalability issues, especially in the presence of a lot of busy Dialog Instances. The
    data we got back was simply too much for a single Collector to handle.

    Resolution - A fix was Implemented which allows for splitting the cluster into multiple Collectors. For
    example if the cluster has 7 Dialog Instances, the user can now monitor 4 instances with one Collector
    and 3 with another. Previously all 7 had to be monitored by the same collector.

    In order to do that, the user can use the new <dialogInstance> tag when editing the r3config.xml. Refer
    to r3config.xsd for detailed documentation.

    For example, previously the below configuration would cause the Collector to collect data from the entire
    cluster (even if it has 10 instances)

    <r3system name="SomeABAPStack" systemId="GBR" timezone="GMT+5:30">

    <direct-connection>

    <client>000</client>

    <user>myuser</user>

    <password>12345</password>

    <host>foo.mycompany.com</host>

    <systemNumber>00</systemNumber>

    </direct-connection>

    </r3system>

    The following configuration tells the Collector to only collect from 3 instances (00, 01, and 10). Similarly,
    the rest of the instances can be monitored by a different Collector:

    <r3system name="SomeABAPStack" systemId="GBR" timezone="GMT+5:30">

    <direct-connection>

    <client>000</client>

    <user>myuser</user>

    <password>12345</password>

    <host>foo.mycompany.com</host>

    <systemNumber>00</systemNumber>

    <dialogInstance>00</dialogInstance>

    <dialogInstance>01</dialogInstance>

    <dialogInstance>10</dialogInstance>

    </direct-connection>

    </r3system>

  • 36676 - SAP Collector - Unable to start SAP Collector due to host name containing underscore
  • Problem - Customer can't start the collector because the host name contains underscores. The Collector's
    log contains the following error:

    2009-12-09 15:03:58,629 SEVERE r3collector [main] Unhandled exception for task InstanceDiscovery for
    R07 due to:
    java.lang.IllegalStateException:
    Unexpected format for server name: a_b_c_d. Expected three tokens delimited by '_' at
    com.mercury.diagnostics.sap.r3.function.servers.ServerRecord.getR3Identifier(ServerRecord.java:125) at
    com.mercury.diagnostics.sap.r3.topology.R3Instance.createApplicationInstances(R3Instance.java:164) at
    com.mercury.diagnostics.sap.r3.task.InstanceDiscovery.executeTask(InstanceDiscovery.java:62) at
    com.mercury.diagnostics.sap.r3.task.AbstractTask.run(AbstractTask.java:150) at
    com.mercury.diagnostics.sap.r3.topology.R3Instance.startTasks(R3Instance.java:119) at
    com.mercury.diagnostics.sap.r3.R3Collector.start(R3Collector.java:64) at
    com.mercury.diagnostics.probe.external.ExternalProbe.start(ExternalProbe.java:170) at
    com.mercury.diagnostics.common.util.DiagnosticsProcess.postInitialize(DiagnosticsProcess.java:109) at
    com.mercury.diagnostics.common.loader.ModuleLoader.initModules(ModuleLoader.java:690) at
    com.mercury.diagnostics.common.loader.ModuleLoader.access$3(ModuleLoader.java) at
    com.mercury.diagnostics.common.loader.ModuleLoader$1.run(ModuleLoader.java:173) at
    java.security.AccessController.doPrivileged(Native Method) at
    com.mercury.diagnostics.common.loader.ModuleLoader.initializeEverything(ModuleLoader.java:159) at
    ...

    Cause - The Collector does something called "instance discovery", which discovers the individual Servers
    within R/3. Basically it asks the main R/3 Server for all the Servers' information and gets back some
    strings in the format:

    <serverHost>_<R3systemID>_<systemNumber>.

    The collector then needs to parse this string to extract the individual information. The presence of the
    underscore in the <ServerHost> was causing this parsing to fail. As a result, the Collector could not
    connect to the individual Servers so no collection was taking place. This will happen for any customer
    whose R/3 host names contain underscores.

    Resolution - The code has been modified to take into account underscores in the host name.

Java Agent Fixes

  • 46154 - Updating dispatcher.properties files causes probe to 'forget' mediator assignment
  • Problem - Updating JAVA probes dispatcher.properties files causes probe to 'forget' mediator
    assignment if set on the command line.

    Resolution - If you do not want the mediator assignment from the file to override the command line
    option, simply comment it out when you change the file. There will no longer be warnings about
    NullPointerException.

  • 39967 - Java Profiler crashes with NullPointerException for WebSphere on SPARC Solaris
  • Problem - When the user tries to log in to the Profiler with "change" capabilities, the Profiler crashes.
    Using "view" only capabilities work.

    Resolution - Internal coding issue, the crash no longer occurs.

  • 48818 - BEA_JPD point has trended_methods setting OOB, resulting in thousands of trended methods
  • Problem - BEA_JPD point has trended_methods setting OOB, resulting in thousands of trended
    methods. Diagnostics should not have any trended methods defined out of the box, especially one that
    would result in so many entities.

    Resolution - Removed trended_method qualification.

  • 43212 - Instrumentation runtime error (NullPointerException) in
    com.ibm.ws.webservices.engine.client.Connection.invokeEngine
  • Problem - In probe.log, the following can be seen:

    2010-03-02 15:45:17,927 SEVERE com.mercury.opal.capture.proxy [WebContainer : 4] Instrumentation
    runtime error

    java.lang.NullPointerException

    at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java)

    at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:712)

    at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:663)

    at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:491)

    at com.ibm.ws.webservices.engine.client.Call.invoke(Call.java:1515)

    .

    .

    .

    at $Proxy136.processMessage(Unknown Source)

    Resolution - In a corner case, under unknown circumstances, the WebService may be null in
    com.ibm.ws.webservices.engine.client.Connection.invokeEngine(). Necessary conditions to handle
    this case gracefully was added.

  • 40239 - WebSphere 6.1 crashes with 8.03 probe on Solaris 10
  • Problem - The application log contains

    [2/16/10 9:34:25:361 CET] 00000049 EJBContainerI E WSVR0068E: Attempt to start
    |EnterpriseBean MProMediationWSApp#MProMediationWSEJB.jar#MProMediationWS failed with exception:
    java.lang.VerifyError: (class: com/ibm/wsspi/sibx/mediation/flow/ejb/MediationFlowBean, method:

    getSessionContext signature: ()Ljavax/ejb/SessionContext;) Inconsistent stack height 1 != 2 at
    java.lang.Class.getDeclaredConstructors0(Native Method)

    and the application does not start.

    Resolution - The root cause is the Diagnostics instrumentation, as the instrumented bytecodes did not
    pass the verification step. Changes were made to produce correct instrumentation and the application
    now starts.

  • 39786 - Frequently logged messages "Metric group 'j2cModule' will be ignored (no stats found) " filling
    log file.
  • Problem - Frequently logged messages "Metric group 'j2cModule' will be ignored (no stats found) " filling
    log file.

    Resolution - Changed the message level from 'info' to 'debug'.

  • 39372 - Java Agent - Cross-vm RMI call profile is not showing for Servlet to EJB call in WebSphere 6.1.
  • Problem - 8 clusters of which 4 are web container and 4 are EJB container. These containers are never
    on the same box. Load test is enabled with all the 8 probes.

    The transaction view -> server requests does not contain methods from EJB container. The methods it
    has are only from web container.

    The same server request in 'server request ' view has the right information.

    Cross-VM is not properly displayed.

    Resolution - The solution to this problem is to enable Corba cross-VM on both probes. In 8.x cross-VM
    support was added for pure IIOP which covers RMI over IIOP as well. After enabling Corba cross VM
    on both probes, cross-VM instance will be shown.

    Corba Cross-VM must be enabled by following these steps (on both sides):

    1) Disable RMI in the points file

    2) Enable the Corba points (there is a Corba section towards the end of the points file)

    3) Take a look at the documentation in the Corba section of the points file and follow the steps listed
    there. After doing so, the "jvmEntries" of your WAS server.xml should look something like below.
    The important 2 new things to notice are:

    -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.mercury.opal.javaprobe.handler.corba.CorbaORBInitializer

    and

    <classpath>/opt/optibnch/JavaAgent/DiagnosticsAgent/lib/probeCorbaInterceptors.jar</classpath>

    The "jvmEntries" section for the WAS server.xml looks something like this:

    <jvmEntries xmi:id="JavaVirtualMachine_1182370866099" ....(ommitted for clarity).... genericJvmArguments="-
    Dprobe.group=WAS_Group -Dprobe.id=was61-jvm15-ovribmt12 -
    Xbootclasspath/p:/opt/optibnch/JavaAgent/DiagnosticsAgent/classes/IBM/1.5.0:/opt/optibnch/JavaAgent/DiagnosticsAgent/classes/b
    oot -Xshareclasses:none -
    Dorg.omg.PortableInterceptor.ORBInitializerClass.com.mercury.opal.javaprobe.handler.corba.CorbaORBInitializer"
    disableJIT="false">
    <classpath>/opt/optibnch/JavaAgent/DiagnosticsAgent/lib/probeCorbaInterceptors.jar</classpath>
    </jvmEntriees>

  • 35355 - Instrumentation problems with Apache CXF
  • Problem - The Diagnostics JAX-WS outbound web service instrumentation needed to exclude one of the
    Apache CXF proxy classes, in order for the cross-VM correlation to work properly.

    Resolution - Excluded the Apache CXF proxy class from the [JAX-WS-Outbound point]. Cross-VM for
    Apache CXF works now.

  • 35583 - Consider changing the default instrumentation point for [JAX-WS-Outbound] to work with
    Apache CXF Framework
  • Problem - Using a simple Java client Apache CXF which invokes a web-service using the latest version
    of Apache CXF (version 2.2.4), Diagnostics did not generate exceptions on the web services call.

    Resolution - To fix this problem, the following changes were made in the instrumentation file
    auto_detects.points. See ignore_cl:

    [JAX-WS-Outbound]
    class = javax.xml.ws.BindingProvider
    ignore_cl = org.apache.cxf.jaxws.JaxWsClientProxy, ...

  • 34636 - "SEVERE archive.... Locale issues can cause this." errors filling mediator log.
  • Problem - SEVERE messages in the server log:

    2009-10-01 15:21:00,116: SEVERE archive : Cannot persist data due to missing latency for:
    com.mercury.diagnostics.common.data.graph.node.WebServiceData:
    weblogic.wsee.server.servlet.BaseWSServlet.void
    service(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    /callchain2/CallChain2Service, null, Web
    Service, null, CallChain2ImplService, m, _appsdir_CallChain2WSEar_ear, http://callchain2,
    CallChain2SoapPort Locale issues can
    cause this. Refer to persistence.enable.locale.independent.latency in server.properties.

    Resolution - The message was misleading and incorrect, so we simply removed the message from the log.

  • 42011 - When a proxy was enabled on the probe via dispatcher.proxy.host & dispatcher.proxy.port, user
    permissions were not successfully being obtained for communication with the Mediator.
  • Problem - When a proxy was enabled on the probe via dispatcher.proxy.host & dispatcher.proxy.port,
    user permissions were not successfully being obtained for communication with the Mediator. The probe
    useradmin.log & probe.log contained http 504 gateway timeouts as the mediator was unreachable from
    the probe except via the proxy.

    Resolution - Updated the product to appropriately use a proxy url connection when doing server
    communication.

  • 42459 - Request that Diagnostics will capture the GET parameters, to allow server requests to be
    differentiated.
  • Problem - Request that Diagnostics will capture the GET parameters, to allow server requests to be
    differentiated.

    Resolution - Diagnostics will capture the GET parameters to allow server requests to be differentiated.

  • 41880 - Diagnostics JavaProbe caused severe problems when using duplicate/multiple -javaagent options
    of the probeagent.jar to start probe
  • Problem - Problem - In certain rare circumstances, customers will mistakenly duplicate the command
    line option "-javaagent:<diag-probe-dir>/lib/probeagent.jar" and the application server will not start.

    Resolution - Even when duplicate/multiple -javaagent options of the probeagent.jar appear in the Java
    commandline, the app_server will start and run with Diag javaprobe without any issue.

  • 44826 - Upgrade to Probe version 8.03 causing issue
  • Problem - Customer migrated from HP Diagnostics probe 8.01 to 8.03 . They have a particular DB2
    related reports failing after the migration.

    Resolution - This is because of a known J9 JVM bug and Diagnostics has 2 workaround points to address
    this bug. However, this was encountered in a class which our workaround did not include adding the
    class to the list of "workaround points". See comment below for more details (copied from
    <probe>/etc/auto_detect.points). Notice that the recommendation is to patch WAS and de-activate these
    points.

    ; This is a series of 3 points introduced to avoid WebSphere 6.1 crashes due to a ; java.lang.VerifyError ...
    invalid returnAddress for ret instruction ... at pc=65535 ; The root cause is a bug in IBM J9 2.3 JVM
    (SR2), which is bundled with WebSphere 6.1.;
    The point works by eliminating the specified method from instrumentation by [JDBC-Connection-
    prepare].
    ; The SQL statements passed as arguments to the eliminated method(s) will not show up in SQL views.
    ; You may safely de-activate these points, if you are not a WebSphere 6.1 user, ; or if your version of
    WebSphere 6.1 is patched.
    IBM J9 2.3 JVM (SR5) is known to have the bug fixed.

  • 41400 - Scenario Summary View saved as CSV file contains invalid data (like "12/31/1969 23:50").
  • Problem - Scenario Summary View saved as CSV file contains invalid data (like "12/31/1969 23:50").

    Resolution - Data is now valid.

  • 41718 - Enable uri.pattern.replace for "Static Content" rule in dynamic.properties.
  • Problem - Diagnostics needs to better handle situations where unique URLs (e.g. .../1234534535.pdf) are
    created which causes symbol explosion on the server and probe and performance issues occur as a result.

    Resolution - All pdf files will now be represented under a single server request, "Static Content".

  • 48995 - Java Probe modifies response from the Oracle Application Server.
  • Problem - When the Java Probe is installed, the Application Server throws different responses as when
    the Probe is not installed. So, it looks like the Java Probe modifies the response from the Application
    Server.

    This is in the following environment:

  • Solaris 5.10 - SPARC
  • Java J2EE 1.4
  • Java Probe 8.0x
  • Oracle Application Server 10.1.2
  • Resolution - For 8.04 and earlier, disabling [SOAP_Faults] point is a confirmed workaround. Versions
    8.05 and 9.01 (and later) will work correctly out-of-box.

  • 36067 - Apache Geronimo application server does not start with Java Agent.
  • Problem - An Apache Geronimo application server does not start with [HttpCorrelation] point enabled.
    Environment:

  • Application Server: Geronimo 2.1.4 and using java 1.5.0_17 (SUN)
  • Diagnostics Probe Version: 8.03.39.85
  • OS: SUSE Linux Enterprise Server 10 (x86_64)
  • Resolution - The workaround is to disable the point for now.

  • 42462 - Exception in production WAS server caused by HP probe.
  • Problem - Exception in production WAS server caused by HP probe.

    Resolution - The issue is solved by using a new version of auto_detect.points

  • 48462 - WAS with the probe does not start on z/OS.
  • Problem - Installation of Diagnostics 8.04 probe on WAS Portal Server v6.0 running on z/OS. The install
    steps were:

    - extract binaries from tar

    - jreinstrumenter -i <path_to_was_java>

    - jreinstrumenter -b <path_to_was_java>

    ... this produced Xbootclasspath params ...

    - modify Xbootclasspath in WAS console

    After restart WAS is unable to start and producing this exception:

    Trace: 2010/07/05 15:35:55.952 01 t=AE3E88 c=UNK key=P8 (0000000A)

    Description: Log Boss/390 Error

    from filename: ./bbolrt.cpp

    at line: 283

    error message: BBOO0073E Shasta Runtime function logJavaException detected that the following
    exception occurred in the Java VM ..

    .JVM Exception Message = java.lang.NullPointerException JVM Stack Trace =
    java.lang.NullPointerException

    at com.mercury.opal.capture.JavaProbe.getLog(JavaProbe.java:85)

    at com.mercury.opal.capture.proxy.InstrumenterProxy.instrument(InstrumenterProxy.java:196)

    at com.mercury.opal.capture.proxy.InstrumenterProxy.instrument(InstrumenterProxy.java:120)

    at java.lang.ClassLoader.merc_defineClass0(ClassLoader.java)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:808)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:477)

    at java.net.URLClassLoader.access$500(URLClassLoader.java:111)

    at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:849)

    at java.security.AccessController.doPrivileged1(Native Method)

    at java.security.AccessController.doPrivileged(AccessController.java:389)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:373)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:570)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:502)

    .

    Trace: 2010/07/05 15:35:55.953 01 t=AE3E88 c=UNK key=P8 (0000000A)

    Description: Log Boss/390 Error

    from filename: ./bbolrt.cpp

    at line: 328

    error message: BBOO0021E Assertion failed: '0', file ./bbolrt.cpp, line 328.

    ***

    Resolution - Changed the logger to log to stderr if a log file cannot be created. And provided a
    description for the workaround for the encoding issues.

  • 47192 - Solaris systemmetrics can only handle 64 CPUs.
  • Problem - Systemmetrics core dumps on Solaris (Sparc) if there are more than 64 CPUs

    Resolution - An internal array was expanded and the systemmetrics process no longer aborts.

  • 36178 - Application memory corruption and potential aborts on x64 based VMware systems. (.NET and
    Java Probes).
  • Problem - Problem - On a 64 bit VM Ware system, the .NET probe can cause the application that it is
    monitoring to abort.

    Cause - The code that was detecting a VM Ware situation and obtaining the correct timestamp was
    flawed and was corrupting random memory locations.

    Resolution - The code has been modified and simplified and no longer corrupts memory.

Server Fixes

  • 47328 - Commander's MRU cache for server permissions is too small for big deployments
  • Problem - MRU list only keeps 30 mediators which causes a reload from file in case of a cache miss.

    Resolution - Increased the MRU list to 80

  • 41888 - Customer is seeing sever performance problems on the server caused by slow application
    discovery.
  • Problem - The customer is seeing sever performance problems on the server caused by slow application
    discovery.

    Resolution - Improved performance by not following cross server sync lists if user selects skipping of
    topological discovery.

  • 49067 - Port 2006 still enabled after enabling HTTPS.
  • Problem - Even when SSL is enabled Diagnostics always keeps the non-SSL port open. Normally
    firewalls would be used to secure this.

    Resolution - In webserver.properties, there is now a commented out setting:

    # jetty.ssl.loopback.host=127.0.0.1

    If you can't use a firewall, to secure the non-ssl port (e.g., 0.0.0.0:2006), then you can use this setting to
    make that port open for loopback only. This will allow the server to communicate with itself without
    allow external access. If this is enabled on the commander, then the commander and mediators would
    need to be configured to use SSL to communicate with each other.

Enterprise UI Fixes

  • 34324 - CSV Export Footer Zoomed Time Range doesn't make sense.
  • Problem - The Zoomed Time Range for "a run" doesn't make sense. It says Zoomed Time Range:
    6196:30:00 to 6207:44:59.

    Resolution - The local time was being used instead of run time. (Run start is also shown when
    appicable).

  • 48450 - Data missing from views when saved as HTML page
  • Problem - The printable area is smaller than the table size so columns are dropped.

    Resolution - Fixed by proportionally adjusting each column based on the printable area.

  • 48882 - Call Profile export generates excessive white space when diagram is larger than the viewport.
  • Problem - Call Profile export generates excessive white space when diagram is larger than the viewport.

    Resolution - The excessive whitespace has been eliminated.

What's New in 8.04

Diagnostics 8.04 has a number of defects fixed and a number of new features. Note that the defect tracking
number shown (for example 35266) is generally prefixed with QCCR1I.

New Features

  • Add default PMI metrics with the `EXPAND_PMI' parameter (35266)
  • Background: Prior to 8.04, there are no default EXPAND_PMI metrics configured for WebSphere JDBC
    ConnectionPool module.

    Description: The default PMI metrics configurations for JDBC Connection Pool of the WebSphere5 and
    WebSphere6 collectors are changed by adding EXPAND_PMI[*]. Also, default JMX metric configuration
    for the WebSphere JDBC DataSource MBeans was added.

    Benefits: Usability

  • Allow expand and contract all in the inspector of the Enterprise UI (34441)
  • Background: Previously, each category in the metrics inspector had to be expanded and contracted
    one at a time.

    Description: A toolbar toggle button was added to the inspector to collapse / expand all categories.

    Benefits: Usability

  • Display probe-id on the main probe page http://probename:35000/ (37873)
  • Background: Prior to 8.04 http://probename:35000/files shows HP Diagnostics J2EE Probe ".. Probe Name ...",
    version
    , but the main screen http://probename:35000 does not show that same line, this would be very
    useful.

    Description: The main screen http://probename:35000/ now shows HP Diagnostics J2EE Probe ".. Probe
    Name ...", version
    as well.

    Benefits: Usability

  • .NET probe - Added the ability to exclude an assembly from being instrumented (35024).
  • Background: The excludeassembly parameter was added for the .NET probe for use in a customer
    environment where they needed to exclude sensitive assemblies from instrumentation (example,
    a product was used to obfuscate and encrypt code in sensitive assemblies and the code would
    throw exceptions if it was instrumented). In .NET an assembly is a .exe or .dll file.

    Description: To configure the exclusion of an assembly, you add <excludeassembly
    name=<AssemblyNameToExclude> as a child to a process element in the probe_config.xml file.
    Do not include the file extension, .exe or .dll as part of the name of the assembly. An example of
    excluding an assembly called WebService.dll:

    <process enablealldomains="true" name="ASP.NET">

    <logging level="" />

    <points file="ASP.NET.points" />

    <points file="ADO.points" />

    <points file="WCF.points" />

    <excludeassembly name="WebService" />

    <appdomain enabled="false" name="TestWebService">

    <points file=" TestWebService .points" />

    </appdomain>

    </process>

    Benefits: Functionality

  • Expose additional jetty parameters (38279)
  • Background: For performance reasons, it is important to expose additional properties for jetty in
    webserver.properties to influence performance.

    Description: The following properties are now included in webserver. properties:

    jetty.acceptor_threads (1)

    jetty.accept_queue_size (0)

    jetty.linger_time (30)

    Benefits: Performance

  • Display probe-id on the main probe page http://<probe>:35000/ (37873)
  • Background: Prior to 8.04, http:/probename:35000/files shows HP Diagnostics J2EE Probe " .. Probe
    Name ...", version, but the main screen http://probename:35000 does not show that same line, this would
    be very useful.

    Description: The main screen http:/probename:35000/ now shows HP Diagnostics J2EE Probe " .. Probe
    Name ...", version as well.

    Benefits: Usability

  • Add TopN filter to UI (38538)
  • Background: If you have a large deployment with many probes, the probes views may populate slowly
    due to the volume of data.

    Description: The probe views (Probes, MA Managers, Oracle Probes, SQL Server Probes, and SAP
    Probes) are configured to use the top ui property located on the Diagnostics (commander) server in the
    etc/ui.properties file. By default the ui.topn property is not enabled. When enabled the Enterprise UI
    receives this property from the commander on start up. The UI will use this value to limit the number of
    probes in the probe views mentioned above.

    For example with the value of ui.topn=20, the ui will ask the server to retrieve top 20 (times a small
    factor that always gives more than requested) probes on each mediator. The top probes requested are
    determined by the view's sorting metric (default is VM Heap Used). Additionally, the top n probes of
    each mediator are returned with each change of the filters on the natural language title bar.

    For example with:

    - ui.top=20

    -10 mediators with each mediator having 100 reporting probes, all having foo in their name.

    - the Title bar reading "Java Probes in All Probe Groups filtered by 'Probe Name containing foo' with
    Top 5 by Latency (Avg) charted for the last 5 minutes" .

    The probe view will populate with at least 200 Java probes (10 mediators * 20) . From each mediator the
    top 20 by Latency (Avg) with a name containing foo are returned to the commander. The commander
    then sends all 200+ probe records to the Enterprise UI probe view.

    Benefits: Usability, Performance

  • Make the creation of the symbol backup directory configurable (33771)
  • Background: Sometimes, the backup folder for jdb files under symboltable uses up a lot of disk
    space when there are a large number of symbol files. This should be made configurable.

    Description: Backing up the symbol table is now configurable. Backing up the symbol table can
    now be enabled/disabled by setting the server property "symboltable.backup" to true/false in the
    server.properties file.

    Symbol table backup frequency (daily, weekly, monthly, and yearly) can now also be configurable
    by setting the server property "symboltable.backup.majors". Set the property, using a common
    separated list, to the desired backup frequency. The frequency names are the names as defined
    by the persistency.major.x.name property. For example, to backup the symbol table weekly, use
    the property "persistency.major.2.name", which is 'Weeks'.

    The default configuration for symbol table backup, as defined in the server.properties files are:

    # Should the server backup the symboltable?

    symboltable.backup = true

    # Which majors should be backed up?

    symboltable.backup.majors = Days,Weeks,Months

    Benefits: Performance

  • Remote backup script improvements (36487)
  • Background: The remote-backup scripts from 8.03 and before have some issues:

    They backup the symboltable/backup directory which is not needed

    They can accumulate files that are no longer relevant (not on the server but stay in the
    backup location)

    They try to backup the obsolete SymbolTable.db

    The -v option doesn't work in the cmd file

    The .sh file has DOS line `enders'

    Description: A -c option (clean was added). When specified, files that exist in the ouput dir and do
    not exist on the server will be removed (the others need to be kept for better performance with
    timestamping feature on download). The jdb and PathedSymbolTable.db download stop at level=3
    so that the backup files won't get picked up. The dirs are created do to the recursive wget, but
    the files will not be downloaded. Also fixed -v and added it to usage message.

    Removed the SymbolTable.db download. We're getting the .jdb files and the PathedSymbolTable.db.
    The SymbolTable.db didn't make sense anymore.

    Benefits: Performance, Usability

  • Java Probe - Document probe hookup configuration for Tomcat 5 running as a windows service (33531).
  • Background: The documentation should add information on how to configure Tomcat 5 running as
    a Windows service to work with a Diagnostics Java Agent.

    Description: Follow these steps to configure Tomcat 5.x/6.x running as a web service for the Java Agent:

    Tomcat 5.x/6.x is installed in service mode and the Tomcat service is started.

    From the Windows Task bar, right-click on the Apache Tomcat service icon and then select
    Configure.

    In the Apache Tomcat Properties dialog box, select the Java tab.

    Add the -javaagent option and other Java parameters to the Java options section.

    Restart the Tomcat service.

    Benefits: Functionality

Defect Fixes

Java Agent Defect Fixes

  • 35819 - On a Tru64 system using Classic VM 1.4.2, the probe can't communicate with the mediator
    and a SEVERE error appears in the probe.log
  • Problem - Diagnostics 8.03, Tru64, Classic VM 1.4.2

    The probe.log file contains:

    2009-11-19 11:37:27,166 SEVERE com.mercury.opal.util.webserver [Thread-1] error configuring
    webserver

    java.lang.NoClassDefFoundError: com/ibm/jsse/IBMJSSEProvider

    at com.mercury.diagnostics.common.modules.webserver.RangeSocketListener.createListener(RangeSocket
    Listener.java)

    at com.mercury.diagnostics.common.modules.webserver.JettyWebServer.createListener(JettyWebServer.ja
    va)

    at com.mercury.diagnostics.common.modules.webserver.JettyWebServer.configureServer(JettyWebServer.j
    ava)

    at com.mercury.diagnostics.common.modules.webserver.JettyWebServer.initServer(JettyWebServer.java)

    at com.mercury.diagnostics.common.modules.webserver.JettyWebServer.start(JettyWebServer.java)

    at com.mercury.diagnostics.common.modules.webserver.AutostartJettyWebServer$1.run(AutostartJettyWe
    bServer.java)

    at java.lang.Thread.run(Thread.java:534)

    and there's no communication between the probe and the mediator.

    Resolution - The problem is fixed, the log entry is gone.

  • 30714-Adding JMX Apache Tomcat support caused WebSphere JMX to stop working in some situations
  • Problem - When running the 8.0 probe against any WebSphere system, an error occurs and
    PMI metrics are not collected.

    Errors in logfiles similar to the following are seen:

    2009-03-19 19:39:36,023 WARN com.mercury.diagnostics.capture.metrics [Metrics Collection] Error
    initializing
    com.mercury.diagnostics.capture.metrics.jmx.JMXCollector@3a1164f4

    java.lang.IllegalAccessError: com.mercury.diagnostics.capture.metrics.jmx.JMXCollector tried to access
    method
    com/mercury/diagnostics/capture/metrics/jmx/JMXCollector$AttributesAndDescriptors.add(Ljava/lang/S
    tring;Lcom/mercury/
    diagnostics/common/metrics/MetricDescriptor;)V20

    Resolution - The fix is to set the depends.on.class of Apache Tomcat JMX collector to
    javax.management.MBeanServer.

  • 35172 - Heap walker is not working with WebSphere 6.1 (IBM JVM 1.5 on x86_Linux)
  • Problem - Heapwalker does not work in the following environment:

    Websphere 6.1.0.21 on Redhat Linux AS 4 (JVM 1.5.0_11 IBM j9)

    Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

    java version "1.5.0_11"

    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)

    Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)

    Using:

    -javaagent and -agentpath: No heapdump at all is seen

    -Xbootclasspath and -agentpath: Heapdump works, but heapwalker does not work

    Probe Version is 8.03.39.85

    Cause - There is a defect in the Heapwalker code which prevented it from working, even if the
    new approach is used which is described in the addendum for 8.03 at the end of these release notes.

    Resolution - This has been fixed and is available as a patch on top of 8.03 and will be in the 8.04
    release as well. Contact support and reference this defect number to obtain the patch.

  • 36447- Corba cross-VM cannot be enabled on Java 1.4 VMs
  • Problem - Cannot enable Corba in the probe if the JVM is 1.4. Errors are thrown:

    java.lang.UnsupportedClassVersionError:
    com/mercury/opal/javaprobe/handler/corba/CorbaORBInitializer (Unsupported
    major.minor version 49.0)

    at java.lang.ClassLoader.defineClass0(Native Method)

    at java.lang.ClassLoader.merc_defineClass0(ClassLoader.java(Compiled Code))

    at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code))

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code))

    at java.net.URLClassLoader.defineClass(URLClassLoader.java(Compiled Code))

    at java.net.URLClassLoader.access$500(URLClassLoader.java(Inlined Compiled Code))

    at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java(Compiled Code))

    Cause - Corba interceptors were incorrectly compiled with Java 1.5

    Resolution - Corba interceptors are now compiled with 1.4.

  • 32360- Java Agent: NullPointerException in BasicMethodCaptureAgent.beforeInvocation
  • Problem - In probe.log, one can see massive messages like this:

    2009-06-19 13:13:17,335 SEVERE com.mercury.opal.capture [[ACTIVE] ExecuteThread: '4' for queue:
    'weblogic.kernel.Default (self-tuning)'] Error capturing invocation

    java.lang.NullPointerException

    at com.mercury.opal.capture.BasicMethodCaptureAgent.beforeInvocation(BasicMethodCaptureAgent.java:
    191)

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java:78)

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java:131)

    at weblogic.jdbc.wrapper.PoolConnection_com_pointbase_net_netJDBCConnection30.commit(Unknown
    Source)

    at weblogic.store.io.jdbc.ReservedConnection.commit(ReservedConnection.java:170)

    at weblogic.store.io.jdbc.JDBCStoreIO.getTableOwnershipPhysical(JDBCStoreIO.java:2054)

    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnership(JDBCStoreIO.java:2270)

    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnershipFromTimer(JDBCStoreIO.java:2200)

    at weblogic.store.io.jdbc.ReservedConnection.timerExpired(ReservedConnection.java:436)

    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)

    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:
    464)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

    2009-06-19 13:13:17,335 SEVERE com.mercury.opal.capture [[ACTIVE] ExecuteThread: '4' for queue:
    'weblogic.kernel.Default (self-tuning)'] Error capturing invocation

    java.lang.NullPointerException

    at com.mercury.opal.capture.BasicMethodCaptureAgent.beforeInvocation(BasicMethodCaptureAgent.java:
    191)

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java:78)

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java:131)

    at com.pointbase.net.netJDBCConnection.commit(DashoA13*..:669)

    at weblogic.jdbc.wrapper.PoolConnection_com_pointbase_net_netJDBCConnection30.commit(Unknown
    Source)

    at weblogic.store.io.jdbc.ReservedConnection.commit(ReservedConnection.java:170)

    at weblogic.store.io.jdbc.JDBCStoreIO.getTableOwnershipPhysical(JDBCStoreIO.java:2054)

    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnership(JDBCStoreIO.java:2270)

    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnershipFromTimer(JDBCStoreIO.java:2200)

    at weblogic.store.io.jdbc.ReservedConnection.timerExpired(ReservedConnection.java:436)

    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)

    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:
    464)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

    Cause - When http layer is disabled, the agent pushes a frame with null location on the stack.

    Resolution - Tightening the guarding condition for accessing current layer.

  • 31702- Java Probe - metrics collector is causing the IllegalStateException for Tomcat 5.5
  • Problem - The INFO below piled up in the Tomcat 5.5's logs\catalina.out and other log files:

    INFO: Illegal access: this web application instance has been stopped already. Could not load
    com.ibm.websphere.pmi.stat.StatDescriptor. The eventual following stack trace is caused by an error
    thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal
    access, and has no functional impact.

    java.lang.IllegalStateException

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1245)

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)

    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:242)

    at com.mercury.diagnostics.capture.metrics.CollectorControl.instantiateCollector(CollectorControl.java:455
    )

    at com.mercury.diagnostics.capture.metrics.CollectorControl.initialize(CollectorControl.java:362)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.validateInitialization(CollectorAgent.java:884)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.run(CollectorAgent.java:653)

    at java.lang.Thread.run(Thread.java:595)

    May 22, 2009 1:43:44 PM org.apache.catalina.loader.WebappClassLoader loadClass

    INFO: Illegal access: this web application instance has been stopped already. Could not load
    oracle.dms.instrument.Sensor. The eventual following stack trace is caused by an error thrown for
    debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and
    has no functional impact.

    java.lang.IllegalStateException

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1245)

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)

    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:242)

    at com.mercury.diagnostics.capture.metrics.CollectorControl.instantiateCollector(CollectorControl.java:455
    )

    at com.mercury.diagnostics.capture.metrics.CollectorControl.initialize(CollectorControl.java:362)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.validateInitialization(CollectorAgent.java:884)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.run(CollectorAgent.java:653)

    at java.lang.Thread.run(Thread.java:595)

    Cause - Same as 30714 (see above)

    Resolution - Same as 30714 (see above)

  • 30580 - JavaProbe: negative time reported in a probe logfile.
  • Problem - Severe/warning entries appear in the probe.log file about negative latency/timestamping
    similar to the following:

    2009-05-03 10:59:20,095 SEVERE common [Buffer write thread] Aggregating negative values into
    AggregateTimedRecord due to an
    inconsistent native timer,nodeData [latency (MICROSECONDS)] time [-953204] count [1]
    exceptionCount [0] totalTimeouts [0] min
    [-953204] max [-953204] sumTimesSquared [9.08597865616E11]

    java.lang.Exception

    Cause - Issues with measuring time in a virtual, VMWare environment. This can occur in VMWare
    systems on Linux or Windows.

    Resolution - Stop the probe. Set the following properties in the probe etc/capture.properties file. And
    restart the probe.

    attempt.vmware.timestamp.adjustments=true

    use.vmware.timestamp.workaround=true

  • 33629- StringIndexOutOfBoundsException in jreinstrumenter.
  • Problem - Run jreinstrumenter on x86-64 Linux and try to "add" IBM Java 1.4.2 x86_64 to the list of
    known JVMs.

    Exception in thread "Thread-2" java.lang.StringIndexOutOfBoundsException: String index out of range:
    -1

    at java.lang.String.substring(String.java:1768)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.createJVM(JVM.java:320)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanDirectory(JVM.java:285)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanRecursively(JVM.java:244)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanRecursively(JVM.java:253)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanRecursively(JVM.java:253)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanRecursively(JVM.java:253)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanRecursively(JVM.java:253)

    at com.mercury.opal.javaprobe.jreInstrumenter.JVM.scanForJVMs(JVM.java:225)

    at com.mercury.opal.javaprobe.jreInstrumenter.ProbeConfigurationTool.scanForJVMsUnder(ProbeConfigu
    rationTool.java:126)

    at com.mercury.opal.javaprobe.jreInstrumenter.JREInstrumenterPanel$10.run(JREInstrumenterPanel.jav
    a:437)

    Occurs on x86-64, Linux 64-bit, IBM Java 1.4.2 64-bit

    Resolution - A defect in the code was corrected.

.NET Agent Defect Fixes

  • 30403- SEVERE errors in .net log "PerformanceCounter backslide! prev(1240323844650672)
    new(1240323844648190) "
  • Problem - .NET logfiles contain "PerformanceCounter backslide" SEVERE errors:

    2009.04.21.08.09.39.979 [1407] SEVERE TimeStamp PerformanceCounter backslide!
    prev(1240326557069316) new(1240326556575683)

    On a multiprocessor computer, it should not matter which processor is called.

    However, you can get different results on different processors due to bugs in the basic input/output
    system (BIOS) or the hardware abstraction layer (HAL).

    Please make sure this machine is properly patched. Also see use of the /usepmtimer boot switch in
    boot.ini.

    .

    .

    .

    .

    2009.04.21.08.09.39.979 [1407] SEVERE TimeStamp PerformanceCounter backslide!
    prev(1240326557069316) new(1240326556577813)

    On a multiprocessor computer, it should not matter which processor is called.

    However, you can get different results on different processors due to bugs in the basic input/output
    system (BIOS) or the hardware abstraction layer (HAL).

    Please make sure this machine is properly patched. Also see use of the /usepmtimer boot switch in
    boot.ini.

    Cause - The root cause of the timestamp backslide issue may be related to either the hardware
    chip or the system software.

    Resolution - We provide a workaround for this issue in the probe, and when users see such
    negative/backslide timestamping issue in the probe running on a VMware guest, they can
    turn on the probe property "use.vmware.timestamp.workaround" and the probe will make the
    workaround call to get the host time.

    Besides the workaround, the code changes also include the implementation of upgrading to
    use the new VMWare backdoor command to extract host's time for 32-bit Windows and
    Linux/Solaris. The VMWare backdoor command upgrade for 64-bit platforms has not been
    implemented.

  • 34317- Application eventually crashes after a few minutes when the .NET probe is enabled
  • Problem - When .NET probe is enabled for Microsoft reporting services, the application crashes
    after a few minutes. Only uninstalling the .NET probe will restore the application.

    Default points file is being used

    Disabled RUM diagnostics

    Disabled LWMD

    Completely disabled DEP through boot.ini file

    OS: 64-bit win 2003

    Cause - Microsoft.ReportingServices.Library.CancelableSqlCommand was throwing an exception.

    Resolution - Modified Ado.points files to ignore the class below which was throwing exceptions and
    causing Reporter service to abort.

  • 38276- The Web Services reported by the .NET Agent will show "Unknown" namespace in customer
    environment.
  • Problem - The Web Services reported by the .NET Agent will show "Unknown" namespace in customer
    environment.

    Resolution - The Web Services reported by the .NET Agent will now show the correct namespace in
    customer environment so that the CI discovered by DDM and Diagnostics can be reconciled.

  • 38470- The appdomain list in probe_config.xml is not descriptive for Websites . It shows numbers like
    <appdomain enabled="true" name="1429926444/Default">. This needs to map to a Website name.
  • Problem - For the .NET agent, the appdomain list in probe_config.xml is not descriptive for Websites. It
    shows numbers like <appdomain enabled="true" name="1429926444/Default">. This needs to map to a
    Website name.

    Resolution - To avoid manual mapping of the website name to the number, the agent will 'decorate' the
    appdomain entry with the Website name.

Collector Defect Fixes

  • 37597- SAP Collector runs out of memory when under heavy load.
  • Problem - The SAP Collector can potentially run out of memory when under heavy load. When this
    happens, the collector can no longer collect data from the ABAP engine.

    Cause - The SAP Collector was unnecessarily keeping some information from the returned tables in
    memory. The amount of data was proportional to how busy the ABAP engine was. This data gets
    garbage collected eventually so it's not a problem in the common case. However, if a single query to SAP
    returned a lot of data, it could cause the Collector to run out of memory.

    Resolution - This data is no longer kept around.

Server Defect Fixes

  • 34760-Server reporting "error" on system health for probes configured for a "web garden" scenario.
  • Problem: After configuring a probe for a "web garden" scenario, on the system health screen, the
    probe is listed twice, showing 2 ports, but is reporting health as an error. The server recognizes
    the duplicate probe names and lists their status as a warning message (an error on the system
    health).

    Resolution: In a web garden scenario, the duplicate probe name check is skipped.

  • 36387-Internal server probe generates too many symbols
  • Problem - Too many Server Requests and method data points are created by the internal server
    probe. This will fill up the symbol table, especially, when the remote-backup script is used to do an
    incremental backup.

    Resolution - Added additional URI folding rules and removed argument capture for Jetty point.

  • 39000 - Mediator is not pulling data from the probes in case the commander is down
  • Problem -When a mediator loses connectivity for more than 5m to the commander, the probes stop
    reporting data to the mediator.

    Resolution - If a connection error between mediator and commander is encountered, Diagnostics keeps
    already authenticated users in the cache instead of expiring them. This allows probes to send data to
    the mediator even if there is no connection to the commander. This behavior can be changed with the
    webauth.ignoreConnectionErrors property in the server.properties file.

Enterprise UI Defect Fixes

  • 34671-CSV Export Footer embedded quotes cause quoted strings to display wrong.
  • Problem - When exporting to CSV, embedded quotes in filtered by, cause the footer to show
    some quotes that shouldn't be shown.

    Resolution - Need to double any double-quotes inside a quoted string for CSV. For example,
    "This is ""quoted"" with quotes in it"

  • 34297 - First saved CSV file is sometimes missing data.
  • Problem - Data missing on 1st saved CSV file (first saved after entering Diagnostics) when
    user saved as CSV file just after data completes updating on the view.

    Cause - Original implementation was automatically hitting pause to try to sync the data better,
    but this actually causes a re-query and makes it more likely that the data is still refreshing.

    Resolution - Took out the pause. The code already handles mixed time ranges.

  • 35359 - With large amounts of PMI metrics there are inspector performance issues.
  • Problem - Inspector performance issues prevent usage of view with large numbers of metrics.

    Cause - Profiling shows performance issue is with localization and sorting of category and metric.

    Resolution - Added a method to the Resource Manager to return all Keys. In the inspector cache
    the keys that can be used for localization. Using this cache determine if localizable prior to
    attempting localization. Add method to formatting to override lookup of a metric name based
    on known localizability.

Documentation Defect Fixes

  • 31701 - BAC Integration, document the re-register of the BAC-DIAG integration steps after a
    BAC upgrade.
  • Problem - After upgrading BAC, Diagnostics source adapter has a `failed' status.

    Cause - Diagnostics source adapter is not syncing.

    Resolution - After a BAC upgrade, re-register the BAC-Diagnostics integration in the BAC >
    Admin > Diagnostics page.

What's New in 8.03

Diagnostics 8.03 has a large number of defects fixed and a number of new features. Note that the defect
tracking number shown (for example 33770) is generally prefixed with QCCR1I.

New Features

  • Enterprise UI improvement to allow you to navigate to a custom view from a selected entity.
  • Background: Prior to 8.03, custom views had to be created individually.

    Description: With this new enhancement, a custom view can be created once and you can navigate to
    this custom view from different entities.

    Select an entity in the Diagnostics view and use the right-click menu to select "Open in Custom View"
    to open a custom view in the context of the selected entity.

    Custom views that apply to the type of entity selected are listed in the dialog box for you to select. The
    custom view is then displayed in the context of the entity selected. This allows you to use custom views
    with different instances of an entity.

    The list of custom views displayed in the "Open In Custom View" dialog box is very broad so even
    though the custom views generally relate to the type of entity selected, a given custom view may not
    apply to the specific entity selected because of other characteristics in the custom view.

    Avoid opening in a custom view if it contains a feature that is graphing based on the My Selections
    filter, unless the selections make sense for the entity selected. So, for example, it would be fine to open
    the custom view on a probe that contains a feature with server requests on the selected probe.

    Benefits: Enhanced functionality.

  • Add support for NTLM authentication to connect to MS SQL Server (33770)
  • Background: Prior to 8.03, it was not possible to connect to MS SQL Server for collecting metrics using
    NTLM defined security, only a SQL authentication using a user ID and password was allowed.

    Description: Starting in 8.03, a choice can be made between NTLM and SQL authentication.

    To do this you must configure sqlserver-config.xml. Look at the documentation inside the ".xsd" file,
    there is a new attribute called "integratedSecurity".

    When the collector is run from the command line, set this to true to indicate that Windows credentials
    will be used by SQL Server to authenticate the Collector. If integratedSecurity is set to true, no user
    name or password should be specified. The JDBC driver searches the local computer credential cache
    for credentials that have already been provided at the computer or network logon. If set to false, the
    username and password must be supplied. If this attribute is not specified, its default value is false.

    When the collector is run from the service HP Diagnostics Collector, the Windows user credentials used
    to connect to SQL Server must be set as the logon property for the service. To do this, run the Windows
    Services Manager (services.msc from the run dialog, or My Computer > Manage > Services and
    Applications > Services). Open the Properties dialog for service HP Diagnostics Collector, select the Log
    On tab, and set Log on as: to the user granted access to your SQL Server instance. Restart the service.

    Here is a sample configuration:

    <sqlserverInstance

    hostName= "Ros54896tst1vm3"

    portNumber="1433"

    instanceName="Default"

    integratedSecurity="true"

    probeName="ROS54896TST1VM3"

    probeGroupName="SQL_Server"/>

    Benefits: Enhanced functionality, usability

  • User can export data from a Diagnostics view into a CSV file (34067)
  • Background: Prior to 8.03, there was no provision for exporting data into Excel

    Description: This new feature allows you to save the currently displayed chart (graph) data to a CSV file
    that can be viewed and formatted in Microsoft Excel. The Save this view as an HTML Web Page or
    CSV file
    button is a pull-down with 2 options - Save as HTML or Save as CSV.

    When you save the data in a CSV file, only the chart data is exported. It does not export tables, call
    profiles, topology, etc. The Save as CSV menu item is not available for every view, it is grayed out when
    not available.

    When there are multiple charts displayed in a view, the data for all the charts is exported to the CSV
    file. The data can be displayed in a single table if the time range is the same for all the charts. The data
    will be displayed in separate tables if the time ranges vary.

    If you have zoomed in on the chart, the data for this zoomed in time range is what gets exported to the
    CSV file.

    In Microsoft Office Excel you can format the CSV data as you like. For example, select the Data.Time
    cell and select Format > AutoFomat > Classic3 to display the data in easy to read columns.

    Benefits: Enhanced functionality, usability

  • Java agent allocated memory unnecessarily (33819)
  • Background: In prior version of the product, the Java agent did not allocate memory in the most
    efficient way possible.

    Description: In this version, the Java agent is more efficient in its use of memory. Many megabytes
    of memory less are used in every Java agent instance.

    Benefits: Enhanced performance, memory footprint

Defect Fixes

Server Defect Fixes

  • 30447 - Data export generates incorrect metric values
  • Problem - When exporting data sometimes the values are incorrect

    Cause - The root cause is the calculation for the recovery outage set the timestamp to be unaligned with
    the persistence timeframe buckets. Then the extract queries incorrectly included data across multiple
    time frames.
    Resolution - The component was changed to force all query timestamps to align with the persistence
    time frame buckets.

  • 33627 - Unable to delete a run via the /facade maintenance page
  • Problem - Unable to delete a run via the /facade jsp page.

    Cause - The code that is called for deleting a button doesn't call the property delete functionality. It
    needs to call the delete code that's in the com.mercury.diagnostics.server.topaz package. In addition,
    we need to add the probegroup an agent is in as part of the StartRun page. The probegroup should be
    the second column after the check box and the list should be sorted by probegroup. Another issue is the
    use of a string instead of a number as the run id. It needs to be verified if this works for start/stop/delete
    and view of a run.

    Resolution - The ViewRuns.jsp page now allows the user to completely delete a run (from OC and
    persistence). In addition, the start run page now returns probegroup and host and is sorted by
    probegroup.

  • 32090 - Discovery entity not defined in symbol table.
  • Problem - The following error will be found in the Discovery.log: Sanity_LR_8_1_ovrntt154: Entity
    for2452460067279110308 not defined in symbol table

    Resolution - Fixed internal coding issue.

  • 34050 - Reaggregation fails with an exception.
  • Problem - Reaggregation fails with the following exception:

    2009-08-22 01:01:53,808: WARNING archive : , java.util.NoSuchElementException: Cannot find
    node data for token 1016034032

    java.util.NoSuchElementException: Cannot find node data for token 1016034032

    at com.mercury.diagnostics.server.persistence.symboltable.impl.SymbolManager._getValue(SymbolManage
    r.java:774)

    at com.mercury.diagnostics.server.persistence.symboltable.impl.SymbolManager.getValue(SymbolManager
    .java:753)

    at com.mercury.diagnostics.server.persistence.symboltable.impl.SymbolManager.getNodeDataFromPathKe
    y(SymbolManager.java:1086)

    at com.mercury.diagnostics.server.persistence.symboltable.impl.SymbolManager.deletePathKey(SymbolMa
    nager.java:614)

    at com.mercury.diagnostics.server.persistence.impl.Persistence.aggregateIteratorToFile(Persistence.java:1
    853)

    at com.mercury.diagnostics.server.persistence.impl.Persistence.updateTotal(Persistence.java:867)

    at com.mercury.diagnostics.server.persistence.impl.Persistence.aggregateDurations(Persistence.java:779)

    at com.mercury.diagnostics.server.persistence.impl.ReaggregationManager.reaggregate(ReaggregationMan
    ager.java:230)

    at com.mercury.diagnostics.server.persistence.impl.ReaggregationManager.reaggregate(ReaggregationMan
    ager.java:116)

    at com.mercury.diagnostics.server.persistence.impl.ReaggregationManager.run(ReaggregationManager.jav
    a:101)

    at com.mercury.diagnostics.common.util.InfrequentEventScheduler$Event.run(InfrequentEventScheduler.j
    ava:289)

    at com.mercury.diagnostics.common.util.InfrequentEventScheduler.runThisEvent(InfrequentEventSchedul
    er.java:590)

    at com.mercury.diagnostics.common.util.InfrequentEventScheduler.runEvents(InfrequentEventScheduler.j
    ava:568)

    at com.mercury.diagnostics.common.util.InfrequentEventScheduler.access$5(InfrequentEventScheduler.ja
    va)

    at com.mercury.diagnostics.common.util.InfrequentEventScheduler$BackgroundThread.run(InfrequentEve
    ntScheduler.java:644)

    Cause - The exact cause of this exception has not been determined.

    Resolution - In order to avoid the exception a " try/catch: was added so that if the path key is already
    missing, the exception will not occur.

  • 33959 - AppDiscovery refresh is not working as defined in appDiscoveryRules.properties'
    rescanFrquency.
  • Problem - AppDiscovery refresh is not working as defined in appDiscoveryRules.properties'
    rescanFrquency

    Resolution - AppDiscovery refresh works as defined in appDiscoveryRules.properties' rescanFrquency

.NET Agent Defect Fixes

  • 33852 - The URI we get for WCF applications in the .NET agent includes the host name.
  • Problem - The URI that gets captured for WCF Service includes the host name: e.g.
    http://ros59403big.ovrtest.adapps.hp.com/WebHost/Service.svc/SimpleService. The expected behavior is
    a URI without host name: /WebHost/Service.svc/SimpleService

    Cause - The code was getting the URI from a property that has the host name included.

    Resolution - Use a different property that doesn't include hostname in the URI.

  • 29345 - Intermittently, the .NET agent will run out of memory.
  • Problem - Intermittently, the .NET agent will run out of memory. Errors will be seen in the agent logs
    that look like this:

    2007.09.24.13.21.09.674 [0167] SEVERE Timer Timer.DoWork(45037227) caught exception!

    System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.

    at Mercury.Util.TrimStack..ctor(Int32 capacity)

    at Mercury.Util.CaptureBuffer..ctor(Boolean useTrimStack, Boolean localEndianLE, Boolean
    remoteEndianLE, IRecordStreamFactory
    recordStreamFactory)

    at Mercury.Util.BufferPool..ctor(IBufferPoolOwner bufferPoolOwner, Boolean useTrimStack, Boolean
    localEndianLE, Boolean remoteEndianLE)

    at Mercury.Capture.BufferedSink.SetEndians(Boolean localEndianLE, Boolean remoteEndianLE)

    at Mercury.Capture.OpalSink.ChannelConnected()

    at Mercury.Capture.OpalSink.SinkChannelConnected(Object o)

    at Mercury.Util.Timer.DoWork()

    Cause - The default scope for the LWMD Instrumentor was too wide: We were instrumenting Collections
    in assemblies/appDomains that caused the target application to hang.

    Resolution - Changed the default ignoreScope settings for the LWMD.points to match the ignoreClass
    settings for the POC.points.

  • 30771 - The .NET Agent does not send data to the mediator when the Agent is configured in "AD" mode
    even when the agent is loaded using LR or PC.
  • Problem - When the mode for the .NET Agent is set to AD <modes AD="true" /> n data is sent to the
    mediator even when the Agent is in a run (LR\PC).

    Cause - This is actually proper behavior, but the modes are not properly documented.

    Resolution - The fix is to update the documentation and the configuration file to describe the modes
    properly:

    PRO Mode

    When PRO mode is set the probe gathers additional metrics and presents them in the Diagnostics
    Profiler for .NET user interface which is made available through a URL on the probe host. In this mode
    the profiler is always collecting data even when the profiler UI is not in use. This mode can be combined
    with other modes. If this mode is not set when in AD or AM mode then profiler data will not be available.

    AD Mode

    In AD mode the .NET agent will only capture data during runs from LoadRunner/Performance Center
    and the results will be stored in a specific Diagnostics database for that run, for example, Default
    Client:21. When the agent is in this mode it will not use resources or send any data to the server unless
    the probe is part of a LoadRunner/Performance Center run. AD mode supersedes all other modes. So for
    example, if AD mode and any other modes are set then mode will be set to AD.

    AM Mode

    In AM mode the .NET agent will capture all instrumentation data. In AM mode the .NET agent will
    ignore runs. If LoadRunner/Performance Center is executing an application, then you will see the data
    in the normal Diagnostics database (for example, Default Client). AM mode supersedes all other modes
    except for AD.

    Enterprise Mode

    Enterprise mode is a combination of AD, AM and PRO modes. It will capture data for
    LoadRunner/Performance Center runs in a separate database as well as capture data outside of
    LoadRunner/Performance Center runs. In this mode data will also be sent to the profiler. Both AD and
    AM modes will override this mode. If the PRO mode is set along with Enterprise mode then the .NET
    agent will collect data continuously for the profiler even if the profiler UI is not in use. If PRO mode is
    not set then the agent will not start collecting until the profiler UI is started.

    TV Mode

    TV mode will send events to Transaction Vision. This mode can be combined with other modes

    (The Auto mode is no longer used.)

    Note about AD Mode and Enterprise Mode

    The .NET agent gets notified of LoadRunner/Performance Center runs by the Diagnostic Mediator.

    If LoadRunner/Performance Center starts testing an instrumented application that is not running, for
    example, a web application getting hit the first time, then when the application starts executing the
    Diagnostics agent will not be notified of the run. This is because the agent will not have had enough time
    to get initialized and start listening to the mediator for this notification.

    To work around this problem, the .NET agent needs to be "primed"(initialized) by a call to the web
    application before a LoadRunner/Performance Center run is started. This initializes the web
    application's process (worker process) and the probe so that it is ready to accept run information from
    the mediator.

  • 34231 - Need Protection against Instrumenting the HP.RemotingCorrelation.dll.
  • Problem - The .NET agent instruments internal code incorrectly.

    Cause - Diag should never instrument this code.

    Resolution - Changed the Instrumenter to mark this assembly as uninstrumentable:
    src/CorProfiler/corProfiler.hpp and src/CorProfiler/corProfiler.cpp

Java Agent Defect Fixes

  • 32771 - Java probe invoked via -javaagent on IBM 1.5 JVM on AIX demonstrates high overhead.
  • Problem - The CPU overhead when using the Diagnostics Java agent with AIX IBM J9 JVM 1.5.0 is
    very, very high.

    Cause - A bug in the IBM 1.5 JVM is causing the high overhead.

    Resolution - The IBM 1.5.0 JVM supports the -javaagent option. However, using the option may
    sometimes cause increased CPU utilization by the JVM, which can mislead you to see it as Java agent
    overhead. Moreover, this option makes the IBM 1.5.0 JVM ignore the -agentpath option which is used
    by Diagnostics agents to load native libraries needed for the Heap Walker functionality. To avoid
    performance issues or to use Heap Walker, use the JRE instrumenter and pre-instrument this JVM just
    as you would for a Java 1.4 JVM.

  • 30440 - Memory Analysis/Heap Walker tab is not shown in the java profiler for IBM Java 1.5 on ppc-
    linux platform.
  • Problem - Start the java probe on a ppc-linux box with option:

    "-agentpath:/opt/optibnch/JavaAgent/DiagnosticsAgent/lib/ppc-linux/libjvmti.so", the Memory
    Analysis/Heap Walker tab not shown, instead the heapdump tab is shown.

    Cause - A defect in the IBM JVM causes this problem.

    Resolution - The solution is to use the jreinstrumentor for IBM JVM 1.5 even though it is normally only
    used for 1.4. This is described above in the 32771 defect fix.

  • 34069 - The Java agent can crash BEA WebLogic.
  • Problem - This is a rare problem with JRockit version 1.5.0_06 when the JVM/WebLogic application
    server is instrumented by the Java agent.

    Cause - An unusual bytecode combination is causing JRockit to abort.

    Resolution - A workaround was added to eliminate the unusual bytecode combination.

  • 33920 - Data from a Java agent only shows up for 5-10 minutes on Turkish systems.
  • Problem - On a Turkish system, the Java agent data is looking OK for 5 to 10 minutes and then it drops
    off. It appears to be OK in memory, but does not show up in the UI.

    Cause - This issue is caused by the language setting on the system set to Turkish. Some code that
    compared strings was not properly internationalized (i.e., made to work with all possible languages).

    Resolution - The code was modified to be properly internationalized.

  • 33302 - Memory leak in the agent in AD mode when LoadRunner specifies less than 100% sampling rate.
  • Problem - When using LoadRunner and Diag is configured to less than 100% sampling rate, the JVM
    running the agent runs out of memory. The probe.log will contain entries similar to the following:

    2009-07-29 19:35:20,896 SEVERE com.mercury.opal.capture [Servlet.Engine.Transports : 136] Error
    capturing invocation

    java.lang.OutOfMemoryError

    at java.util.HashMap.clone(HashMap.java(Compiled Code))

    at java.util.HashSet.clone(HashSet.java(Inlined Compiled Code))

    at com.mercury.opal.capture.sample.FragmentsSampleMethod.shouldSample(FragmentsSampleMethod
    .java(Compiled Code))

    at com.mercury.opal.capture.ThreadContextAgent._passedSampling(ThreadContextAgent.java(Compiled
    Code))

    at com.mercury.opal.capture.ThreadContextAgent.pushFrame(ThreadContextAgent.java(Compiled
    Code))

    at com.mercury.opal.capture.BasicMethodCaptureAgent.beforeInvocation(BasicMethodCaptureAgent.java
    (Compiled Code))

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java(Inlin
    e
    d Compiled Code))

    at com.mercury.opal.capture.proxy.MethodCaptureProxy.beforeInvocation(MethodCaptureProxy.java(Inlin
    ed Compiled Code))

    Cause - Internal coding issue.

    Resolution - Used a different approach to avoid the memory issue.

  • 32763 - Java agent: event buffer corruption.
  • Module - Java Agent

    Problem - The probe.log contains entries as follows:

    WARN correlation [Buffer write thread] Popped everything from the stack, ignoring fragment.

    WARN correlation [Buffer write thread] Attempting to pop an event from an empty stack at least once,
    ignoring.

    SEVERE correlation [Buffer write thread] popEvent with depth < 0 @ -... received

    WARN correlation [Buffer write thread] Dropping fragment ... because it has negative latency. (This is
    logged only once)

    WARN common [Buffer write thread] Unable to obtain coloring information. The byte array length
    :<number> is smaller than expected size : <huge-number>

    WARN com.mercury.opal.capture.event [Buffer write thread] Unable to obtain coloring information.
    Event length is too small to contain coloring information.

    WARN correlation [Buffer write thread] Captured more than one SOAP fault event. The earlier event
    will be ignored.

    SEVERE class com.mercury.diagnostics.capture.correlation.CorrelationSink [Buffer write thread]
    java.lang.ClassCastException:

    com.mercury.diagnostics.capture.correlation.StackFrame$FragmentPlaceholder

    After these errors, the probe is not working correctly.

    Cause - The events retrieved by buffer write thread from the event buffers are corrupted.

    Resolution - Addressed the race condition by ensuring that the thread's last buffer will be freed exactly
    once.

  • 33592 - App does not start with JMS-Queue Sender in auto_detect.points.
  • Problem - WebSphere application does not start when the Java agent is installed. The following appears
    in SystemErr.log:

    [8/6/09 15:10:12:257 EDT] 0000002d SystemErr R at
    com.bcbsfl.vo.wvo.etgw.ais.icore.impl.ICOREClaimProcessorImpl.validateMember(ICOREClaimProcesso
    rImpl.java:76)

    .

    .

    .

    [8/6/09 15:10:18:894 EDT] 0000002d SystemErr R at
    com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

    Cause - Received JMS messages are read-only. If an application re-sends the received messages, our
    coloring will fail, because we cannot add or replace properties. Thus an exception is thrown, leading to
    the application crash.

    Resolution - Catch the exception and ignore it.

  • 33599 - The default WebSphere6 PMI webAppModule metrics in the probe metrics.config sometimes are
    invalid running with WAS 6.1.
  • Problem - If a metrics has a "." in the name, then an error similar to the following is generated:

    2009-08-06 12:13:30,081 DEBUG com.mercury.diagnostics.capture.metrics.jmx [Metrics Collection]
    Metric [15] webAppModule.RequestCount is invalid.

    Cause - The code did not anticipate periods in the metric names and the parsing algorithm is not
    correct.

    Resolution - In order to work-around this issue, it is required to add parentheses around metric_name
    with periods in it. See the 8.03 updated HP Diagnostics Installation Guide for details on creating JMX
    metrics entries.

    metric_config consists of the following entries:

    group_name.metric_name

    If metric_name has any '.' in it, it should be surrounded by parenthesis:

    group_name.(metric_name)

    For example,

    WebSphere6/webAppModule.(webAppModule.numLoadedServlets) =

    Servlets Loaded|count|Web Applications

    where the group_name is "webAppModule", and the metric_name is
    "webAppModule.numLoadedServlets".

  • 32091 - Multiple "Invalid invocation attribute event" warnings
  • Problem - Probe logs are filled with "Invalid invocation attribute event" warnings

    Cause - Complex internal algorithm issue.

    Resolution - Modified the algorithm to avoid the unnecessary warning.

Collector Defect Fixes

  • 33940 - SQL Server Collector - Connecting to named instances does not work.
  • Problem - When collecting metrics from MS SQL Server, if you specify a 'named' instance in the
    sqlserver-config.xml and start the collector, the connection fails with the error "Error:
    java.net.SocketTimeoutException: Receive timed out."

    Cause - SQL Server Collector could not connect to named SQL Server instances.

    Resolution - The port is now the only thing we use during the connection process. This is actually also
    recommended by the SQL Server JDBC documentation. The instanceName is not needed so it's now an
    optional field in the configuration. The configuration is actually simplified a bit as well. The problem was
    that the presence of the instanceName was causing us to fail to connect to the DB because of a bug in the
    JDBC driver. This bug was fixed in the version 2.0 of the driver.

Documentation Defect Fixes

  • 34190 - Fix errors in the custom instrumentation documentation for code snippet grammar for literals.
  • Problem - Need to remove Arrays; add a no-type, no-value constant to Chapter 9 Instrumentation for
    Java Applications of the Diagnostics Installation and Configuration Guide.

    Resolution - See below for correct documentation.

    Code Snippet Grammar

    Literals

    Only the following literal types are supported in code snippets.

Literal Type
Syntax Example
string
"a string"
boolean
true, false
integer
42
null constant
null
A no-type, no-value constant
void

  • 28676 - The Diagnostics Installation and Configuration Guide does not contain probe configuration
    information for TIBCO ActiveMatrix and Business Works.
  • Resolution - See below for documentation.

    The following instructions describe how to configure TIBCO ActiveMatrix and Business Works so that
    the applications can be monitored by the probe.

    For TIBCO ActiveMatrix Service Bus, locate the .tra file and set up the Diagnostics agent JVM
    parameters (-javaagent and -Dprobe) as shown in the example below. Note the use of backslash (/).

    java.extended.properties=-javaagent:C:/diag/lib/probeagent.jar -Dprobe.id=tibco_node1

    For TIBCO Business Works, you set up the Diagnostics agent JVM parameters in different files
    depending on how you deployed the application.

    Update bwengine.tra with the JVM parameters (see the example above for -javaagent and -
    Dprobe) if deploying the application using TIBCO Administrator.

    Update designer.tra with the JVM parameters (see the example above for -javaagent and -
    Dprobe) if deploying the application using TIBCO Designer.

  • LWMD configuration documentation for .NET agents is incomplete.
  • Problem - The existing LWMD configuration documentation for .NET agents in the Diagnostics
    Installation and Configuration Guide is incomplete and needs to be updated.

    Resolution - See the updated 8.03 HP Diagnostics Installation Guide for updated instructions on
    enabling LWMD for .NET Agents.

What's New in 8.02

Diagnostics 8.02 has a large number of defects fixed and a number of new features.

New Features

  • Enhanced Load Runner/Performance Center Metrics Integration
  • Background: As part of the Diagnostics/Load Runner/Performance Center (LR/PC) integration,
    Diagnostics probe metric data can now be included for use in offline analysis (in the .eve file generated
    for each run).

    Description: This feature is available for the Java Probe and requires LoadRunner/Performance Center
    9.51 or later and Diagnostics 8.02 or later. By default, only HeapUsed, GC Collections/sec and GC time
    Spent in Collections probe metric data is included in offline Analysis. To select additional probe metrics
    to be included in offline Analysis (.eve file), you use the Diagnostics configuration file, etc/offline.xml. See
    the 8.02 HP Diagnostics Installation and Configuration Guide chapter on Setting Up LoadRunner and
    Diagnostics Integration for more information.

    Benefits: Enhanced functionality.

  • Mediator server name shown in Server Summary screen
  • Background: It was not possible to quickly see in the server summary screen which probes and probe
    groups belonged to which mediator servers.

    Description: The mediator server name has been added as a column to the server summary screen next
    to the probe group.

    Benefits: Enhanced functionality and ease of use.

  • Native features for Linux on IBM Power PC
  • Background: For Linux on the IBM Power PC, HP Diagnostics would work on pure Java features, but
    features that required native compiles were not supported. This includes CPU timestamps on server
    request, system metrics and heapwalker/heapdump (part of the Java Profiler interface).

    Description: With 8.02, HP Diagnostics now includes the native binaries for both 32 bit and 64 bit for
    Linux on the IBM Power PC platform so the above mentioned features are now supported.

    Benefits: Enhanced functionality.

  • Oracle BPEL Web Services
  • Background: Prior to this release, Diagnostics did not show Web Services for Oracle BPEL.

    Description: New BPEL instrumentation points (auto_detects.points entry) and code snippets
    (custom_code.properties entry) have been created. Diagnostics can now show both inbound and
    outbound BPEL Web Services. However, the inbound instrumentation point by default is disabled in the
    auto_detects.points file because the web service attributes are not readily available. If you are
    interested in BPEL inbound Web Services, please contact an HP consultant or HP support for details on
    how this can be accomplished via special customization.

    Benefits: Enhanced functionality.

  • Java Probe support for WebSphere 7.0
  • Background: Prior releases did not support WebSphere 7.0 with the Java Probe.

    Description: With this release, the Java Probe will now fully support WebSphere 7.0, including Web
    Services and other standard features. See the 8.02 Diagnostics Installation and Configuration Guide
    chapter on Configuring Application Server Startup Scripts to Work with the Java Agent for more
    information.

    Benefits: Enhanced functionality.

  • Capturing CORBA application calls
  • Background: In previous versions of Diagnostics, CORBA application calls were not captured by
    Diagnostics.

    Description: With this version, the following features have been added by capturing CORBA application
    calls.

    User can see CORBA cross-VM instance trees

    User can see the CORBA topology

    User can see CORBA outbound calls

    User should be able to filter by "CORBA" type in the relevant screens.

    NOTE - This feature only works with the new object adaptor technology, Portable Object Adapter
    (POA) not the older technology, Basic Object Adaptor (BOA).

    Please see the 8.02 HP Diagnostics User's Guide chapter on Call Profiler View and the HP Diagnostics
    Installation and Configuration Guide chapter on Custom Instrumentation for Java Applications for more
    details on this feature.

    Benefits: Enhanced functionality.

  • Users can monitor applications written using the Struts 2 application framework and see those calls in
    the Server Request view
  • Background: Diagnostics 7.5 is unable to capture data against Apache Struts 2 application.  Diagnostics
    works well with the framework Struts 1 and can show the metrics. e.g. most .do calls can be captured.
    But for Struts 2, Diagnostics does not capture the same data as Struts1, . i.e. none of the .action calls are
    captured.

    Description: In order to add support for Struts 2, new entries were added to auto_detect.points,
    inst.properties and dynamic.properties.  The Struts 2 support is NOT activated by default.  To enable
    Struts 2 support, enable points [ServletFilter] and [ServletFilter2] in auto_detect.points. To increase the
    amount of collected data, also enable points [Struts2-Interceptor] and [Struts2-ActionInvocation].  If the
    last two points are made active, consider increasing maximum.stack.depth in etc/capture.properties to
    avoid depth trimming due to the cascading interceptor and action invocations.  Also, to properly
    categorize static content, you may want to change the property uri.pattern.replace in dynamic.properties
    to an alternative value, as indicated within the file.

    Benefits: Enhanced functionality.

  • Enhance metric collectors to dump all available JMX and PMI metrics to a file to make it somewhat
    easier to configure new JMX/PMI metrics in metrics.config
  • Background: Chapters 20-22 of the Installation and Configuration Guide explains to the user how to
    customize the JMX/PMI metrics collectors.   Part of the configuration for this metrics collector is to
    modify the etc/metrics.config file and add metric information to this file for Diagnostics to collect.
    The difficulty of doing this is that the user must get the metric names exactly right for it to work. This
    was error prone and frustrating for the user.

    Description: In order to make this configuration somewhat easier, a feature was added to dump all the
    available metrics for each JMX collector into a file.  When the following property in the probe
    etc/metrics.config file is set to true, the probe will dump the available metrics of each JMX/PMI collector
    to text files in the probe log directory. This property can be changed at runtime. It is recommended that
    the property is only set to true temporarily to dump the available JMX/PMI metrics. After the metrics
    are dumped, the property can be set back to false (or comment out) to avoid the overhead when the probe
    periodically dumping the metrics. The dump file is at <probe-dir>/log/<probe-id>/jmx_metrics_<collector-
    name>.txt.

    default.dump.available.metrics = true

    In each dump file, the available MBean ObjectNames and their collectable attributes are listed as shown
    below:

    ======= MBean ObjectNames and Available Attributes =======

    MBean ObjectName:

    WebSphere:J2EEServer=server1,JDBCProvider=Derby JDBC Provider,JDBCResource=Derby JDBC
    Provider,Server=server1,cell=yli87Node01Cell,diagnosticProvider=true,j2eeType=JDBCDataSource,mbe
    anIdentifier=cells/yli87Node01Cell/nodes/yli87Node01/servers/server1/resources.xml#DataSource_12442
    31364323,name=WST_PriceGen,node=yli87Node01,platform=dynamicproxy,process=server1,spec=1.0,
    type=DataSource,version=6.1.0.0

    Available Attributes:

    name: loginTimeout, type: int

    name: statementCacheSize, type: int

    name: testConnectionInterval, type: java.lang.Integer

    ........................

    Users may use this info to add a JMX metric config in the probe etc/metrics.config file. For example:

    WebSphere6/WebSphere\:type\=DataSource,*.statementCacheSize = JDBC Statement Cache
    Size|bytes|JDBC DataSource

    Or, they may use the optional GROUPBY modifier to create a separate metric for each matched group of
    MBean ObjectNames with the same value of the key specified by GROUPBY.

    WebSphere6/GROUPBY[name]/WebSphere\:type\=DataSource,*.statementCacheSize = JDBC
    Statement Cache Size|bytes|JDBC DataSource

    For WebSphere JMX collectors, besides the above generic MBean JMX metrics, the available WebSphere
    specific PMI metrics are also dumped to the WebSphere collector's dump file. This includes the PMI tree
    instance paths and their available statistics, and the PMI module config info. For example:

    ======= PMI Tree and Available PMI Statistics =======

    connectionPoolModule

    Available Statistics:

    CreateCount, CloseCount, AllocateCount, ReturnCount, PoolSize, FreePoolSize, WaitingThreadCount,
    FaultCount, PercentUsed, PercentMaxed, UseTime, WaitTime, ManagedConnectionCount,
    ConnectionHandleCount, PrepStmtCacheDiscardCount, JDBCTime

    connectionPoolModule->Derby JDBC Provider

    Available Statistics:

    CreateCount, CloseCount, AllocateCount, ReturnCount, PoolSize, FreePoolSize, WaitingThreadCount,
    FaultCount, PercentUsed, PercentMaxed, UseTime, WaitTime, ManagedConnectionCount,
    ConnectionHandleCount, PrepStmtCacheDiscardCount, JDBCTime

    connectionPoolModule->Derby JDBC Provider->jdbc/ALBUM

    Available Statistics:

    CreateCount, CloseCount, AllocateCount, ReturnCount, PoolSize, FreePoolSize, WaitingThreadCount,
    FaultCount, PercentUsed, PercentMaxed, UseTime, WaitTime, ManagedConnectionCount,
    ConnectionHandleCount, PrepStmtCacheDiscardCount, JDBCTime

    Users may use the above PMI info to add new PMI metric/statistic configs to the probe etc/metrics.config
    file. For example:

    WebSphere6/connectionPoolModule.CreateCount = JDBC Connection Creates|count|JDBC
    ConnectionPools

    WebSphere6/[connectionPoolModule][Derby\ JDBC\ Provider][jdbc/ALBUM].AllocateCount = JDBC
    Connection Allocates|count|JDBC ConnectionPools

  • Enhance probe metric collector to support GROUPBY like functionality for PMI
  • Background: In the probe's etc/metrics.config file, for JMX metrics that describes an MBean object name
    pattern there is an optional modifier GROUPBY that can be added, which tells a JMX-based collector to
    treat the metric_config as multi-instance expression:

    collector_name/GROUPBY[oname_key]/metric_config = ...

    The collector will find all MBeans matching the metric_config and create a corresponding metric for each
    of them using the object name key oname_key to provide unique naming by appending it to category_id.

    Description: Starting with 8.02, it is now possible to group PMI metrics in a similar as JMX metrics.
    For PMI, the EXPAND_PMI modifier is specified to expand the PMI tree from the given module or
    StatDescriptor branch by the specified level. The expansion level "n" can be 1, 2, ..., or *, with the default
    level of 1 and * means expand all:

    collector_name/EXPAND_PMI[n]/metric_config = ...

    For example,

    WebSphere6/EXPAND_PMI[*]/connectionPoolModule.AllocateCount = JDBC Connection
    Allocates|count|JDBC ConnectionPools

    will create "JDBC Connection Allocates" metric for each JDBC connection pool provider and for each
    DataSource of the provider.

Defect Fixes

Note that the defect tracking number shown (for example 27449) is generally prefixed with QCCR1I.

  • 27449 - Recursive directory structure in JavaAgentSetup_win_8_01.exe.
    Problem - After the installation of the Java agent on Windows, a repeat directory structure is located in
    the following path:
    C:\MercuryDiagnostics\JavaAgent\TransactionVisionAgent\config\sensor\AgentConfig\config
    \sensor\AgentConfig\config\instrumentDef.
    Many files are duplicated from the first occurrence of the AgentConfig directory.
    Resolution - The installer was fixed to not repeat the directory.
  • 27257 - Diagnostics 7.5 is causing OOM issues on Weblogic Server 10.0.1.
    Problem - If an application generates dynamic RMI classes and the [RMI] point was enabled, the
    JVM/Application Server will run out of memory.
    Resolution - The problem was caused by the dynamic RMI classes. Diagnostics was not freeing up
    memory when instrumenting these points. The code has been modified to properly free memory in this
    rare situation.
  • 29018 - Missing SQLs on WebLogic.
    Problem - The Java agent is currently unable to collect some SQL statements on WebLogic
    Resolution - After investigation, it was determined that this happens whenever non-standard JDBC
    classes are being used (i.e. classes that do not implement the standard java.sql.* interfaces). The Java
    agent relies on the standard interface (via a hardcoded BCEL instrumentation point - JdbcSQLPoint) to
    determine that it should collect SQL statements. This was fixed by converting s the BCEL l code into
    code snippets so that any instrumentation point can reference it (whether it implements the standard
    JDBC interfaces or not).
  • 13647 - JMX Metrics are not collected for WebSphere (due to adding Apache Tomcat support in 8.0).
    Problem - In 8.0, a new JMX collector was added for Apache Tomcat. This collector interferes with the
    WebSphere JMX collector and WebSphere JMX metrics are not properly collected and are not displayed
    in the enterprise UI.
    Resolution - For 8.02, these Apache Tomcat metrics and their collector have been commented out in
    metrics.config until a more permanent solution can be found in 9.0.
  • 30571 - Error retrieving MAC address on AIX.
    Problem - On some AIX boxes, the MAC address is not displayed for a probe in the inspector window.
    Resolution - The MAX address is now obtained.
  • 30464 - Java probe - Thread tool in profiler are missing "Waited Time (ms)" and "Blocked Time (ms)"
    columns.
    Problem - In the Java Profiler, the columns "Waited Time (ms)" and "Blocked Time (ms)" are missing,
    even after enabling the property threads.contention.monitoring.enabled=true in
    <probe>/etc/probe.properties.
    Resolution - The columns are now present.
  • 30449 - Java Probe - thread tool in java profiler doesn't work using IBM JVM 1.5.
    Problem - The SEVERE error below is seen in the probe.log file:
    2009-04-22 11:33:55,452 SEVERE class com.mercury.diagnostics.capture.threads.ThreadTool
    [RangeSocketListener-0] Failed to get JMX thread info: java.lang.reflect.InvocationTargetException
    And the thread tool in the Java Profiler does not work. This is only with certain IBM 1.5 JVM's.
    Resolution - The SEVERE error no longer occurs and the thread tool works.
  • 30320 - WAS 6.1 errors when run the PlantsByWhereSphere sample.
    Problem - After running a WebSphere 6.1 application server and the PlantsByWebSphere sample, if you
    click on a plant link the following error page appears:
    An Error has occurred during PlantsByWebSphere processing.
    Jsp Error Page
    Using attributes javax.servlet.error.message ...status_code ...exception as specified by Servlet 2.2 to get
    information
    Processing request:http://localhost:9080/PlantsByWebSphere/error.jsp
    StatusCode: 500
    Message:CORBA TRANSACTION_ROLLEDBACK ... Please Check the application server log files for
    details...
    The application server log file has the following error info:
    [4/28/09 10:50:48:052 PDT] 0000001a SchedulerImpl E SCHD0124E: Unable to initialize
    sched/samples/scheduler/accountreport due to error:
    com.ibm.ws.extensionhelper.exception.UnableToInitializeException: java.lang.VerifyError:
    (org/apache/derby/impl/jdbc/EmbedConnection) invalid returnAddress for ret instruction in method 11
    (prepareStatement(Ljava/lang/String;[I)Ljava/sql/PreparedStatement;) at pc=65535
    Resolution - The root cause is a bug in IBM J9 1.5 JVM 2.3 (SR2) which is bundled with WebSphere 6.1.
    A newer version, from November 2007, IBM J9 1.5 JVM 2.3 (SR5) has been tested. It does not have this
    problem.
  • 28674 - Missing SQL statements in Diagnostic UI for Oracle .
    Problem - When instrumenting Oracle Application Server, sometimes SQL statements will be missing
    from the enterprise UI.
    Resolution - Some of the "code snippets" for the Oracle Application Server were flawed. Once corrected
    the SQL statements appear.

  • 29463 -.Net probe - Consumer ID from SOAP Header isn't shown in the enterprise UI
    Problem - Even after defining the proper SOAP rules in probe-config.xml file, the consumer ID is not
    present in the UI.
    Resolution - An internal coding error was corrected and now the consumer ID will appear.
  • 27412 - Turning SSL on for the Diagnostics Server causes errors in the Probes
    Problem - Turning SSL on for the Diagnostics Server causes errors in the Probes, the probe fails to
    communicate with the Mediator. And an exception can be found in the logfile.
    Resolution - Coding issue was fixed.
  • 27731 - Need to support lower screen resolution in JASM for better UI experience.
    Problem - The JASM install utility requires a high screen resolution. On a lower resolution screen, the
    buttons are off the screen and the UI is extremely difficult to use.
    Resolution - The utility no longer requires a high resolution.
  • 26391 - Severe performance problem when retrieving raw registrar XML on the commander with large
    number of probes
    Problem - Connect a large number of probes to mediator (~500) and run /registrar/xml, it takes a long
    time to execute the query on the server (for example, 7 seconds) and CPU spikes, when it should take 1-2
    seconds.
    Resolution - Excessive debug logging was slowing down the processing (even if debug is not enabled!).
    Made the debugging conditional.
  • 29581 - TV to Diagnostics drill down work only in every other click or page refresh.
    Problem - Steps to reproduce:
    1. Setup TV and Diagnostics integration.
    2. Go to Transaction Tracking Details report and find a transaction that contains Servlet events.
    3. Click any TV-Diagnostics drill down button. There should be a Diagnostics window popping up and
    showing the relevant Servlet request.
    4. Without closing the Diagnostics window, go back to the Transaction Tracking Details report page, and
    click any TV-Diagnostics drill down button again.
    Actual:
    The Diagnostics window show up again, but it does not show any data even after a long time.
    Now, if TV-Diagnostics drill down button is clicked again, or the browser's Reload button, it will give the
    correct Servlet request view.
    However, if the browser's Reload button is pressed again, the same problem occurs again.
    Expected:
    The TV-Diagnostics drill down and page reload should work every time.
    Resolution - A race condition where screen data is retrieved before the solution state is updated with the
    flavor was fixed. The navigation helper is instantiated at solution container start so a flavor is
    guaranteed.
  • 27355 - Need to change "Unsupported Database xxxxx" to something more meaningful
    Problem - In the topology view we see the string "Unsupported Database xxxxx" for unsupported
    databases. It is unclear what is meant by "Unsupported".
    Resolution - Change the string to remove the "Unsupported" to avoid some confusion.
  • 30711 - The JOLT instrumentation points cause the application to run out of memory.
    Problem - The code snippet in the JOLT points extracts byte arrays, which are then used as the
    argument. Since those byte arrays change every time (and the probe keeps the arguments around), the
    probe can run out of memory.
    Resolution - The memory is properly freed and the out of memory issue is eliminated.
  • 27550 - Consumer IDs cannot be specified in WLS 10 when depth > 1
    Problem - The property max.search.level.depth did not work for consumer ID captured through our
    SOAP handler. It only worked for consumer ID captured through our code snippets.
    Resolution - It now works for both ways.
  • 30712 - The JNDI code snippet causes the probe to run out of memory
    Problem - Customer application would run out of memory when the application uses JNDI with
    uniquely named objects.
    Resolution - Modified instrumentation points and code snippets to not aggregate on the name of the
    looked up object.
  • 30160 - .Net probe - Outbound Web service call to a Java Probe is not captured correctly in .NET
    Server Request
    Problem - Sometimes, the web service name is truncated in the Enterprise UI.
    Resolution - Internal coding issue - the name will no longer be truncated.

What's New in 8.01

Diagnostics 8.01 contained only defect fixes, no new enhancements.

  • 96592-Error when installing the 8.0 .NET probe on a computer with only .NET 1.1 installed.
  • Problem: When installing the .NET probe on a computer with only .NET 1.1 installed, the following error
    will occur: "Error writing to file: HP.DiagNET30.dll. Verify that you have access to that directory",

    Cause: The installation code is attempting to access a .NET 2.0 DLL which is not present.

    Resolution: The installer will now check if .NET 2.0 is installed before attempting to invoke the DLL.

  • 96576 -.NET Agent -- Remoting app crashes with security exception when Remoting correlation is
    enabled.
  • Problem: Security exceptions are thrown trying to instrument .NET remoting applications:

    System.Security.SecurityException: Request failed.

    Cause: The probe did not take into account certain Microsoft security considerations when implementing
    the remoting instrumentation.

    Resolution: The probe is now built with special considerations to avoid the security exceptions.

  • 96582- JMX collector error org.jboss.system.server.jmx.MBeanServerBuilderImplProcess causes JBoss
    to fail
  • Problem: JBoss fails to start with diagnostics agent enabled, the following error can be found in JBoss
    logs:

javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class
org.jboss.system.server.jmx.MBeanServerBuilderImpl: java.lang.ClassNotFoundException:
org.jboss.system.server.jmx.MBeanServerBuilderImpl

Note: This occurs when BAC gateway/processing server is enabled with Diagnostics agent.

Workaround: The workaround is to add the following to the Diag Install directory\etc\metrics.conf

1) Find this Java\ Platform.builders.to.ignore

2) At the end of line append this org.jboss.system.server.jmx.MBeanServerBuilderImpl example after
the edit Java\ Platform.builders.to.ignore ... org.jboss.mx.server.MBeanServerBuilderImpl
org.jboss.system.server.jmx.MBeanServerBuilderImpl

Cause: The collector did not exclude this particular MBean builder and thus it did not force the default
builder to be used.

Resolution: The collector now excludes this particular MBean builder and always uses the default
builder instead.

  • 97174- System metric values are limited to about 1,000,000,000
  • Problem: After enabling optional system metrics on Windows:

    system/\\Process(beasvc)\\Virtual\ Bytes = Virtual Bytes (beasvc)|bytes|Process

    system/\\Process(beasvc)\\Private\ Bytes = Private Bytes (beasvc)|bytes|Process

    system/\\Process(beasvc)\\Working\ Set = Working Set (beasvc)|bytes|Process

    This message appears every 3 seconds in the probe.log:

    2009-01-20 10:59:57,880 WARN class com.mercury.diagnostics.capture.metrics.SystemCollectorFacade
    [System Metric Logger] [redirect] Extremely high metric value caught.

    Cause: Internal coding error.

    Resolution: Metric values have a much larger limit that will never be reached.

  • 96590- Health graph not available
  • Problem: Health graph not available in SaaS because it uses server's port instead of port as seen from
    client. This does not work when the port is redirected and the server port is not accessible directly from
    the client.

    Cause: The Applet was getting the host and port from the server. This is not valid in situations where
    the client needs to use a different host or port.

    Resolution: Changed the applet to get the host and port from the base document.

  • 96579- 414,Request URI Too Large in jetty.log
  • Problem: After adding a huge number of probearcs to an application (preferably by adding probes which
    have probearcs), the error 414 occurs in jetty.log.

    NOTE: The jetty.log usually indicates the URI too long on an app contents query, but sometimes it
    shows other queries and yes, they are all fairly short URIs. The actual URI that causes the error is not
    the one logged.

    Cause: Internal coding error.

    Resolution: Converted the code to use GET instead of POST operations to avoid the size limit.

  • 98698- Mediator / Commander Proxy support fails.
  • Problem: If you configure a mediator to use a proxy to communicate to the Commander, the Mediator
    communications for CrossServerSync could fail, CAM applications queries could fail and messages could
    appear in server.log like the following:

    2009-01-31 03:48:45,573: WARNING mediator : Query to commander failed: <HTML><HEAD>

    2009-01-31 03:48:45,573: WARNING mediator : <TITLE>Request Error</TITLE>

    2009-01-31 03:48:45,573: WARNING mediator : </HEAD>

    Cause: CAM support queries were not properly UTF8 encoded and were being rejected by the proxy.

    Resolution: Problem was fixed by changing the code to use the HTTP POST now available for queries.
    POST moves the query arguments from the URL to the body which doesn't have the encoding issue.

  • 96593- Server Dead Locks at startup when enabling proxy usage in server.properties file.
  • Problem: Enable proxy usage by completing the following properties in server.properties:

    proxy.host=web-proxy.rose.hp.com

    proxy.port=8080

    proxy.protocol=http

    The server then fails to start. It deadlocks in the module startup. No log files will indicate the hang,
    making it very difficult to identify.

    Cause: The previous fix introduced a deadlock on server startup when a proxy was configured.

    Resolution: Changed the implementation to correct this problem.

  • 96577- BAC/LR Integration - all transaction instances timed out in the SSL mode commander server
    integration.
  • Problem: Follow the Diagnostics install and config guide to turn on the commander server in SSL mode,
    then integrate the SSL mode commander server with non-SSL BAC server using the https protocol.
    Almost all transaction instances will time out in this situation.

    Cause: When HTTPS is enabled on the Commander, LR/BAC/PC are using the XML document
    generated by FacadeMessageComponent URL (/facade/StartRun) to determine what host and port to
    send ETLs. The information for the host and port of the Commander come from the RegistrarInfo.
    Thus, the HTTPS port is returned. So the ELT's post on that port without a CERT.

    Resolution: To fix this, the code was modified to send back the port of origin of the URL request which
    will usually be 2006.

  • 96575- Provide debugging aids for consumer id configuration
  • Problem: When configuring the Consumer ID from the HTTP header, SOAP payload or JMS payload, it
    is very difficult to know the structure of the header or payload and therefore very difficult to configure
    the Consumer ID in Diagnostics.

    Cause: Without the structure of the header or payload, configuring the ID is very, very difficult.

    Resolution: A feature has been added to dump the payload to a file.

    A new location was added called *dump-payload to the consumer.properties file. This will print the
    entire SOAP payload out to a new file called consumer.log. This will provide the help needed for the
    person defining the consumer rule to see the actual payload.

    An example of the configuration to use this new feature would look like the following:

    SoapTest1;HTTP_WS;TraderService = *dump-payload

    The above rule would print the SOAP Payload out for a rule that matches TraderService. The content of
    the consumer.log file would be as follows:

2009-01-15 14:42:13,653 INFO consumer [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'] [PAYLOAD:] <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:trad="http://www.bea.com/examples/Trader"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<CallerA>customerA</CallerA>
</soapenv:Header>
<soapenv:Body>
<trad:buy soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<string xsi:type="xsd:string">hpq</string>
<intVal xsi:type="xsd:int">11</intVal>
</trad:buy>
</soapenv:Body>
</soapenv:Envelope>
  • 96568- IllegalAccessError on WebSphere 6.1
  • Problem: On some WebSphere 6.1 instances, when the Java probe is installed, the following error occurs:

    2008-03-26 12:15:44,612 SEVERE com.mercury.diagnostics.capture.metrics [Metrics Collection] Error
    initializing com.mercury.diagnostics.capture.metrics.jmx.WebSphere6JMXCollector@9800980

    java.lang.IllegalAccessError:
    com/mercury/diagnostics/capture/metrics/jmx/JMXCollector$AttributesAndDescriptors.add(Ljava/la
    ng/String;Lcom/mercury/diagnostics/common/metrics/MetricDescriptor;)V

    at
    com.mercury.diagnostics.capture.metrics.jmx.JMXCollector.unflattenMetricNames(JMXCollector.java:43
    9)

    at com.mercury.diagnostics.capture.metrics.jmx.JMXCollector.initialize(JMXCollector.java:144)

    at com.mercury.diagnostics.capture.metrics.CollectorControl.initialize(CollectorControl.java:384)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.validateInitialization(CollectorAgent.java:854)

    at com.mercury.diagnostics.capture.metrics.CollectorAgent.run(CollectorAgent.java:625)

    at java.lang.Thread.run(Thread.java:797)

    Cause: A bug in Websphere. A number of JMX issues were fixed between version 6.0.0.1 and 6.0.2.29.

    Resolution: Update WebSphere to fix pack 6.0.2.29 will resolve the issue. Also, the SEVERE message
    has been changed to a WARNING for this exception, since the metrics are still collected.

  • 96570- Java Probe - OutOfMemoryError for SAP NetWeaver 6.4
  • Problem: When running the probe with SAP NetWeaver 6.4, the probe will experience the error
    OutOfMemoryError, and it becomes inaccessible.

    Cause: The probe had memory leaks in certain, rare situations.

    Resolution: The memory leaks were fixed.

  • 96589- Java Probe - WL Aqualogic ESB has lots of pending requests and blocked threads after 1 day's
    run
  • Cause: - An internal call was causing the application thread to deadlock for ALSB 3.0. This is due to a
    newer design and caching feature introduced in ALSB 3.0

    Resolution: - Replaced this call with another call through port.getDefinitions() and the problems were
    fixed.

  • 96578- Java Probe - WL AquaLogic ESB Java probe gets many Instrumentation runtime errors with
    NullPointerExceptions
  • Problem: After running the probe for a few days with WebLogic AquaLogic ESB, the following SEVERE
    error start to show up on the java probe log file:

    2008-11-17 10:28:06,998 SEVERE com.mercury.opal.capture.proxy [[ACTIVE] ExecuteThread: '19' for
    queue: 'weblogic.kernel.Default (self-tuning)'] Instrumentation runtime error
    java.lang.NullPointerException

    Cause: A "getWsdl()" call in a code snippet was generating these errors.

    Resolution: The call was removed from the code snippet and implemented in a different way.

  • 96595- Stack trace sampling may cause OutOfMemory errors
  • Problem: When using the new stack trace sampling feature, out of memory errors occur in the probe.

    Heap analysis indicates massive ThreadSample objects linked to a ProbeThreadContext object.

    Cause: Stack trace sample accumulate endlessly, without being processed.

    Resolution: A limit of stack trace samples per each thread in now in place.

  • 96596- Stack trace samples do not get recorded correctly when multiple fragments run at the same time
  • Problem: Run an application with more than one thread, each running its fragment at the same time.
    Configure sampling to collect data for these fragments. Instead of the stack trace samples getting
    assigned to all running fragments, only one fragment/thread will get the samples.

    Cause: Internal coding error.

    Resolution: Stack trace samples will get assigned to all running fragments.

  • 96584- Probe deadlock with WebLogic 8.1 on HP-UX Itanium
  • Problem: In non English environments with WebLogic 8.1 on HP-UX Itanium, the probe will sometimes
    hang with a deadlock situation. For example, the probe.log file might show something like this:

    "shared InfrequentEventScheduler": waiting to lock monitor 00265824 (object 1503a688, a
    sun.misc.Launcher$AppClassLoader), which is held by "main"

    "main": waiting to lock monitor 002658a4 (object 150a0020, a
    com.mercury.diagnostics.common.loader.ModuleClassLoader), which is held by "shared
    InfrequentEventScheduler"

    Cause: This a locale issue.

    Resolution: Eliminating "export LANG=pl_PL.iso88592" from the runtime environment eliminated the
    deadlock.

  • 96571- Sampling - server request call profile doesn't show the expected sampling data all the time
  • Problem: In some rare instances, even if sampling is enabled, some call profiles will not show sampling
    data.

    Cause: Internal coding error

    Resolution: Sampling will now show on all call profiles all the time.

  • 96591- Increase #of event buffers for default probe configuration
  • Problem: In some situations, customers will run into issues where the default number of event buffers in
    the probe is not sufficient for their number of working threads. Although the probe writes SEVERE
    messages to probe.log, the user will not see anything wrong until the probe runs out of memory, but even
    then, he/she does not make the connection.

    Cause: Inappropriate default values in capture.properties

    Resolution: The following properties were modified in capture.properties:

    maximum.buffer.size from 1000000 to 200000

    minimum.buffer.size from 100000 to 20000

    initial.private.buffer.count from 5 to 25

    maximum.private.buffer.count from 20 to 100

    gentle.reserve.buffer.count from 20 to 100

  • 96597- Customer randomly not seeing data from some probes with JRE 1.4 in Sun virtual OS
    environment.
  • Problem: Trend data is missing in some situations in the enterprise UI.

    Cause: It was deterrmined that the value of 8 seconds set by the global VM property interfered with
    Probe to Mediator communications. Application servers running on a JRE1.4 do not have a Java API for
    overriding individual HTTP Connection timeouts.

    Resolution: Implemented new code to access setting the socket timeout for Diagnostic Probe running in
    this type of JRE.

  • 96586-Invalid installation path for App Servers/JMS/JDBC provided by customer needs to be detected
  • Problem: In the Java setup utility, if a valid path is entered but the path is not to an application server,
    the setup utility does not indicate any sort of error.

    Cause: Inappropriate error checking.

    Resolution: SetupModule now informs of incorrect path and presents the user with a choice to fix, cancel
    or continue.

  • 96583-SEVERE Error collecting metrics for ProcessMetrics on z/OS
  • Problem: The following error could be found in probe.log on z/OS:

    2008-12-10 00:15:33,752 SEVERE com.mercury.diagnostics.capture.metrics

    [Metrics Collection] Error collecting metrics for ProcessMetrics, initialized: true [Process Metrics
    Collector] -> Error collecting in Process Metrics Collector [caused by:
    com/mercury/diagnostics/capture/jni/ProbeJNI.getProcessCpuPercentJNI()D]
    java.lang.UnsatisfiedLinkError:
    com/mercury/diagnostics/capture/jni/ProbeJNI.getProcessCpuPercentJNI()D

    Cause: On z/OS, the Process CPU Utilization Metrics are not supported.

    Resolution: The message will be changed to a WARNING and worded differently.

  • 96581-Adding the ability to look into a deeper xml level when looking for consumer id in the payload
  • Problem: Diagnostics currently only supports finding CallerA in the first level element (element directly
    under the soapenv:Header). For example:

    <soapenv:Header>

    <kurt:CallerA>ConsumerA</kurt:CallerA>

    </soapenv:Header>

    Cause: Limit in the design.

    Resolution: With this change, Diagnostics can find CallerA "x" level deeps, for example with a
    "max.search.level.depth = 2" we would find Consumer Id:

    <soapenv:Header>

    <kurt:id>

    <kurt:CallerA>ConsumerA</kurt:CallerA>

    </kurt:id>

    </soapenv:Header>

    The dynamic property "max.search.level.depth" was added to the consumer.properties file to control the
    depth to search for consumer Id. The default value is 1 level deep; this will allow existing customers to
    not see a performance hit if another customer needs to go deeper into the XML to find their consumer Id.

What's New in 8.00

This release contains the following new features.

  • SOA Enhancements:
    • Support for SOAP over JMS
    • Support additional platforms:
      • TIBCO ActiveMatrix Service Bus
      • TIBCO BusinessWorks (SOAP over HTTP only)
      • WebSphere ESB
      • JBoss webservices
  • SiteScope Integration:
    • Use SiteScope monitors to push data directly into Diagnostics
    • Data available for charting, alerts and in Diagnostics Snapshots
  • Performance Center/LoadRunner Integration
    • Granularity control in analysis file
    • New LoadRunner Add-in now automatically downloads necessary Diagnostics components,
      eliminating the need for re-installing it when Diagnostics Server changes due to patches or
      new releases
  • Stack Trace Sampling - visibility into additional methods without instrumentation
  • Dynamic Instrumentation
  • Diagnostics
    • Threshold Violations per Metric
    • Support for .NET 3.0, .NET 3.5 (WCF)
    • CPU utilization by probe
    • Object lifecycle monitoring
    • EJB 3 instrumentation
    • .NET Remoting Cross VM
    • Tuxedo monitoring (through JOLT instrumentation)
    • Licensing changes
      • Instant-on license
      • License conformance reports for Logical Processors/Cores
    • Scalability Improvements (reduction in server memory usage and CPU utilization)
    • Ability to select multiple entities in the UI
    • The Diagnostics Online Help has been changed to include a link to the HP Diagnostics
      Installation and Configuration Guide pdf file

System Requirements

The HP Diagnostics Installation and Configuration Guide contains detailed information about system
requirements. This guide is available in a PDF version (Diagnostics_Install_Guide.pdf) located on the
installation disk or in the Diagnostics Server download package. General system requirements are provided
below for the Diagnostics Server.

Requirements for the Diagnostics Server

Diagnostics uses the Java 1.6 JVM for the Server (and the Collector).

Java 1.6 JVM is supported on the following operating systems and requires the patches listed below.

For the most recent information on supported environments refer to the Diagnostics Product Availability
Matrix at http://support.openview.hp.com/sc/support_matrices.jsp.

  • Windows supported versions:
    • 32-bit: Windows XP, Windows 2003, Windows 2003 R2, Windows 2008
    • 64-bit: Windows 2003, Windows 2003 R2, Windows 2008
  • HP-UX supported versions:
    • HP PA-RISC: HP-UX 11i v1 (11.11), HP-UX 11i v2 (11.23), HP-UX 11i v3 (11.31)
    • HP Itanium: HP-UX 11i v2 (11.23), HP-UX v3 (11.31)
  • HP-UX required patches:
    • To run Java on an HP-UX system (for either the Diagnostics Server or Java Probe), you must
      make sure that all Java required patches are installed. The Java required patches depend upon
      the Java version and the HP-UX version. For HP-UX 11.11 the PHCO_29903 patch is required.
      See the following website for details on additional patches that may be required for this and
      other HP-UX operating system versions: http://h18012.www.1.hp.com/java/patches/index.html.
    • Java 5.0 Quality Pack
    • A linker patch is required. The patch ID is PHSS_35385 for HP-UX 11i v1 (11.11) systems,
      PHSS_37201 for HP-UX 11i v2 (11.23) systems, or PHSS_37202 for HP-UX 11i v3 (11.31)
      systems.
    • For HP PA-RISC HP-UX 11i v2 (11.23) Diagnostics Server the following patches (and any patch
      dependencies) are required: PHKL_37121, PHSS_37947.
  • Linux supported versions:
    • Red Hat 2.1, Red Hat Enterprise Linux 3.0, 4.0, 5.0
  • Solaris supported versions:
    • Solaris 10, 9, 8
  • Solaris required patches:
    • See http://sunsolve.sun.com/show.do?target=patches/JavaSE

The following table lists the desired system requirements for the host of a Diagnostics Server with Java
Probes.

Platform

Item

Up to 50 Java probes

Up to 100 Java probes

Up to 200 Java probes

Windows

CPU

2x 2.4 GHz

2x 2.8 GHz

2x 3.4 GHz

Windows

Memory

4 GB

4 GB

4 GB

Solaris

CPU

2x Ultrasparc 3

2x Ultra Sparc 4

2x Ultra Sparc 4

Solaris

Memory

4 GB

4 GB

4 GB

Linux

CPU

2x 2.0 GHz

2x 2.4 GHz

2x 2.8 GHz

Linux

Memory

2 GB

4 GB

4 GB

HP-UX

CPU

PA-RISC 2x 650 MHz

PA-RISC 2x 699 MHz

PA-RISC 2x 750 MHz

HP-UX

Memory

2 GB

4 GB

4 GB

All

Java Heap

512 M

750 M

1280 M

All

Disk

4 GB per probe

Notes regarding the test environment:

Call profile (depth of method calls) for each Server Request: 5

Number of unique Server Requests per probe: 23

The following table lists the desired system requirements for the host of a Diagnostics Server with .NET
Probes.

Platform

Item

Up to 10 .NET probes

Up to 20 .NET probes

Up to 50 .NET probes

Windows

CPU

1x 1.0 GHz

1x 2.0 GHz

2x 2.4 GHz

Windows

Memory

768 MB

1 GB

3 GB

Solaris

CPU

1x Ultrasparc 2

2x Ultra Sparc 2

2x Ultra Sparc 3

Solaris

Memory

1 GB

1.5 GB

3 GB

Linux

CPU

1x 1.0 GHz

1x 2.0 GHz

2x 2.4 GHz

Linux

Memory

768 MB

1 GB

3 GB

HP-UX

CPU

1x 1.0 GHz

1x 2.0 GHz

2x 2.4 GHz

HP-UX

Memory

768 MB

1 GB

3 GB

All

Heap Size

350 M

700 M

1400 M

All

Disk

3 GB per probe

Information on System Impacts When Probed (.NET Probe)

Item

Minimum

Latency

+3% while CPU < 50%-once the CPU starts saturating, latency overhead
increases

Memory

60MB additional RAM

CPU

+5%

Disk Space

200MB free disk space is required for the probe install

Network I/O

+3% to +5% (assuming a normal ASP.NET application with a remote database
Backend)

Disk I/O

Impact should be statistically insignificant

Throughput

< 1% reduction while CPU < 50% - should not exceed 15% reduction even
under peak load

Be careful with other metrics once throughput is impacted - as the application
is doing less work, results are not directly comparable

RAM utilization

Baseline footprint increase of up to 20MB per worker process

Note: This is quite difficult to measure accurately.

Information on System Impacts When Probed (Java Probe)

Item

Minimum

-Xmx

Add 40MB

Disk Space

200MB free disk space is required for the intial probe install. Note, more space
may be required during runtime due to the creation of logfiles and classmap.
For large applications, it is recommended to have an additional 200MB
available per probe for logfiles and classmap data.

Latency

+3% while CPU < 50%-once the CPU starts saturating latency overhead
increases

CPU

+5% to +10%

Network I/O

+3% to +5% (assuming a normal Java EE application with a JDBC, RMI, or
Web-services Backend)

Disk I/O

Impact should be statistically insignificant

Throughput

< 1% reduction while CPU < 50% - should not exceed 15% reduction even
under peak load

Be careful with other metrics once throughput is impacted - as the application
is doing less work, results are not directly comparable

RAM utilization

Baseline footprint increase of about 40MB

The requirements and general impact on the system depends on the monitored application and on the
probe configuration. The values listed above are for the default probe configuration only.

Notes and Limitations

Notes and limitations are provided for the following component areas:

  • Probes (Java, .NET)
  • Integrations (BAC, PC, LR, TV, SaaS)
  • Collectors (Oracle, SAP, MQ, SQL Server)
  • Java Profiler
  • .NET Profiler
  • Diagnostics Server
  • User Interface
  • Environment

Probes (Java, .NET)

  • On z/OS, the Process CPU Utilization metrics are not supported. (44092)
  • The following metrics entries should be commented out or removed in the probe's /etc/metrics.config file.

    ###############################

    #### Process Metrics Collector

    # ProcessMetrics/processCpuUtil=ProcessCpuUtil|percent|Probe

    # ProcessMetrics/processCpuUtilAbs = ProcessCpuUtilAbs|percent|Probe

  • In Diagnostics 8.00, new JMX metrics were added for Apache Tomcat. These JMX metrics exist in Tibco,
    JBoss and possibly other application servers. However, these new metrics caused a conflict and as a
    result Diagnostics could no longer collect JMX metrics from WebSphere. Because of this, the Apache
    Tomcat JMX metrics are disabled by default in 8.02.
  • If you are not using WebSphere, you can enable the Apache Tomcat JMX metrics by commenting out the
    lines in metrics.config.

    There can be other JMX conflicts too, although we are not aware of any. If you find that you are missing
    JMX metrics or need help with the configuration, please contact HP Diagnostics support.

  • When the dynamic property enable.stack.trace.sampling is set to "auto" (the default value), stack trace
    sampling will be enabled if and only if the probe is running on Windows or Linux using one of the
    following JVMs:
    • Sun Microsystems HotSpot Server 1.5.0_10 or later
    • BEA/Oracle JRockit 1.5 JVM version R27.5 or later
    • Sun Microsystems HotSpot Server 1.6.0_06 or later
    • BEA/Oracle JRockit 1.6 JVM version R27.5 or later
    • If you want to use this feature for any other JVM, you must manually set the property to "Enabled" in
      the Profiler user interface for the probe. Be aware that for any other JVM, there is a risk that this
      feature will cause unknown problems with the JVM. It should be tested very carefully in a non-
      production environment before attempting to use this feature in a production environment on any JVM
      not listed here. In the future, as more JVMs are certified, they will be added to the above list. (43937)

  • Special configuration needed to support SAP JVM NetWeaver 7.1 and later (43388)
  • Because NetWeaver 7.1 runs in a clustered environment, you will need to do one of the following in order
    to distinguish the probes in the cluster:

    • Find a way to set the probe.id for each individual server process in your cluster (an expert SAP
      administrator might be able to help).
    • If the above is not possible, then you need to specify the keyword %0 in the probe name. Doing
      this will name each probe in the cluster uniquely. For example, if you specify "-
      Dprobe.id=myProbe%0" then the first probe that comes up will be called "myProbe0", the second
      one "myProbe1" and so on.
  • There is a potential issue on HP-UX 11.23 with IBM WebSphere: When multiple probes are installed on
    the same system, it can happen that the probe's communication port (35000) will be overwritten with
    each startup of the probe. In this case, simply specify a different port range for each of the probes in
    etc/webserver.properties, for example:
    • jetty.port=36000
    • jetty.max.port=36100
    • Or specify the above parameters on the app server's startup configuration (via -D). (44062)

  • Using the Heapwalker feature with JRockit JVM version 27.3 may cause the application to crash.
    Versions 27.2 and 27.4 and higher work as expected, so the problem is only with version 27.3. Please
    upgrade to a higher version of JRockit to fix this problem. (43993)
  • CPU times can be larger than latency times on Windows 2003.
  • On Windows 2003, the CPU timer has only 15.625 ms accuracy. In other words, the CPU timer is
    incremented only 64 times per second (64 * 15.625 ms = 1 second). So every method invocation will
    "consume" CPU time with a multiplicity of 15.625 ms, zero included, but no other values are possible.

    For larger latencies, for long time intervals, and for frequent server requests the average CPU remains
    reasonable. The problem is visible for short, infrequent server requests only, where `luck' causes the
    server request to execute when the CPU timer jumps by 15.625 ms.

    JAVA and NET Probes will demonstrate this problem. This is a problem with Windows 2003 and cannot
    be fixed by Diagnostics. (42371)

  • When the Diagnostics/TransactionVision Agent is run in "dual" mode, there is a limitation on JDBC
    calls. "Dual" mode means that both Diagnostics Java probe and TransactionVision Java sensor are
    enabled on the system. In this configuration, Diagnostics has the following limitations:
  • 1) No data will show up from nodes in "dual" mode in the "SQL Statements" view.

    2) When drilling down to a Call Profile, JDBC calls will not show the SQL statement in the Arguments of
    the call.

    This problem will be fixed in a future release of Diagnostics. (42989)

  • GC Time Spent in Collector metric may be inaccurate (JRockit JREs only)
  • The problem is caused by a bug in JRockit JRE which reports the time spent in GC in nanoseconds
    rather than in milliseconds, as specified.

    Workaround: either upgrade JRockit to version 1.5.0_10, build
    R27.2.0-131 (or later) or modify the Rate setting as follows:

    In <probe_install_dir>/etc/metrics.config, change "[0.1]" to "[0.0000001]" in the line which defines "GC
    Time Spent in Collections" metric. For example:

    Java\ Platform/java.lang\:type\=GarbageCollector,*.CollectionTime = RATE[0.0000001](GC Time
    Spent in Collections|percent|GC) (42344)

  • If the following WARN message is found in the probe.log file on the probe system:
  • 2006-11-28 07:07:27,171 WARN com.mercury.opal.capture [ExecuteThread: `8' for queue:
    `weblogic.kernel.Default'] Maximum number of SQL queries cached (4096). The values of some prepared
    SQL queries will be lost. See sql.cache.size in capture.properties.

    Then you will need to increase the sql.cache.size in the capture.properties file on the probe system.
    (40639)

  • Do not run jreinstrumenter from the Java Agent Setup Module if you are installing the probe only in
    order to get the standalone system metrics agent. (42069)
  • By default, Diagnostics does not monitor server requests that always execute in under 51 milliseconds.
    These requests are trimmed-no information is captured about them. SQL statement executions made
    from these trimmed requests are not recorded, even if those same SQL statements are timed and
    recorded in the context of executing other server requests. In addition, the probe-level layer breakdown
    does not include time taken by trimmed server requests.
  • An exception to this is in a case where, on at least one occasion, a server request takes longer than 51ms
    to execute. Future executions of that server request are recorded, even if the subsequent requests are
    faster than 51ms. The reason for this behavior is to report accurate averages (and not mislead the user
    into thinking that this request only ran once or twice when in actual fact it is constantly running, just
    very quickly). This "Always Record" flag lasts for 1 hour from the last time an execution over 51ms was
    seen.

    You can redefine the 51ms trimming threshold. For the .NET Probe in all modes or for a Java Probe
    integrated with LoadRunner or Performance Center, you configure this setting in the
    <diagnostics_server_install_dir>\etc\trimming.properties file. For the Java Probe in standalone mode
    or integrated with Business Availability Center, you configure this setting in the
    minimum.fragment.latency property in the <probe_install_dir>\etc\dispatcher.properties file. All .NET
    Probe trimming configuration is done in the <.NET_ probe_install_dir>\etc\probe_config.xml file.
    (40631)

  • Memory Analysis/Heap Walker does not work on IBM JVM due to a defect on the IBM VM. (40630)
  • A defect in the JVM on Linux (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6330858) results in
    the thread CPU times being the same for all threads in BEA WebLogic 9.0. This bug was fixed in JDK
    1.5.0_07. (40391, 39387)
  • The Java Probe causes core dump at startup of WebLogic 9.1 when used with JRockit VM version
    150_04. The JRockit bug is fixed on jdk1.5.0_06. (38545)
  • By default, for performance reasons, Diagnostics does not capture target information for Database calls.
    Therefore, these calls do not show up in the Outbound Calls view. You can enable it as follows:
    • For version 7.0 and higher of the Java Probe, set create.database.fragmentArcs=true in the
      probe's dispatcher.properties file.
    • For Java Probes earlier than version 6.5 and .NET Probes, set
      create.database.fragmentArcs=true in the server.properties file for the Diagnostics Server in
      Mediator mode. You should also use this workaround if enable.probe.aggregation in the Java
      probe has been changed from its default value of true to false.
    • Once capturing of Outbound database calls has been enabled, these calls will be displayed in the
      Outbound Calls view. (40722)

  • For non 1.5, VM Heap Breakdown is based on an experimental api (JVMPI) in the JVM and is not
    expected to work in the following JVMs:
    • Sun 1.4.2_01: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4861809
    • Sun 1.4.2: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4899339 {open}
    • IBM JREs in general do not have a stable API implementation for this API
  • Probe throttling does not decrease when load is reduced on the SAP NetWeaver app server.
    Workaround: Increase the maximum number of buffers available to the probe. (See the HP Diagnostics
    Installation and Configuration Guide.) (34278)
  • Running the profiler directly on z/OS is not supported. The script "profiler.sh" has been removed in the
    7.50 version of the z/OS probe, it will exist in previous versions but cannot be successfully run on z/OS.
    To run the profiler for a probe on a z/OS system, do so from a platform other than z/OS. (42369)

Integration (BAC, LoadRunner, Performance Center, TransactionVision, SaaS)

  • Diagnostics 8.04 LoadRunner Add-In does not work with LoadRunner 11 and Diagnostics Server 8.x. (46357)
  • The Diagnostics GUI is not visible in the Diagnostics tab of the LoadRunner Controller during a load test in which at least one Diagnostics agent is selected to participate.

    Workaround: This problem does not occur on all systems. If encountered however, it can be resolved by installing the
    Diagnostics 9.x LoadRunner Add-In. The package is available from the Diagnostics 9.x product download site and it is included in the Diagnostics 8.05 server patch bundle.

  • If, when you install Diagnostics Server you chose the option to integrate with BAC and make the
    Diagnostics installers available from BAC, then in BAC, the Admin> Diagnostics> Downloads page
    displays an incomplete list of the installers for Diagnostics components. (44105)
  • Workaround: Copy all the installers from the Diagnostics DVD Diagnostics_Installers directory to the
    <HP Business Availability Center root directory>\AppServer\webapps\site.war\admin\install
    directory on the HP Business Availability Center Gateway Server. If required, create the admin\install
    directory structure. Then in BAC you can go to Admin> Platforms> Downloads to find the complete list
    of the installers for Diagnostics components.

  • Document BAC Lightweight Single Sign-on Parameters (33807)
  • Additional configuration for single sign-on between TV and Diagnostics is required if the BAC token is changed.

    Workaround: For single sign-on between TV and Diagnostics to work correctly, the Token Creation Key
    (initString) in Business Availability Center Authentication Management Wizard (Admin > Platform >
    Users and Permissions) and the lwsso.init.string in etc/security.properties on the Diagnostics
    commanding server have to match. If the BAC token is changed from the default for security reasons,
    the change needs to be reflected in Diagnostics.

  • Jboss fails to start with diagnostics agent enabled, the following error can be found in Jboss logs:
    javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class
    org.jboss.system.server.jmx.MBeanServerBuilderImpl: java.lang.ClassNotFoundException:
    org.jboss.system.server.jmx.MBeanServerBuilderImpl
  • Note: This occurs when BAC gateway or processing server is enabled with Diagnostics agent. (44085)

    Workaround: Add the following to the <diag_install_dir>\etc\metrics.config

    1) Find this line in the metrics.config file: Java\ Platform.builders.to.ignore

    2) At the end of this line append the following: org.jboss.system.server.jmx.MBeanServerBuilderImpl

    Example after the edit:

    Java\ Platform.builders.to.ignore ... org.jboss.mx.server.MBeanServerBuilderImpl
    org.jboss.system.server.jmx.MBeanServerBuilderImpl

  • When Diagnostics is integrated with BAC it is possible that some to all entities of a snapshot do not
    initially populate the screen.
  • Workaround: Click the refresh button to resolve the issue. (44033)

  • When configuring Real User Monitoring in Business Availability Center to use a Page definition
    including parameters, Diagnostics will not be able to make a match unless parameter capturing has
    been enabled. To enable this option on the Java Probe, list all desired parameter names in reverse
    alphabetical order in the args_by_class property in auto_detect.points under the "[HttpCorrelation]"
    section. (40496)
  • If the Session Replay applet from Business Availability Center is launched before Diagnostics the
    Diagnostics UI cannot establish communication with the Diagnostics Server. The Diagnostics UI will fail
    to load with the following message:
  • Http Status 503 - RUM proxy Error -:Accessing URL
    http://ovrntt150.rose.hp.com:2006/profiler/getProperties failed with status: 403 Forbidden
    Apache Tomcat/5.0.28

    The work around is to open the Session Replay applet after the diagnostics applet or to close the Session
    Replay applet before launching the Diagnostics applet. (42850)

  • Diagnostics Server does not work with IIS Basic Authentication with Business Availability Center and
    Business Availability Center Reverse Proxy Server. (43987)
  • Offline vs. Online. The following features and functionality in LoadRunner Offline Analysis are different
    from the Diagnostics Online.
    • Data in the profiler that is not sent into the Diagnostics Server will not be in the offline analysis
      after Performance Center/LoadRunner runs. This includes LWMD, Heap Breakdown, Allocation
      Analysis, Exceptions, SOAP Faults and SOAP payloads.
    • Oracle 10g data will not show up in offline analysis.
    • System metric data will not show up in the offline file.
    • Instance trees will not be available in the offline analysis only aggregate trees after the needed
      drill down.
  • HP Performance Center offline files are kept by default. To manage offline files, you need to configure
    the Diagnostics Servers in Mediator mode so that they delete these files. You do this by setting the
    property distributor.offlinedelivery.preserveFiles to true in the
    <diagnostics_server_install_dir>/etc/server.properties file. When set to true, this property causes the
    run-specific "offline" files stored in the server's data directory to be retained for the amount of time
    specified in the facade.run_delete_delay property in the server's webserver.properties file (default period
    is 5 days).  During this retention period, the run can be successfully collated. Sometime after the
    retention period has ended, the associated offline files will be deleted from the system. (40739)
  • In Performance Center 8.1 SP4, you should access Diagnostics help directly from the Diagnostics Help
    menu and not from the Performance Center help menu. (40137)
  • Performance Center users that drill to Diagnostics get full admin privileges to the Diagnostics Server
    and to the Probes that are connected to it. All restricted actions (for example, changing thresholds,
    alerts, and Custom Attributes) are accessible by all Performance Center users. Furthermore, every
    custom screen created by a Performance Center user is shared by all Performance Center users. (40133)
  • Starting in Diagnostics 7.0, many instrumented methods have been flagged when-root-rename in
    auto_detect.points to prevent many spurious and uninteresting server requests from being created and
    displayed in the UI.  Should these methods execute outside the context of another server request, they
    will still be recorded, but into a pseudo server request with the name "Background - <Layer>", where
    <Layer> is the layer name for the method.
  • For example, the Background JDBC connection testing that WebLogic runs used to be reported into a
    few separate server requests, such as netJDBCPreparedStatement.executeQuery(), but will now be
    recorded as invocations of a "Background - Database" pseudo server request.

    In addition, when using LoadRunner, these new pseudo server requests will not appear in LoadRunner
    Offline Analysis. 

    Should you wish to keep the old behavior for a particular instrumentation point and see these entries in
    LoadRunner Offline Analysis, carefully remove the when-root-rename detail parameter from the
    auto_detect.points. (42127)

  • When Diagnostics is integrated with HP Software-as-a-Service (SaaS), you must log on through Business
    Availability Center when viewing data for customers other than "Default Client". Failing to do so will
    cause several subtle issues with how data is reported. You can still use the standalone login to view the
    "Default Client" data. (42178)
  • When using Performance Center, once a user name has been supplied to connect to Diagnostics (for
    example, "admin"), even after logging on to Performance Center with a different user, Performance
    Center will always open Diagnostics with the same user, "admin".
  • LoadRunner Collate fails when the Diagnostics Server was restarted during Performance Center
    run/load test(34682)

Collectors (Oracle, SAP, MQ, SQL Server)

  • To maintain accurate MS SQL Server metrics, the database option AUTO_CLOSE must be set to OFF.
    If AUTO_CLOSE is set to ON, MS SQL Server metrics will show up with incorrect and negative values
    after certain database operations (bcp, backup, shrink, etc) (43075).

JAVA Profiler

  • When inside the profiler, Garbage Collection (GC) à Time Spent in Collection for the JRockIt JVM can
    have very large, inaccurate values. For example:
  • For JRockIt -> JRockIt -> GC Time Spent in Collections:

    Min: 0
    Max: 240,272,099.1
    Average: 2,688,968.98

    For Java Platform -> GC -> Time Spent in Collections:

    Min: 0
    Max: 102,977,406.37
    Average: 1,938,217.38

    According to BEA, there is defect in some versions of JRockIt when the data reported is in 'ticks' instead
    of milliseconds. See http://forums.bea.com/bea/thread.jspa?messageID=400006438&tstart=0: "This is a
    problem in JRockit version R27.1 which have been tracked down and fixed as CR311327, the figures are
    right but we show data in ticks instead of milliseconds." (41844)

  • Launching the Profiler from the Diagnostics UI with the View Profiler menu option can fail.
  • The Profiler can fail to launch when the version of the probe is 6.5/6.6 or 7.0 and the version of the
    Diagnostics Server is 7.50. In these version mismatch cases, the Web browser attempts to directly
    connect to the probe and does not proxy through the Commander. If the probe is behind a firewall or
    otherwise not directly routable from the client Web browser, the Web browser will not be able to connect.
    Workaround: Run the Profiler from the host on which the Probe is running. (43331)

.NET Profiler

  • When running the .NET Profiler under locales that use an Asian character set, the default font size may
    be too small. In such cases, change the text size used by the Web browser. (43070)
  • Launching the Profiler from the Diagnostics UI with the View Profiler menu option can fail.
  • The Profiler can fail to launch when the version of the probe is 6.5/6.6 or 7.0 and the version of the
    Diagnostics Server is 7.50. In these version mismatch cases, the Web browser attempts to directly
    connect to the probe and does not proxy through the Commander. If the probe is behind a firewall or
    otherwise not directly routable from the client Web browser, the Web browser will not be able to connect.
    Workaround: Run the Profiler from the host on which the Probe is running. (43331)

Diagnostics Servers

  • There is a known issue removing the 8.00 Diagnostics Server after upgrading from a 7.0 Diagnostics
    Server.
  • Workaround. If you received the error message: "A suitable JVM could not be found. Please run
    the program again using the option -is:javahome <JAVA HOME DIR>", then navigate to
    <Diagnostics_install_dir>\Server\_uninst and double-click on uninstall.jar to remove the product.
    (43825)

  • When enabling HTTPS between Diagnostics components the user should monitor the
    <install_dir>/MercuryDiagnostics/server/log/jetty.log for warnings similar to:
  • 2008-11-17 15:33:07,528: WARNING : WARN!! [RangeSocketListener-
    69]org.mortbay.http.SocketListener.isOutOfResources(SocketListener.java:358)22> OUT OF THREADS:
    RangeSocketListener@0.0.0.0:8443

    2008-11-17 15:33:35,582: INFO : EVENT [RangeSocketListener-
    14]org.mortbay.http.SocketListener.isLowOnResources(SocketListener.java:325)04> LOW ON
    THREADS ((200-198+7)<10) on RangeSocketListener@0.0.0.0:8443

    Workaround. If these messages appear, increase the value of jetty.threads.max by increments of 100 in
    the <install_dir>/MercuryDiagnostics/server/etc/webserver.properties file.

    Continue to monitor and increase if necessary. (44007)

  • On Linux 2.4 kernel systems server.log shows incorrect timestamps. (42665)
  • When the JVM starts up the wrong time zone is used. Related to Linux JVM only. Sun bug: http://bugs.sun.com/view_bug.do?bug_id=6456628. Bug was resolved in jre 1.6.0_17 but reintroduced as a regression in jre 1.6.0_18.

    Workaround. Use a -D property at JVM startup: -Duser.timezone=GMT-<offset>"

    For example: -Duser.timezone="GMT-8:00" -- is for PDT

  • The default purging behavior has changed as of release 7.50. By default, the Diagnostic Server now
    purges entities that it has not seen for 6 months. Once an entity (such as a probe) is purged, access to its
    trends and summaries is no longer possible.
  • This is also the case when a probe is renamed. Data for the probe under the old name is only available
    for 6 months after the rename.

    The purging interval can be changed in server.properties by increasing the number of hours in the
    persistency.major.4.total.length parameter (requires restart of the Diagnostics Server). Currently, the
    value is set to 6 months (4320 hours). Note: increasing the interval will require more server disk space.

  • After configuring the Diagnostics Server in Mediator mode, if it appears missing or inactive in the
    Diagnostics Server in Commander mode view, then it is possible that "commander.url" in
    server.properties has an ending "/" on it. For example, if you open server.properties on the Diagnostics
    Server in Mediator mode and set to commander.url=http://amkisty01:2006/ instead of
    commander.url=http://amkisty01:2006 (Note that the difference is the appending /), then the Diagnostics
    Server in Mediator mode will appear missing or inactive. (40527)
  • Broadly scoped allocation instrumentation may fill up perm-gen and cause the VM to crash. Users
    should avoid widely scoped instrumentation and instead make instrumentation as narrow as useful to
    minimize system impact. (39339)
  • When average latencies are less than 50ms, users may see CPU time slightly higher than latencies
    because of resolution differences. (39690)
  • Entity purging results in contribution/breakdown not summing up to the total because the deleted
    entities data was already rolled up and is not recalculated at this point. (39344)
  • When installing Business Availability Center and Diagnostics Servers on the same machine, Business
    Availability Center should be installed before Diagnostics to avoid installer collisions. (37564)
  • Running the Diagnostics Server from a network drive, or configuring it to store the archive on a network
    drive, is not supported.
  • Diagnostics Server Time on HP-UX
  • On HP-UX, if the time on the server has been modified, Diagnostics will not pick up the modified time
    until the Diagnostics server is restarted.  This is because the Diagnostics server picks up the time from
    the JVM and the JVM does not, by default, detect changes in the system time.

    If the system time has been modified, you must restart the Diagnostics server in order for Diagnostics to
    reflect the new time.

    Another option is to start the Diagnostics server using the -XX:+UseGetTimeOfDay option as described
    in http://www.hp.com/products1/unix/java/java2/jdkjre5_0/infolibrary/jdk_rnotes_5.0.08.html#date_time.
    However, you might notice a drop in performance if you use this option. (42145)

  • When you configure the Diagnostics Server to run only in SSL mode, it only affects port 2006. The
    Diagnostics Server also has an embedded Diagnostics Probe (for internal troubleshooting purposes) that
    listens, as usual, on port 35000.  If you are trying to lock your environment to SSL only for security
    purposes, you will also need to re-configure that embedded probe to listen only over SSL.

User Interface

  • Prior to exporting an Application Explorer view to html you should examine all of the tabs to activate the
    population to the desired charts, otherwise the exported chart could be empty. (43934)
  • Problem adding Server Summary View to new views (2 or 4 way).
  • Workaround: As a rule of thumb you should only add standard views when creating a dashboard. (44079)

  • It is possible that pinned frames, for example, common task and navigations, may become unresponsive
    to mouse-over and click events.
  • Workaround. To resolve the issue reset the screen layout. (43899)

  • Navigation menu items on the popup (context) menu are different when right-clicked alone vs. selected
    and then right-clicked. This occurs because only limited information is available when the first right-
    click on an entity occurs, and the context menu is populated with what is known at that time. However,
    the right-click operation immediately kicks off a query to the Diagnostics Server to find out more about
    this entity, and so subsequent right-click operations use the returned data and the popup menu includes
    more options. (42528)
  • In a custom 2-way view, both of the Navigation controls are updated with the navigations for the
    selected entity. (42996)
  • When an application is selected (Application Explorer view) or a Probe Group is selected ( Server
    Summary view) you may see two "View Probe" navigations. This will happen when the Application or
    Probe Group contains both .Net and Java Probes. (42822)
  • When an application is selected (Application Explorer view) or a Probe Group is selected ( Server
    Summary view) the number associated with the "View Probes" navigation will be incorrect when you
    have a collector in the application or group. The number does not include the collector but the view
    populated by the navigation will include the collector(s). (42827)
  • Within the context of an application, the counts on the navigation control may not always be correct.
    (43228)
  • The navigation control only tracks the global time control. (42876)
  • In the Application Explorer view, the Top 5 by Latency graphs are populated with the " % Latency over
    Threshold" metric not the "Latency" metric as would be expected based on the graph title. (43314)
  • Drilling from some alerts to "View Threshold Violation" results in a view that is empty except for the
    message "Either no data is available for the selected time range, or the data at this level of detail has
    been purged from the database."
  • This generally happens when the violating entity is 2 levels below the alert entity. For example, a probe
    group alert from a server request threshold or a probe alert on a portal component--life cycle method
    alert. 

    Workaround:  Notice the breadcrumb of the empty view.  This indicates the view that shows the data
    causing threshold violation.  Add the alert to a snapshot.  From the snapshot, use the Navigations pane
    to drill-down.  In most cases, you would navigate to Probes first and the destination view below that.
    For Life Cycle Methods, navigate to Portal Components (under Probes) first.  For better navigation from
    alerts to threshold violations, keep alert rules closer to the entities being monitored. (43298)

  • When looking at the "Call Profile" view from within the JAVA Probe Profiler, when displaying a
    netJDBCPreparedStatement.executeQuery method, this JDBC outbound method will not show a "Type"
    in the "Method Data". Due to internal limitations, the Type cannot be obtained and displayed, only the
    SQL statement associated with the method call can be obtained. (41070)
  • Secondary JVM credentials box pops up after login to Diagnostics Server using JRE 1.5.0_01 or other
    1.5.x where 0 <= x < 6. Problem fixed on newer JRE. (40237)
  • System metrics for probes earlier than version 6.5 will not be properly categorized in the details pane.
    (40592)
  • If there are two probes of the same name connected to different Diagnostics Servers in Mediator mode,
    only one probe appears in the System Health. (40807)
  • User should close all browser windows to completely log out of Diagnostics. Logging out of Business
    Availability Center/SaaS alone does not log you out of Diagnostics. (37133)
  • Diagnostics registration with Business Availability Center may results in HTTP Error 403 if IE
    enhanced security settings are enabled (Win 2003).
  • Workaround: Add the URL to your trusted sites and enable cookies. (40500)

  • When drilling down from the Business Availability Center application to Diagnostics, the data displayed
    in Diagnostics may be different. This is caused by differences in the time ranges and data capture
    mechanisms used between the products. (40324)
  • For server requests under 10 ms, Minimum Time will always be reported as zero. (34125)
  • In the Snapshot Analysis view, when you attempt to highlight a row, Diagnostics does not highlight just
    one entity/metric pair in the chart. Instead it highlights all charted metrics related to the entity in the
    selected row. (40356)
  • For Websphere 5.1, the Inbound Web Service name is not consistent with the Web Service name in the
    outbound screen.
  • Workaround: Users can use an alias for those entities. (40425)

  • Beginning with the Diagnostics 7.0 release there were enhanced views for Portals data.  Portal data
    captured from probes in earlier releases cannot be shown in the new views.  By default, the old portal
    views are hidden and do not appear in the Diagnostics UI.  When it is necessary to see historical data for
    Portals, the old views must be restored.
  • In order to restore these old views, please follow the instructions in the file
    <diagnostics_server_install_dir>/contrib/Pre-7.0-Portal-View/README.txt.

    When it has been decided to no longer view the old data, remove the old view by right-clicking on it and
    choosing "Delete View".

  • JAVA 6 Issue with Business Availability Center/RUM drilldown.
  • When drilling down from Business Availability Center/RUM to Diagnostics, if the JAVA console is
    flooded with PatternSyntaxExceptions and the UI shows no data, it could be from the JVM version.
    Diagnostics does not support JVM versions 1.6.0 and 1.6.0_1. Newer versions of 1.6, 1.6.0_02 or later,
    are supported and work fine. (42225, 42315)

  • When using the HTML view of System Health, you may periodically receive a message: System error -
    1072897514
    . This seems to occur especially with low latency connections. You can safely ignore this
    message.

Environment

  • For an IPV6 environment, the following restrictions exist:
    • All Diagnostic Server, Collector, and Java Probe configuration must be based on host names (not
      IP addresses).
    • .NET Probes are not supported.
    • Collectors must be running on IPV4 tunneled networks.
    • Linux and Solaris operating systems must be explicitly configured to use the IPV6 network
      host/IP resolution. On dual hosts, update /etc/nsswitch.conf. On Solaris, update ipnodes.

Support

You can visit the HP Software Support Web site at:

http://support.openview.hp.com/

This web site provides contact information and details about the products, services, and support that HP
Software offers.

HP Software online support provides an efficient way to access interactive technical support tools. As a
valued support customer, you can benefit by using the support site to:

  • Search for knowledge documents of interest
  • Submit and track support cases and enhancement requests
  • Download software patches
  • Manage support contracts
  • Look up HP support contacts
  • Review information about available services
  • Enter into discussions with other software customers
  • Research and register for software training

Most of the support areas require that you register as an HP Passport user and sign in. Many also require a
support contract. To find more information about access levels, go to:
http://h20230.www2.hp.com/new_access_levels.jsp

To register for an HP Passport ID, go to:
http://h20229.www2.hp.com/passport-registration.html

Legal Notices

© Copyright 2004 - 2010 Hewlett-Packard Development Company, L.P.

Confidential computer software. Valid license from HP required for possession, use or copying. Consistent
with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and
Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard
commercial license.

The only warranties for HP products and services are set forth in the express warranty statements
accompanying such products and services. Nothing herein should be construed as constituting an additional
warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

The information contained herein is subject to change without notice.

For information about third-party license agreements, see the Documentation directory on the product
installation media.

Java™ is a US trademark of Sun Microsystems, Inc.

Microsoft® and Windows® are U.S. registered trademarks of Microsoft Corporation.

Oracle® is a registered US trademark of Oracle Corporation, Redwood City, California.

UNIX® is a registered trademark of The Open Group.

If you have any comments or suggestions regarding this document, please send them by e-mail to
SW-Doc@hp.com.



Copyright 2010 Hewlett-Packard Development Company, L.P.