top of page

Some Usage Scenarios

AP4Z is somewhat unique in that its target users are spread across many groups in a company’s IT organization. The following scenarios help illustrate some of the many use cases in which AP4Z can provide value to your projects.

Application Modernization

Imagine that you are asked to evaluate the impact of moving an application from z/OS to the Cloud. One of the first tasks would be to identify the CPU time savings if you stopped running all z/OS programs belonging to that application. That information should be input to the cost/benefit analysis of the proposed migration. AP4Z may help here as it is able to to identify most used and top consumer
programs
.

In addition to this you would have to understand the the impact on other applications if that application was removed from the system, and the impact on that application due to dependecies on functions in other applications that it currently calls.

Prior to AP4Z, identifying such dependencies was challenging and expensive. With AP4Z you just enable profiling the subject application to quickly get an application call tree graph like the one below which  only shows  you actual relationships among active programs.

 

AP4Z Generated Actual Application Call Tree Graph (hover to zoom)

Compiler Migration

Recompiling application programs with the latest compiler versions is the only way to achieve the maximum capacity when using modern CPCs.

AP4Z may be used during compiler migration projects to initially assess the status of your application portfolio, to prioritize migration activities and to track their progress. A sample AP4Z report showing the number of programs seen being executed, by language and version is shown below.

Using AP4Z you can better estimate potential savings beforehand, track the progress of the migration and precisely measure actual results achieved by the project.

AP4Z report showing the Number of Active Programs by Language and Version

Application Optimization

As a performance analyst, do you sometimes find applications where the elapsed and CPU time is steadily but constantly increasing? Wouldn't it be nice to see which of the called modules are actually causing the increase? If the problem is in a module that is called by many transactions, it is possible that all those transactions will observe the same increase. The visibility of CPU and Elapsed times at the individual program level might help you spot an issue that is impacting multiple applications. Addressing that single issue might improve the performance of many applications.

In today's object oriented, microservices-based environments, it is not unusual to find that the bulk of the CPU time associated with a transaction is actually being used by one or more of the programs that are called by the main program. In fact, we've seen cases where the heaviest CPU consumers were service routines  called millions or billions of times by others. Without AP4Z, you might be able to identify all the programs that are potentially called by a transaction, but there is no way to know how the CPU consumption is spread across those programs. This insight can help identify the programs that could be the most effective targets of a tuning exercise.

The sample AP4Z report below shows all jobsteps using a specific program, and for one of those jobsteps it shows  all programs actually used by that jobstep, providing for each of them a number of valuable information including language, compiler version, compile date, call count, elapsed time, cpu time.

AP4Z JobStep Program Execution Details report (hover to zoom)

A common response from AP4Z customers is that the more they use AP4Z, more additional use cases they find for it. In the words of one user, “The only limit is my imagination. Having lived without this capability for so long, it takes a while to realize all the things I can do with it”. Its easy-to-use query interface, and working sample reports make it especially popular with staff that were turned off by a need for programming skills or complex report languages that are required by other tools.

AP4Z can be used to:

        > Identify most used programs and those using most processing resources.
        > Understand the relationships between different programs and applications.
        > Measure the complexity of applications candidate to transformation projects.
        > Prepare and track application modernization projects, measure the benefits.
        > Create CPU consumption trends at the individual module-level.
        > Identify which programs changed their behaviour and when.
        > Avoid program regressions. Ensure that outdated program versions are not used.

        > Detect potential security violations: Unexpected program executions, unexpected version changes.

        > Help in many other scenarios that you know better than us.

the Application Profiler for z

bottom of page