PROFILER - Profile a Natural Session

This profile parameter is used to profile a Natural session. The profiling data is written to a resource file you can analyze with the Natural Profiler in NaturalONE. For more information, see the NaturalONE documentation.

Possible settings See PROFILER Parameter Syntax.
Default setting none See the default settings of the subparameters in PROFILER Parameter Syntax.
Dynamic specification yes    
Specification within session no    

PROFILER Parameter Syntax

The PROFILER parameter is specified as follows:

PROFILER={(subparameter=value[,subparameter=value]...)}

Important:
Blank spaces are not allowed in the syntax. Use commas to separate the syntax elements.

Where:

Subparameter Value Explanation
ACTIVE   ACTIVE=value determines whether the profiling infrastructure is activated.

Default: OFF

ON The profiling infrastructure is activated and events are written to the resource file.
OFF The profiling infrastructure is deactivated.
EVENT   EVENT=value specifies the types of events to be generated into the resource file.

The following syntax applies:

event|(event[,event]...)

where: event is either the type of an event (event-type) or a group of event types (event-group).

Default: All event types are processed.

event-type:

SI|ST|PL|PS|

PT|PR|DA|DB|IA|

IB|CA|CB|NS|E|U

event-type is one of the following:
SI Session initialization event
ST Session termination event
PL Program load event
PS Program start event
PT Program termination event
PR Program resume event
DA After database call event
DB Before database call event
IA After terminal I/O event
IB Before terminal I/O event
CA After external program call event
CB Before external program call event
NS Natural statement event
E Runtime error event
U User-defined event

Notes:

  1. Natural statement events (NS) are only generated if the corresponding Natural object was compiled with SYMGEN=ON (see the SYMGEN profile parameter)!
  2. In addition to the events listed above, the Natural Profiler collects monitor pause events (MP) when the data collection is paused. The duration of the pause is not considered by the application performance analysis.
event-group:

S|P|D|I|C|N

event-group is one of the following:
S Session event group (SI, ST)
P Program event group (PL, PS, PT, PR)
D Database call event group (DB, DA)
I Terminal I/O event group (IB, IA)
C External program call event group (CB, CA)
N Natural event group (NS)
EVENTTRACE   EVENTTRACE=value determines whether individual events are written to the resource file.

Default: OFF

ON Individual events are written to the resource file. You can examine the recorded events in the NaturalONE Event Trace page.

The generated resource file has the extension .nprf (Natural Profiler resource file).

Caution:
The resulting file can become very large, especially when statement events are recorded.

OFF Individual events are not written to the resource file. Only consolidated hot-spot information is recorded in the file. This typically results in a much smaller file that is consequently much quicker to process.

The generated resource file has the extension .nprc (Natural Profiler resource consolidated).

INTERVAL 1|2|4|5|8|10|

16|20|25|40|50|

80|100|125|200|

250|400|500|625|

1000|1250|2000|

2500|5000|10000

INTERVAL=value specifies the CPU time interval (in microseconds) to be used if SAMPLING is active.

With sampling, only the last event of each sampling interval is recorded. Exception: Session events (event types SI and ST) are always recorded.

Larger sampling intervals result in fewer events recorded and thus smaller resource files. However, larger sampling intervals also result in less accurate values.

Default: 100

RESLIB 1 – 8 characters RESLIB=value specifies the name of the FUSER system library that contains the resource file.

Default: SYSTEM

RESNAME 1 – 253 characters RESNAME=value specifies the name of the resource file (without path and extension) into which the data is written.

Default: A file name is automatically generated containing the current user ID and timestamp.

SAMPLING   SAMPLING=value determines whether sampling is activated.

The sampling method uses a statistical approach to collect data. Sampling significantly reduces the amount of data written to the resource file while approximately retaining the same CPU times as without sampling.

Caution:
Sampling gives an estimation of the consumed CPU time. Other values like the elapsed times or hit counts are not reliable when sampling is used.

For details on sampling, see the Sampling in the Natural Profiler Utility - Batch Mode section of the Natural for Mainframes documentation.

Default: OFF

ON Sampling is activated.
OFF Sampling is deactivated.

This is the default setting for this subparameter in the Natural parameter file.

Examples of PROFILER Parameter

Example 1: Profile with all Events

PROFILER=(ACTIVE=ON,EVENTTRACE=ON,EVENT=(S,P,D,N,I,C,E,U))

All individual events are recorded.

Example 2: Profile with Program Load Event

PROFILER=(ACTIVE=ON,EVENT=PL,RESNAME=MYAPP,RESLIB=MYLIB)

All program load events (PL) are written to the resource file MYAPP in the library MYLIB.

Example 3: Profile with Sampling

PROFILER=(ACTIVE=ON,EVENT=(P,NS),SAMPLING=ON,INTERVAL=1000)

All programs of the event group P and the event NS are recorded using sampling with a sampling interval of 1000 microseconds.

Example 4: Sampling versus Non-Sampling

A Natural application is profiled twice. In a first run, without sampling:

PROFILER=(ACTIVE=ON)

The Natural Profiler generates 240,086 events and shows a CPU consumption of 30.2 percent for a called subprogram.

In the second run, the same application is profiled with sampling:

PROFILER=(ACTIVE=ON,SAMPLING=ON,INTERVAL=100)

The Natural Profiler now generates only 4,100 events and shows a CPU consumption of 30.1 percent for the same subprogram.