Runtime Page
A large amount of runtime data is necessary for the various planning and monitoring functions available in the Automation Engine. This data is collected from Real Runtime (RRT) information. Based on this information, the Estimated Runtime (ERT) can be calculated. This topic describes both the RRT and the ERT. It describes the options you have to calculate the ERT.
As a developer and object designer you need this information for scheduling your tasks. You define how to calculate the runtimes of executable objects on their Runtime pages.
The Runtime page is available for all executable objects as a sub page of their General Page.
This page includes the following:
Real Runtime (RRT)
The RRT is the period of time during which a task is active, that is, between its start and its end.
The following time lapses are not considered in the task RRT:
- The time it needs for its activation.
- The time it spends with the Waiting for host status.
The last 25 real runtimes of each executable object are saved with the object data. This data is used as basis for the calculation of the Estimated Runtime (ERT). Only the runs that ended with ENDED_OK status are considered.
The smallest possible real runtime amounts to one second. Tasks with a shorter real runtime are rounded up to one second.
Note: Setting the ERT_CALCULATION mode in the UC_CLIENT_SETTINGS system VARA object to BATCH also prevents RRT values from being updated.
Estimated Runtime (ERT)
The ERT is the expected runtime for the next execution of a task. This data is a key value for dynamic runtime monitoring and forecast calculations, as well as for calculating the most recent ending of a task. The ERT is calculated immediately after a task run using its past 25 RRTs.
Important:
- The quality of the ERT calculation is dependent on the available data. In case of a reorganization of the database there could be not enough datasets available. The calculation might be wrong in this case.
- A lot of historical data will be read from the object for the calculation. Therefore this function should be only activated for individual objects, not client-wide. See Execution Data.
- If does not often occur that a task runs and ends several times at the same time. In this case it could happen that one of the executions is not included in the ERT calculation. This happens because of the locking mechanisms that are provided in the AE database.
ERT Calculation method for Clients
The UC_CLIENT_SETTINGS system VARA object contains settings that apply Client-wide. In its ERT_METHOD key, system administrators can specify an ERT calculation method to be applied to the objects in the Client. This is the method that is used if you select Method as set in UC_CLIENT_SETTINGS in the Calculation Method dropdown list.
For more information, see UC_CLIENT_SETTINGS - Various Client Settings.
Important! The ERT calculation settings that you define on this page override the default defined in UC_CLIENT_SETTINGS.
Defining the Settings on the Runtime Page
To Access the Runtime Page
- In the Process Assembly perspective, open the object.
- On the left navigation page, expand the General tab.
- Click Runtime.
To Define the Runtime Settings
-
Specify the exact statuses (return codes) that you consider as ended normally (ENDED_OK) in the Return Code Handling section. For information about the meaning of the return codes, see System Return Codes of Executable Objects.
Important! The following applies to Job objects only:
-
Windows
If the return code has been set to -1 in Windows, the job is considered as
ENDED_OK
only if the return code equals 0.This allows you to react to protection faults in Windows jobs (for example, return code -1073741819).
-
z/OS
The return code is specified as a decimal. Alternatively in z/OS the return code of each step can be compared with an entry in a step list. As result of this checks the job will be evaluated as normally ended or aborted.
-
You can set the return code using the :MODIFY_STATE script element.
If you want another object to be executed if the tasks ends with a different return code, activate the Action checkbox and select the object in Execution of.
Note: The status of the file transfer does not affect its return code. If, for any reason, a file transfer fails, the return code is still 0.
-
-
Define the method with which to calculate the ERT. In the Estimated Runtime (ERT) section you have the following options:
-
Method as set in UC_CLIENT_SETTINGS
Select this option if you want to apply the method and parameters that your system administrator has specified in the UC_CLIENT_SETTINGS VARA object.
-
New objects
There are no past runs for calculating the ERT. Since you need them for forecasts and runtime monitoring, for example, the Current/Fallback ERT fields are enabled to allow you to enter a suggestion. This value is overwritten after the task has completed its first run. It is then replaced by the ERT value that is calculated using the method specified in the VARA object.
-
Already executed objects
After the object has been executed, these fields are disabled and display the current, real values.
To reset them click the Reset Values button below the Runtime Statistics graphic. This enables these fields again.
-
-
Fixed value
In Duration enter a static value and review it from time to time to make sure that it still meets all your requirements.
The Current ERT fields are disabled when the duration is saved.
Notes:
- A Forecast always uses the current ERT for forecast calculations. If a fixed value is set, it is used for further task executions but not for the forecast. If you want to use a fixed value, you must reset the ERT calculation first and also after the next execution. The fixed value is also the current ERT.
-
If there are no Job Groups, the actual ERT of the child tasks is always used.
Important!
Consider the impact of setting the fixed value too high:
- Forecasts: The completed execution is assessed too high because it always starts from the maximum allowed runtime (worst case). Therefore, the forecast cannot give realistic values.
- Minimum runtime monitoring always activates the actions defined in case of Runtime deviation because the RRT is always smaller than the ERT.
- Maximum runtime monitoring never activates the actions defined in case of Runtime deviation because the ERT is never reached.
Consider the impact of setting the fixed value too low:
- Forecasts: The completed execution is assessed too low because the RRT is mostly above the set value. Therefore, the forecast cannot give realistic values.
- Minimum runtime monitoring activates the actions defined in case of Runtime deviation sometimes because the RRT is usually above the specified ERT.
- Maximum runtime monitoring activates the actions defined in case of Runtime deviation much too often because the specified ERT is exceeded.
-
Dynamic
The following dynamic methods are available:
-
Adaptive
This method calculates the ERT proactively (machine learning-based) considering various factors and runtime parameters from previous runs. It relies on historical data and, therefore, database reorganizations affect it.
Enter the Fallback ERT, which is the hard-coded value that is used in case of missing parameters.
Important! For this method to work efficiently there must be enough historical data (at least 30 runs of a task)
Requirements:
-
At least 1 Java-based work process (JWP) must be available.
- An alternative calculation method is defined in the ERT_ADAPTIVE_FALLBACK_METHOD key (UC_CLIENT_SETTINGS) if no JWP is available.
- ERT_ADAPTIVE is set to Y (UC_CLIENT_SETTINGS).
Notes:
- The ERT is not calculated until the JWP is running. This may take a while. In ERT_ADAPTIVE_JWP_TIMEOUT (UC_SYSTEM_SETTINGS), administrator users can define how long the system should wait for the JWP after starting and before an alternative method should be used.
- Tasks that are waiting for the adaptive ERT calculation have the Waiting for ERT status. This applies to tasks for which the minimum or maximum runtime is calculated depending on the ERT.
- Object variables can be used as external factors for calculating the Estimated Runtime of the object with this method. For moee information, see Object Variables.
-
-
Linear regression
This is the default method. It emphasizes runtime increases or decreases.
- If you enter a value in Current ERT, it applies until an ERT is calculated after the next run.
- Enter the No. of past runs that should be used for calculating the ERT.
- To avoid the evaluation of extreme deviations, enter the +ERT Correction. This is the maximum deviation level. If the RRT exceeds this limit, it will not be taken into account in the calculation of the ERT. Additionally, the number of runs to be used can also be specified.
-
Average
Calculation of the average ERT based on the last RRTs of a task. You define here the number of RRTs to be considered.
- If the number of RRTs is too low, the ERT will follow any existing tendency in runtime behavior.
- If the number of RRTs is too large, extreme deviations with RRTs are not emphasized.
To preserve a distance between ERT and the RRT, it is possible to specify a correction value (+ERT Correction). This value is added to the ERTs to ensure that the ERT follows theRRT of a task at the specified distance.
As with the linear regression method, here you can define the Current ERT and No. of past runs.
In addition, to avoid the evaluation of extreme deviations you can define thresholds in which you want to ignore them. If the real runtime exceeds this limit, it will not be taken into account in the calculation of the ERT:
- Deviation extent: If this limit (in %) of the actual runtime is exceeded, the estimated runtime is ignored.
- Min. runs: Number of past runs to be considered regardless of deviations. Allowed values: 0 to 25.
-
Maximal value
The highest value from the list of RRTs is used to calculate the ERT. If a large number of runs is to be calculated, the ERT immediately adjusts to increasing runtimes. However, if the RRT decreases, this results in a slow adjustment.
For the decreasing tendencies to be recognized faster, the number of runs to be calculated can be reduced.
To preserve a distance between ERT and RRT, a correction value in percent can be defined. This value is added to the ERTs. This allows you to set an alarm only with extreme increases in runtime.
-
-
- The Runtime Statistics section provides a graphical interpretation of the real (in blue) and of the estimated (in green) runtimes that help understand the relationship between both. You can display both at a time, which allows you to compare their behavior, or you can disable one of them by clicking on the corresponding area of the box below the chart.
-
If necessary, click the Reset Values button at the bottom of the graphic. This deletes all your runtime data.
Important!
- Resetting values deletes the runtime data even before saving the object.
- Real runtime data from archived data cannot be restored.
- This function is only useful if you expect major runtime deviations for future runs (for example, you have changed the task).
-
In the Max & Min Runtime section activate Monitor MRT and/or Monitor SRT if you want to monitor the maximum and/or the minimum runtime. The following calculation methods are available:
-
Fixed value: Enter a fixed duration.
-
ERT + additional duration / ERT - additional duration
Select this option to add or subtract the ERT duration time and enter the correction time in %. The value you enter here is added to (for max. duration) or subtracted from (for min. duration) the ERT.
-
Real date + additional duration (for the maximum runtime only)
You can define a particular time until which the task must be finished. You can combine the following options:
- The number of days in the Additional Duration field.
- A specific time in the Finish Time input fields.
- A Time Zone object.
For more information, see Impact of the Check Interval in the MRT.
-
- Optionally, define the Actions on Runtime Deviations.
- In Forecast Settings select the end status that a task should return in case of forecast calculations. See Forecasts and Auto-Forecasts.
Tip: Use Service Level Objective (SLO) objects to monitor runtimes and trigger actions in case of deviations.
Impact of the Check Interval in the MRT
The UC_JOB_CHECKINTERVAL variable defines the interval that is applied system-wide for checking times. This check is necessary when time dependencies are defined in objects. Take this interval into account when defining the MRT settings.
For more information, see UC_JOB_CHECKINTERVAL - Periodic Time Check in AE.