top of page

the Application Profiler for z

AP4Z and Hot Spot Performance Analysis

Hot spot performance analysis tools are designed to perform deep dive analysis of specific programs’ behavior at execution time, down to the single instruction. They allow to pinpoint otherwise invisible performance issues.


Such products work by sampling the execution state of the program under investigation. They periodically "wake up" at a user-determined rate to collect information about the current executing function / instruction and about all the parent functions.

 

They adopt a statistical approach, where the quality of the analysis depends on the number of  collected samples. Provided that enough observations are collected, hot spot analysis may present a quite detailed view of where a transaction spends its time. This includes hot code sections, wait for I/O, access to databases, system services invocation etc. CPU utilization is also estimated apportioning it with the same statistical approach.

Hot spot analysis is usually performed on an exception basis against specific programs / transactions. Typical use cases for hot spot analysis are within the development lifecycle, to make sure that the new code performs as expected, and during normal operations to deep dive into an existing performance issue.

 

Hot spot analysis requires you to know in advance where to look, and this is only possible in case of long standing performance issues or large, sudden behavior changes. For all the cases where the change is not apparent, to use execution sampling you need to setup a process which maintains a performance baseline and uses it to identify deviations worth to be investigated. Some hot spot analysis products offer SMF based add-on components to make this identification process easier.

 

Execution sampling must be explicitly activated beforehand on specific objects through the definition of a measurement session. Measurement sessions focus on individual transactions rather than entire workloads. Duration of the analysis interval and number of required observations are key attributes of each measurement session and determine the quality of the results. A typical measurement session lasts minutes and collects hundreds samples per second.

 

Only after the measurement session is started, the target transaction can be traced, meaning that transient issues are difficult to trace.

AP4Z on the other hand is a non-intrusive continuous profiler.

AP4Z only provides a subset of the information collected by hot spot performance analyzers, but because of its negligible overhead it can be active all the time against the entire workload. AP4Z metrics are easy  understand and do not require deep system level skills. They can be easily accessed and effectively used by people with different levels of experience.  For additional information see AP4Z Technical Information.

 

AP4Z and hot spot performance analysis should be seen as complementary solutions. AP4Z help increases use and effectiveness of hot spot analysis. AP4Z is perfect to build a comprehensive historical view of the behavior of your entire application portfolio. This view can be used to automatically identify significant behavior changes and trigger an in-depth analysis to be performed using an execution sampler.

 

There are few use cases where both AP4Z and hot spot performance analyzers can be used, but in general they are designed to address quite different requirements. Specifically AP4Z is valuable in several scenarios where hot spot performance analysis either struggles or can't be used at all.

The two tables below show you few examples. For a more comprehensive discussion of how AP4Z can help see AP4Z Usage Scenarios.

Application Modernization, Application Portfolio Management
 

Use Case
Hot Spot Analysis Tools
AP4Z
Prepare, support and track the migration to new compilers’ versions and measure the benefits.
NO
YES
Track when programs were recompiled, using which compiler version and compiling options.
Limited
YES
Generate inventories of programs related to applications subject to transformation projects.
NO
YES
Detect unexpected or non compliant relationships, enforce application boundaries.
Limited
YES
Help understand actual relationships between different programs, applications and business areas.
Limited
YES
Create lists of programs actually in use vs programs not used anymore.
NO
YES
1
1
1
   Execution sampling can only be applied for short times to a small set of programs.
1

Code quality, Performance, Security
 

Use Case
Hot Spot Analysis Tools
AP4Z
Help speed-up Root Cause Analysis on performance slow-downs.
Limited
YES
Assess module level CPU usage trends, identify which programs changed their behaviour and when.
Limited
YES
Identify candidates for instruction level performance analysis using an execution sampler.
NO
YES
Identify highly used and top consumer programs targeted for further analysis and optimization.
NO
YES
Detect potential security breaches: Programs which should not run, unexpected module version changes.
NO
YES
Make sure production runs pick the right module from the right library (regression avoidance).
NO
YES
Increase accuracy of Quality Assurance Test by assessing in advance what should be tested after a change.
NO
YES
1
1
   Execution sampling can only be applied for short times to a small set of programs.
1
bottom of page