Skip to main content

Vision (critical-path monitoring & SLAs)

BETA Preview

This feature is still being finalized by Development.

Task walkthrough: Monitor critical paths and SLAs with Vision. This page is the full configuration and troubleshooting reference.

Vision monitors whether the right work is finishing on time, by tag, against service-level agreements (SLAs). A Vision board is a hierarchy of cards; Vision evaluates each card against a chosen schedule ("anchor") date and surfaces its status on the board.

Cards​

Two card types (type is chosen at creation and immutable):

TypePurpose
Tag cardMonitors the jobs whose definition tags match a tag pattern, on a schedule date, in one source environment.
Group cardCarries no pattern/frequency of its own — rolls up the stats and state of its child cards.

Cards form a tree via parentCardId (a child's parent must be a group card; cycles/self-parent rejected). There is no "card category" concept — it existed briefly and was removed.

Card configuration​

SettingTypeRequiredDefaultNotes
namestringYes—
typetag | groupYestag (UI)Immutable after create
descriptionstringNonull
parentCardIdidNonullMust be a group card
Day offset (offsetDays)intNo0Range −5..+5; resolves the card's schedule date to the Nth qualifying frequency day
tagPatternstring (≤255)Tag: Yes—Exact, or */? wildcards. Case-sensitive: Nightly-* does not match a job tagged nightly-core. Group cards must not set it
sourceEnvironmentIdidTag: Yes at createnullThe environment whose runtime supplies the card's job data. Cannot be un-bound once set. Group cards must not set it
frequenciesarrayTag: ≥1—Priority-ordered (first match claims the day); group cards must not set any

Each frequency association on a tag card holds: a frequency (by id/name) and a list of SLAs.

SLA (per card × frequency)​

SettingTypeRequiredDefault (UI)Notes
requirementexpectedStart | expectedEndYesexpectedEndUI: "Expected start" / "Expected end"
timeHH:mm (24h)Yes00:00
offsetDaysintYes0Range −5..+5; raw calendar-day offset on the target (the cross-midnight mechanism, e.g. end 02:00 +1 day)

An empty SLA list is valid ("monitored only").

SLA times are in UTC. Vision compares each SLA against UTC, while the Start and End times on a Live tile are shown in your browser's local time — so enter the deadline as its UTC time (for example, a 06:00 deadline in US Eastern daylight time is 10:00).

Triggers​

Each frequency association on a tag card carries a Trigger editor: a condition the card can hold, and one or more actions to take while it holds it. Triggers are saved with the card, but trigger processing is off by default and is not something you can turn on. Unless Continuous has turned it on for your organization, no action is taken when a card goes late or at risk. Read the card's status on the Live view instead.

An action is an OpCon event — the same event taxonomy the rest of the platform uses. Vision does not have events of its own: the engine evaluates the condition and emits the action's event.

What an action holds​

FieldWhat it is
EventThe event type to fire, picked from the same catalogue the job editor and Self Service use: grouped by category, each name shown with its $TYPE code. A type that is not built yet is listed and disabled (Not yet available); a type the platform will never support is not listed at all
The type's own fieldsOnce a type is picked, the form renders that type's fields — one control per field, with the type's own required-field and value rules
EnvironmentWhere the action's event is applied. The default is the card's source environment, named in the list so you can see which one that is
Repeat after (min)Fire once more after this many minutes if the condition still holds. 1–60; leave it empty to fire once

Values can carry tokens. A field that takes text accepts a global property token and, uniquely to Vision, a Card token — written [[CI.$…]] and substituted with the firing card's own values before the event is emitted. The property selector offers them in a Card group:

TokenWhat it resolves to
[[CI.$CARD NAME]]The name of the card whose trigger fired
[[CI.$CARD FREQUENCY NAME]]The frequency the card is monitoring
[[CI.$CARD STATUS]]The condition the card holds, for example LATE_TO_FINISH
[[CI.$CARD START TIME]]Actual start time; empty while only a forecast exists
[[CI.$CARD END TIME]]Actual end time; empty while only a forecast exists
[[CI.$SCHEDULE DATE]]The schedule date the card is monitoring
[[CI.$CARD REMOTE INSTANCE]]The target environment, if any

Card tokens are resolved only by Vision. They mean nothing in a job event or a notification, and nothing else in the platform substitutes them.

An action is checked against its event type before the card saves​

Every action goes through the same event rules the job editor, Self Service and the event service apply, so an action that could never fire cannot be saved. Save stays disabled while any action is invalid, and the problems are reported per field. What is refused:

  • An event type that is unknown, not supported, or not built yet.
  • A required field of the type left empty.
  • A value that the field cannot read — a non-number in a number field, a value outside an option list, a malformed date, a value over the field's length.
  • A parameter the type does not have. A stored action can hold one, from before this check existed: the form lists it below the fields with its saved value and a Remove button, rather than ignoring it until it fails at fire time.

A saved action shows every problem the moment the card opens, so an action that no longer passes the rules says why the card cannot be saved. A new action reports a field's problem once you have touched that field.

One exception keeps an unrelated edit from being blocked: an action you have not changed, whose event type is listed but not built yet, is a warning rather than an error. Change its type or its values and it becomes an error like any other.

Commas are fine in a Vision action's values. Vision fires the event's named fields, never a command line, so there is no separator for a comma to break.

How evaluation works​

For an anchor date, the engine snapshots the whole board, and for each tag card: picks the qualifying frequency (priority order), resolves the schedule date (via the day-offset walk), resolves the card's source environment to that environment's runtime, and aggregates matched jobs by tagPattern + schedule date from that environment. Group cards roll up their children.

Matched jobs fall into five buckets: waiting, running, finishedOk, failed, notRun. A card then exposes four orthogonal signals (there is no single OK/at-risk/breached enum):

SignalValuesMeaning
progresswaiting · inProcess · finished · nullcount-driven; null = no matched jobs
severitynone · normal · warn · errorwarn = any notRun; error = any failed
conditions (list)FAILED · PARTIAL_FAILED · FINISHED_OK · LATE_TO_START · LATE_TO_FINISH · ESTIMATED_LATE_TO_START · ESTIMATED_LATE_TO_FINISHcount- and SLA/time-driven; a card can hold several at once. On-track SLA = no condition
lifecycleunknown · noScheduleDateshort-circuits the above when set

SLA logic: target = (scheduleDate @ time) + offsetDays calendar days (UTC). Breached (LATE_*) when past target with nothing started/finished (or an actual is past target); at-risk (ESTIMATED_LATE_*) when a forecast exceeds target but now is before it.

How often the board refreshes​

The Live view re-evaluates the board every 15 seconds while it is open, and each refresh updates the "Updated HH:mm:ss" indicator. There are no push updates.

Environment-awareness​

Each tag card is bound to its own sourceEnvironmentId; environments are resolved on each evaluation. A card whose environment can't be used gets a per-card environmentStatus — ok · unset · not-registered · unhealthy · unresolvable — and shows unknown lifecycle, rather than sinking the whole board.

Permissions​

Workspace-scoped object vision-card — four permissions (there is no vision-card-category permission):

PermissionDescription
vision-card.viewView Vision cards
vision-card.createCreate new Vision cards
vision-card.editModify existing Vision cards
vision-card.deleteDelete Vision cards

The interface​

Mounted at /vision/*. Two views: Live (default) and Cards. Header: "Vision — Tag-based critical-path monitoring & SLAs."

  • Live — a Schedule date picker (default today), an "Updated HH:mm:ss" poll indicator, and a grid of card tiles with hierarchical drill-down (group → children; breadcrumbs back). Each tile shows one status label, the first that applies in this order: Unknown or No schedule date; Late (any SLA breached); At risk (any SLA forecast to be missed); Failed; Partial failure; then Finished, In process or Waiting. A tile with no matched jobs shows —. A warning mark beside Start or End shows which SLA is late or at risk.
  • Operations drill-through — from a tag card, "View jobs for {card}" deep-links to the runtime Operations → Job Instances view for that card's source environment, filtered by tag pattern + schedule date.
  • Cards — a table (Name, Type, Contains, Day offset, Updated) with the same drill-down + create/edit/delete and the card form (Name, Type, Parent group, Day offset, and for tag cards: Tag pattern, Source environment, Description, Frequency associations with SLA + Trigger sub-editors).

Troubleshooting​

SymptomLikely causeResolution
Card shows UnknownIts source environment is unset, not registered, unhealthy or unreachable — or the environment is fine but its job data could not be read on this refreshCheck the card's source environment binding and that environment's runtime health (Administrator). If the tile shows no environment error, wait for the next refresh.
Card shows No schedule dateNo qualifying frequency day for the anchor date (given day-offset)Check the card's frequencies and day offset (Builder).
Card missing from LiveNone of the card's frequencies covers the selected date (an On Request frequency never does), or — for a group card — none of its children is shownCheck the card's frequencies, or pick another Schedule date.
Card never matches jobs you expectTag patterns are case-sensitiveMatch the tag's exact case in the pattern (Builder).
Card goes late at the wrong hourSLA times are compared in UTCEnter the SLA time in UTC (Builder).
Card status looks a few seconds oldThe Live view refreshes every 15 secondsWait for the next refresh, or reload the page.
A trigger never runsTrigger processing is off by defaultExpected. Watch the card on the Live view instead.
Drill-through not offered on a cardCard has no tag pattern or no bound source environmentOnly tag cards with both offer the Operations link.

Contact support when​

  • A card evaluates against the wrong environment or the wrong jobs, or its environment status is stuck.