Try OpenEdge Now
skip to main content
Startup Command and Parameter Reference
Startup Parameter Descriptions : Statistics With Cross-reference (-yx)

Statistics With Cross-reference (-yx)

Use Statistics with Cross-reference (-yx) to collect procedure call statistics and write them to an output file.
Operating system and syntax
UNIX / Windows
Use with
Maximum value
Minimum value
Single-user default
Multi-user default
Client Session
With this parameter, you can monitor information to answer questions:
*How many calls were made in a given period of time?
*How long did a procedure spend executing?
*How often was a procedure swapped to and from the temporary file (SRT file)?
The AVM places the default output file for the -yx parameter, proc.mon, in your current working directory. However, you can specify a different output file by using the PROCMON environment variable. Simply set PROCMON to point to the file you want to use.
For example, in a UNIX environment, if you want to use a file named stats in the /usr/tmp directory, enter the following on the command line:
PROCMON=/usr/tmp/stats; export PROCMON
Use the SHOW-STATS statement to write the procedure call statistics to the output file. The CLEAR option sets all counters and timers (such as Calls and Time) to 0. When you exit OpenEdge, the -yx parameter writes the procedure call statistics to the output file whether or not you use SHOW-STATS.
The following example shows sample procedure call statistics as they appear in the output file:
                Wed Feb 6 16:19:05 2002

  Procedure call statistics:      16:19:21

   Caller      Callee      Load Size    Calls   Rd Bytes     Reread   Time
   <top>       _edit         3789         1         3789         0      16
   _edit       _adeload      9542         1         9542         0      10
   _edit       _prostar      6931         1         6931         0      23
   _prostar    _login        5087         1         5087         0      73
   _edit       _setcurs       562         2          562         0      20
   _edit       _proedit    181029         1       181029         0   12180
   _proedit    _toollic      2570         1         2570         0     268
   _proedit    _tmpfile      1510         2         1510         0     140
   _proedit    _kvlist       2624         2         2624         0      26
   _proedit    _setcurs       562         4           0          0      63
   _proedit    _adehelp      3279         1         3279         0      97
The fields that appear in the output file proc.mon are as follows:
*Caller — The names of any calling procedures. The word <top> indicates there was no calling procedure, and you ran the called procedure directly from the Procedure Editor.
*Callee — The names of the called procedures.
*Load Size — The size, in bytes, of each called procedure as the AVM loads it into memory. If you see a load size of 0, the called procedure is an uncompiled source procedure (.p file), or an r-code file (.r file) that was previously loaded into memory.
*Calls — The number of times the Caller procedure calls the Callee procedure.
*Rd Bytes — Generally, the called procedure's load size. However, if the procedure is swapped out of memory and later restored, Rd bytes equals the procedure's Load Size added to the number of bytes read from the SRT file. Rd Bytes grows larger each time the procedure is swapped out of memory and restored from the SRT file.
*Reread — The number of bytes the AVM reads from the SRT file to restore a Caller procedure that was overwritten. The AVM restores only what is necessary to continue executing the Caller procedure. In some cases, this is less than the amount swapped to the SRT file.
*Time — The total execution time of the called procedure, in milliseconds.