SLA condition evaluation
This article expands on some of the details for SLA condition evaluations.
The SLA Definitions contain conditions that control when an SLA record is:
- Created for a particular task
- Updated as it moves through its lifecycle to completion
Note: The SLA engine uses the Stage field to represent the state for SLA records.
The SLA engine does two passes to evaluate SLA definitions and their conditions based on a task. The SLA engine checks:
- Pass 1: SLA definitions that do not have active SLA records associated to the task
- Pass 2: All active SLA records associated to the task
The SLA engine determines if the SLA definition applies to the task and if it needs to create a SLA record. If it needs to create the SLA record, it also needs to decide the stage of the SLA record (In Progress or Paused).
- If the Start condition is true and the Stop condition is true, do nothing. The SLA would be measuring nothing, as the Stop condition overrides the Start condition, so do not create an SLA record.
- If the Start condition is true and the Stop condition is false, create a new SLA record for this task, using the SLA definition. Set the SLA record and set it to the In Progress stage.
- If the Pause condition is true, immediately pause the new SLA record.
Pass 2: Checks all active SLA records associated to the task
The engine determines if the SLA records are changing stage.
- If the Stop condition is true, change the SLA stage to Completed.
- If the Start condition is false and the Stop condition is false, the SLA changes to Cancelled. (The definition did apply, but does not apply any longer and was not properly finished, so it is Cancelled.)
- If the Pause condition is true and the SLA stage is In Progress, pause the SLA.
- If the Pause condition is false and SLA stage is Paused, unpause the SLA.