docs: floor warning fires on each schedule create/update; unparseable frequency_alert is ignored (SIENTIAPDE-2193)
This commit is contained in:
@@ -630,7 +630,7 @@ One `pipelines` doc per window, all with the same `model_id`. Name them `<model>
|
|||||||
|
|
||||||
| Field | Meaning | Default |
|
| Field | Meaning | Default |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `frequency_alert` | Frequency while escalated, same format as `frequency`. Absent = adaptive mode off. Below `1m` (or unparseable), the orchestrator sends a WARNING each time it creates or updates the schedule, and keeps the value | — |
|
| `frequency_alert` | Frequency while escalated, same format as `frequency`. Absent = adaptive mode off. Below `1m` (or unparseable), the orchestrator sends a WARNING each time it creates or updates the schedule. A value below `1m` is kept; an unparseable value is ignored (the schedule keeps `frequency`) | — |
|
||||||
| `adaptive_state` | `{escalated, healthy_streak}`, written **only** by laborious (with `updated_at` as a BSON datetime when `escalated` flips) | `{false, 0}` |
|
| `adaptive_state` | `{escalated, healthy_streak}`, written **only** by laborious (with `updated_at` as a BSON datetime when `escalated` flips) | `{false, 0}` |
|
||||||
| `model.model_config.simple_metrics_thresholds` | `{<metric>_max, <metric>_min}` shared by all windows | — |
|
| `model.model_config.simple_metrics_thresholds` | `{<metric>_max, <metric>_min}` shared by all windows | — |
|
||||||
| `model.model_config.simple_metrics_min_samples` | Windows with fewer rows neither alert nor escalate, and count toward recovery | — |
|
| `model.model_config.simple_metrics_min_samples` | Windows with fewer rows neither alert nor escalate, and count toward recovery | — |
|
||||||
|
|||||||
@@ -371,7 +371,7 @@ class Formatters(SientiaMonitoring):
|
|||||||
configuration to determine which schedules need to be created, updated, or deleted.
|
configuration to determine which schedules need to be created, updated, or deleted.
|
||||||
Uses timestamp comparison to identify schedules that have changed.
|
Uses timestamp comparison to identify schedules that have changed.
|
||||||
Also sends a SIMPLE_METRICS_FREQUENCY_ALERT_BELOW_FLOOR WARNING for laborious schedules
|
Also sends a SIMPLE_METRICS_FREQUENCY_ALERT_BELOW_FLOOR WARNING for laborious schedules
|
||||||
whose frequency_alert is below 1m or unparseable (the value is kept).
|
whose frequency_alert is below 1m (the value is kept) or unparseable (it is ignored).
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
input_data (dict[str, Any]): The input data containing:
|
input_data (dict[str, Any]): The input data containing:
|
||||||
@@ -412,7 +412,8 @@ class Formatters(SientiaMonitoring):
|
|||||||
schedules, current_schedules, to_update, to_create, namespace, metadata
|
schedules, current_schedules, to_update, to_create, namespace, metadata
|
||||||
)
|
)
|
||||||
|
|
||||||
# Only schedules being created/updated: fires on each config change (including escalation flips), not every tick.
|
# Fires whenever the schedule is created or updated (each `updated_at` change,
|
||||||
|
# including escalation flips).
|
||||||
changed = {**to_create[self.laborious_namespace], **to_update[self.laborious_namespace]}
|
changed = {**to_create[self.laborious_namespace], **to_update[self.laborious_namespace]}
|
||||||
for schedule_name, schedule in changed.items():
|
for schedule_name, schedule in changed.items():
|
||||||
warning = frequency_alert_warning(schedule.get('frequency_alert'))
|
warning = frequency_alert_warning(schedule.get('frequency_alert'))
|
||||||
|
|||||||
Reference in New Issue
Block a user