Release 10.1A: OpenEdge Deployment:
Startup Command and Parameter Reference

> ## 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 | `-yx`
> Use with | Maximum value | Minimum value | Single-user default | Multi-user default
> Client Session | – | – | – | –

> With this parameter, you can monitor information to answer the 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)?

> Progress 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 command 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 Progress, 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 Progress 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 Progress reads from the `SRT` file to restore a Caller procedure that was overwritten. Progress 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.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095