Average Procedure Duration High rule

The WebSpeed and AppServer lists of available rules include Average Procedure Duration High. This rule measures the average duration of a 4GL procedure run by a server, or agent, process. This average is calculated based on the polling interval set for the resource, not the average for the lifetime of the broker.

Calculating the average duration for a procedure

The average is determined by the sum of time noted for a procedure name to run divided by the total number of times the procedure ran. The data used to determine this average is collected during a polling interval. This calculated result is then compared to the threshold defined for the procedure name.

Since this calculation determines an average based on data collected for each procedure, an individual spike will not necessarily skew the average. The rule's algorithm is designed to eliminate these spike conditions, minimizing unnecessary alerts.

Note: The Procedure Duration High rule only measures the execution time of the Progress 4GL procedure from the server's, or agent's, viewpoint. The time measure does not include network and client processing overhead.
Accessing the Average Procedure Duration High rule page

The Procedure Duration High rule page is accessible from the Available Rules page. On this page, you specify the specific procedures you want to measure, setting the average duration threshold in milliseconds. You can also set alert and action criteria.

Supplying data for Progress 4GL procedures and WebSpeed Transaction Servers

For Progress 4GL procedures related to the Transaction Server, you must reference the CGI environment variable as defined in the Value of PATH_INFO on the URL. Enter this string in the Procedure field to identify the name of a Progress 4GL procedure, entering one procedure on one line. These procedures will generally be file types such as .p, .w, or .html. The following example shows the type of information required to measure a WebSpeed procedure using the following URL:

http://hostname/scripts/cgiip.exe/src/web/exmaples/status.p

The procedure name that is executed is the PROPATH relative name src/web/examples/status.p. This is the value of the CGI environment variable PATH_INFO.

Supplying data for 4GL procedures and AppServers

Appserver 4GL procedures run on the 4GL RUN statement based on an AppServer connection handle. The procedures on the RUN statement can reference PROPATH relative directories, unqualified procedure names, internal procedures, and user-defined functions. To measure the duration of specific AppServer procedures, enter the procedure name in the Average Duration High Rule page exactly as it is referenced on the RUN statement.

Table 6–3 identifies and describes three examples.

Table 6–3: Examples of AppServer-related 4GL procedure entries
This 4GL procedure entry...
Runs a procedure that...
RUN myOrders.p ON SERVER hAppSrv
Is PROPATH relative. This entry refers to a procedure that is located in a directory or procedure library specified on PROPATH.
RUN myApp/myAccounts.p ON Server hAppSrv
Is PROPATH relative. This entry refers to a procedure that is located in the subdirectory called myApp that is relative to PROPATH.
RUN processOrder IN hProc
Shows the execution of an internal procedure.

To measure any of the example procedures noted in Table 6–3 using the Average Procedure Duration High rule, you must enter the procedure name exactly as it appears on the RUN statement.


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