One of the most interesting features in the Oracle Utilities Application Framework (220.127.116.11.0 and above) is the Batch Level Of Service feature. This feature allows for a configuration of an algorithm to return the level of service based upon any calculated metrics. The service returns a code that describes whether the metric used met the configured target and if not, the reason it did not (as configured in the algorithm).
The Batch Level Of Service algorithm is an information only algorithm and is not executed as part of the batch processing for the execution of the batch control it is attached to. It is called by monitoring functions and portals to display the level of service.
Typically this algorithm will compare the last execution of a process against a specific target metric and then return whether the metric exceeded some target value or not. The use of this algorithm is simple:
- Identify Algorithm Types. The code behind the Batch Level Of Service is contained in a Batch Control - Level Of Service algorithm type. The product supplies a number of these algorithm types to compare the last execution of a batch control against elapsed time, error numbers or throughput metrics. You can write your own in Groovy, scripting or Java (the latter for non-cloud implementations) to set up your own targets. The base algorithms take the worst performing thread in a batch execution to assess against the metric for the entire execution. For example, if the metric is elapsed time then the longest elapsed time of any thread in an execution is used as the basis for assessing the metric. For example:
- Configure Algorithm for Target. For the algorithm to work, you must set a target value. This is done with an Algorithm for each distinct target value. For example, you might want to set a target of 1 hour for a target. You would create an algorithm entry using the F1-BAT-RTLOS base algorithm type with a target value of 3600 seconds (1 hour). That algorithm entry can be reused for ANY batch process you want to assess against that 1 hour elapsed time goal. For example:
- Attach algorithm to Batch Control. For each batch control you want to check with the Level Of Service attach the appropriate configured algorithm that has the appropriate target metric and target value. For example:
You are now ready.. Any portal that uses the Level Of Service will now display the level of service. For example of monitoring portals refer to Building Portals, Building A Level Of Service Algorithm, base Level Of Service algorithms and Calling Batch Level Of Service manually for additional examples and advice.