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 an ABL 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 measures the execution time of the ABL procedure only 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 ABL procedures and WebSpeed Transaction Servers

For ABL 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 an ABL procedure, entering one procedure on one line. These procedures will generally be file types such as .p, .w, or .html. The following URL example shows the type of information required to measure a WebSpeed procedure:

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 ABL procedures and AppServers

AppServer ABL procedures execute with the RUN statement based on an AppServer connection handle. The procedures 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 in the RUN statement.

Table 6–3 describes three examples.

Table 6–3: Examples of AppServer-related ABL procedure entries
This ABL 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 © 2006 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095