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.

Leave a Comment