Diagnostics probe significantly affects performance

Having instrumented an application using Diagnostics, the execution times for the instrumented methods are found to have increased significantly.

For example a small test application that performs set & get methods a number of times is instrumented. It is found that with Diagnostics the instrumentation overhead is significant as follows:

Execution time with instrumentation is 60000 ms

Execution time without instrumentation is 1200 ms

Instrumenting any application will result in a certain amount of overhead. This overhead depends on the amount of real work that is done in the (instrumented) method versus the amount of work that is done by the instrumentation of that method. Therefore the choice of which methods to instrument will directly influence the resulting instrumentation overhead. When instrumenting a method, as there is a relatively fixed overhead, care is needed to ensure that a method is not selected where the instrumentation overhead is relatively large as compared to the method execution time or where that method will be executed very often by the application.

This point is discussed in more detail in the section "Understanding the Overhead of Custom Instrumentation" in the chapter "Custom Instrumentation for Java Applications" in the HP Diagnostics Installation and Configuration Guide.

Modify latency of the metrics dynamically

Latency is property that allows the Server to deal with the amount of data that the probes are capturing,as it works as a limit on resources consumed by Diagnostics Server will be set.

When it is being applied, the agent can automatically reduce the number of methods the probe captures.

The configuration files capture.properties and dispatcher.properties contain a list of parameters which help with Latency settings.

However, to modify them may require a restart of the server to get them registered, which may not always be possible.

Intermittent information displayed in HP Diagnostics Server

Diagnostics Server displays intermittent information from Oracle and MQ Collector

Two instances of collector(MQ and Oracle) are installed on the same box which is not correct.

1. Uninstall both instances of collector .

2. Install only one instance of collector.

3. Configure in <collector>\etc, mq-config.xml and oracle-config.xml

4. Go to collector.properties in etc folder and make sure active.systems = MQ, Oracle

5. Start the Collector

Call profile doesn’t show methods

1. Go to <Probe directory>/etc/capture.properties

2. Open the "capture.properties" with notepad

3. Try different probe trimming:

– minimum.method.latency = 0ms

– maximum.stack.depth = 75

– maximum.method.calls = 5000

4. Check that the “missing” method is instrumented in “detailreport.txt” and that there aren’t any instrumentation conflicts in probe logs.

5. Check time zone on probe and server. –Make sure when converted to UTC/GMT time is rational.

No data from any probes

1. Check Diagnostics server and probe logs.

2. Verify a valid license key is on the commander.

3. Telnet from Diagnostics server to localhost:2612

– If fails, Check /etc/server.properties timemanager.time_source= SERVER

4. Check if the Diagnostics server is behind a firewall.

5. Check routing table in the Diagnostics server.

6. Check \log\ folder in probe for error messages.

7. If \log\ folder doesn’t contain information, means this is a instrumentation issue; Disable the current instrumentation and create a new one.