About z/XPF

z/XPF represents an entirely new technology for measuring the performance of application programs. Instead of being “state-driven” as legacy profilers are, z/XPF is “event-driven”. It captures its information at the processor level, gathering FAR more information at higher granularity than other such tools. z/XPF has NO presence inside the target address space, which means that it has no effect on what you tell it to measure. Welcome to the 21st century!

z/XPF does not intercept any code path anywhere. Z/XPF installs NO system hooks of any kind. The installation process is a snap! z/XPF requires NO JCL changes in order to work. That’s convenience. z/XPF code DOES NOT execute within the target profile address space. There is no interference of any kind with the execution of the application being profiled. This means that z/XPF does not change the behavior of the target application while it is collecting data. Your reporting will be far more accurate. z/XPF reports on events that occur at the processor level, and then adds target profile address space environmental data to the event data. Other “legacy” profilers report on the “state” of the address space at the time the sample is taken by looking inside the target profile address space. Because z/XPF starts at a more granular level at data capture time, the reports contain information the other profilers cannot possibly have due to their architecture. z/XPF reports on Program Calls.

z/XPF reports on SVCs by count and elapsed execution time – not just the percent of time the PSW was identified inside an SVC routine. z/XPF users can add SLIP PER Instruction Fetch or Branch Trace records to the capture dataset. You get an absolutely CLEAR picture of your application’s behavior. Nothing like this exists within the other profilers. Two categories of information are reported that reflect the impact other work in the MVS system is having on the target profile, and the reverse…the impact the target profile is having on other work in the system.

Page Faults are identified by Load Module and Csect. The PSW location within a Load Module or Csect that caused the Page Fault to occur can be identified. z/XPF reports on Lock suspension (and latches). You see the total number of times (and the length of time spent) where a task is suspended waiting for a lock. z/XPF reports on SRB activity. This is entirely unique to z/XPF. z/XPF reports at the detail level. Nothing like this in any of the other profilers. Legacy profilers report at the summary reporting level. z/XPF goes far deeper.

z/XPF is an event-driven profiler. It measures resource consumption at the processor level. z/XPF does this WITHOUT AFFECTING that which z/XPF measures. It has NO presence in the target address space. It needs NO “hook” to the operating system. It filters and gathers Trace Records written into the system Trace Buffers. The data is just there, and z/XPF merely captures it. Each interrupt creates a trace record with a time-stamp to mark an “event”, such as SVC call, and the corresponding dispatch. So, z/XPF monitors events in the address space. That is why we refer to z/XPF as an “Event profiler”. It’s the world’s first Event profiler and it’s NOT beastly expensive!