SLA elapsed time

Concept · Time and flow · Measures

Updated

Browse documentation
On this page

Engine 19.0.0rc597 · Reader 9.0.0rc656 · Development snapshot

Which SLA clock are you reading?

SLA elapsed time measures the part of an observed SLA span that falls inside its service calendar. When usable lifecycle evidence records starts, pauses, resumes and closure, the Ghost Observatory Engine can also exclude paused time.

The published field is slas.business_elapsed_sec. Read it with calculation_status: lifecycle_adjusted_calendar_elapsed deducts recorded pauses; calendar_open_elapsed_only uses service-calendar hours without that deduction.

Bcalendar = length(O ∩ C)

Bactive = length(O ∩ C ∩ A)

Calendar time counts only the seconds shared by the observed SLA span and the service calendar's open intervals. Active time also requires those seconds to fall within the lifecycle's active intervals. These interval sets are O, C and A, respectively.

A calendar-and-pause example

An SLA is observed from 09:00 to 12:00. Its service calendar is open from 09:00 to 11:00 and explicitly closed for the final hour. The source records a start at 09:00, pause at 09:30, resume at 10:00 and stop at 12:00.

Three clocks for the same fully covered observed span
ClockCalculationElapsed time
Wall clock12:00 − 09:003 hours
Service-calendar open time09:00–11:002 hours
Calendar open and lifecycle active09:00–09:30 plus 10:00–11:001.5 hours

These interval intersections give 10,800 seconds of covered span, 7,200 calendar-open seconds and 5,400 active calendar seconds. With eligible calendar and lifecycle evidence, the published business time selects 5,400 seconds. The closed final hour is known calendar coverage, even though it contributes no open time.

Observed spans and missing coverage

A row belongs to an object, an SLA instance and an analysis scope. One object can have several instances. A missing instance identifier is published as NULL. Claims sharing the same object and instance key are grouped, including claims with a missing key; conflicting values are withheld.

The measured span is restricted to the known object extent and the analysis window. sla_start_ts and sla_end_ts describe that observed portion. A window cutting an SLA does not turn a whole-instance source duration into a directly comparable partial-window duration.

Calendar authority must cover the complete observed span. A coverage gap, conflicting assignment or invalid interval cannot be treated as closed business hours. Those conditions produce an empty computed value and a reason in calculation_status.

The default lifecycle policy requires a completed lifecycle for an adjusted measurement. Ambiguous actions, missing timestamps, invalid pause order or an incomplete required lifecycle can withhold it. No declared lifecycle can still permit calendar-open-only time when the other requirements hold. There is no sample-size minimum for measuring one valid SLA span.

The source's elapsed time is separate evidence

source_elapsed_sec preserves the source system's reported amount. Its source_elapsed_basis identifies the clock, such as wall time excluding pauses or scheduled business time excluding pauses. Comparing it with computed calendar time requires matching both basis and span.

An invalid or conflicting source amount can be withheld independently of the Engine's own valid measurement. Conversely, a usable source value does not repair missing calendar authority.

Met, missed and disagreement in the Reader

source_result records missed, met or none from the source's breach claim. The Engine separately checks a usable claim against the source or lifecycle end and due instant. An end later than due is breached; an end exactly at due is met. A disagreement marks source_breach_status = diverged while preserving the source result.

Timing's SLA view keeps those three source-result groups separate from its disagreement mark and missing-computation count. Its horizontal position uses published sla_end_ts − source_due_ts in calendar time. That observed end can be clipped by a window; the plotted distance is not business elapsed time or a replacement for the source's whole-instance result.