The parameters and conditions that determine what data performance explorer collects and how it collects it are configured and stored using performance explorer definitions. This topic explains how to use these definitions and provides a sample illustrating a simple definition.
To collect performance explorer data, you need to tell performance explorer what data to gather. You do this by using the Add Performance Explorer Definition (ADDPEXDFN) command to create a performance explorer definition. After the definition is completed and saved, you are ready to continue to the next task in the cycle of work.
Before creating a new definition, consider what kinds of information you want and the amount of detail you need. The performance explorer provides the following types of data collection:
Identifies applications and IBM® programs or modules that consume excessive CPU use or that perform a high number of disk I/O operations. Typically, you use the statistical type to identify programs that should be investigated further as potential performance bottlenecks.
The statistics can be structured in either a hierarchical or flattened manner.
Here is an example of a performance explorer statistics definition called MYSTATS that will show CPU and disk resource usage on a per program or procedure level.
ADDPEXDFN DFN(MYSTATS) /* The name of the definition. */ TYPE(*STATS) /* The type of definition */ JOB(*ALL) /*All Jobs */ TASKS(*ALL) /*All tasks */ DTAORG(*FLAT) /* Do not keep track of who calls who */
Identifies high-level language (HLL) programs, modules, procedures, and statements that consume excessive CPU utilization based on source program statement numbers.
Here is an example of a performance explorer program profile definition called PGMPROF that will show usage for a particular procedure.
ADDPEXDFN DFN(PGMPROF) /* The name of the definition. */ TYPE(*PROFILE) /* The type of definition */ JOB(*ALL) /*All Jobs */ PGM((MYLIB/MYPGM MYMODULE MYPROCEDURE)) /* The name of the program to monitor. */ INTERVAL(1) /* 1-millisecond samples will be taken. */
Here is an example of a performance explorer job profile definition called ALLJOBPROF that will show usage for all your jobs.
ADDPEXDFN DFN(ALLJOBPROF) /* The name of the definition. */ TYPE(*PROFILE) /* The type of definition */ PRFTYPE(*JOB) /* A job profile type will be monitored. */ JOB(*ALL) /*All Jobs */ TASKS(*ALL) /*All tasks */ INTERVAL(1) /* 1-millisecond samples will be taken. */
Gathers a historical trace of performance activity generated by one or more jobs on the system. The trace type gathers specific information about when and in what order events occurred. The trace type collects detailed reference information about programs, Licensed Internal Code (LIC) tasks, i5/OS job, and object reference information.
Here is an example of a performance explorer trace definition called DISKTRACE that will show usage for all disk events.
ADDPEXDFN DFN(DISKTRACE) /* The name of the definition. */ TYPE(*TRACE) /* The type of definition */ JOB(*ALL) /*All Jobs */ TASKS(*ALL) /*All tasks */ TRCTYPE(*SLTEVT) /* Only selected individual events and machine instructions are included in the trace definition */ SLTEVT(*YES) /* *SLTEVT allows you to specify individual machine instructions and events to be specified in addition to the categories of events available with the TRCTYPE parameter. */ DSKEVT((*ALL)) /* All disk events are to be traced. */
Here is an example of a performance explorer trace definition called HEAPEVENTS.
ADDPEXDFN DFN(HEAPEVENTS) /* The name of the definition. */ TYPE(*TRACE) /* The type of definition */ JOB(*ALL) /*All Jobs */ TASK(*ALL) /*All tasks */ MAXSTG (100000) /*Maximum storage. Set to 100000 because the default of 10000 KB is often too small for the large number of heap events that can be generated when tracing all jobs and all tasks.*/ TRCTYPE(*HEAP) /* Selects all heap events from the STGEVT (storage events) parameter. */