What is the Application Profiler for Z – AP4Z?
Watson & Walker’s AP4Z is designed to run all the time, gathering information about all executed application programs. Because it runs all the time, it is able to build a historical database of all your application programs, their inter-relationships, their compile attributes, their CPU usage, their elapsed time, where and when they ran, and other data. It is a little like a software asset manager such as IBM’s TADz®, except that it is aimed at applications rather than software products. It is also a little like an execution sampler (BMC Compuware’s Strobe®, for example), except that it gathers information at the program level rather than the instruction level, resulting in an overhead that is nearly imperceptible. It is a little like a load library scanner, except that it reports that information automatically, and only for programs that are actually executed. And finally, it is unlike any other product we are aware of in that it gathers information about dynamically-called programs.
Because of its low overhead and broad view, we believe AP4Z is complementary to, rather than being an alternative to, these products. With the widespread move to object-oriented programming and microservices, AP4Z sheds lights on programs and modules that currently lurk in the background, invisible to performance analysts.
All of this information is integrated into a single database with an intuitive, open source (Metabase), browser-based interface that supports batch reports and dynamic queries.
AP4Z supports batch, TSO, USS, Db2, and will support CICS. Our intended users are performance analysts, application developers, database DBAs, DevOps analysts, change control staff, and system programmers.
What can AP4Z do for you?
Depending on your needs, here are some of the possible uses for AP4Z:
- Prepare, support and track the migration to new compiler versions and measure the benefits.
- Create lists of programs actually in use vs programs not used anymore.
- Track when programs were recompiled, using which compiler version and compiling options.
- Identify programs compiled with a level of the compiler that has already, or will soon, run out of support.
- Identify production programs compiled with sub-optimal compiling options (ex. ARCHLVL, debug options, non-optimization) or using less efficient runtime options.
- Identify highly used and top consumer programs to be targeted for further analysis and optimization.
- Assess module level CPU usage trends, identifying which programs changed their behavior and when.
- Help reduce peak or total program CPU usage.
- Help reduce CPU time from largest CPU users.
- Identify which programs are dynamically called (and by whom).
- Identify which programs make dynamic calls (and to whom).
- Identify which programs would be affected if I change program ‘ABC’.
- Create a reliable view of the relationship between business transactions and application code.
- Detect unexpected or non-compliant relationships.
- Enforce application boundaries.
- Increase accuracy of Quality Assurance tests by assessing in advance what should be tested after a change.
- Make sure production picks the right module from the right library (regression avoidance).
- Detect potential security breaches: Programs which should not run or unexpected module version changes.
- Help validate the change control process.
- Help speed up Root Cause Analysis on performance slow-downs (what changed?).
What data does AP4Z give you?
Here, for example, is the data that AP4Z provides for each executed batch program: