Coverage for app/core/observability.py: 100%
16 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
1from typing import Any
3from app.core.events import ProbeEvents, ProbeMetrics
4from app.core.logging import Logger
7class Observability:
8 @classmethod
9 def emit(
10 cls,
11 event: ProbeEvents,
12 **payload: Any,
13 ):
14 Logger.log(event.value, status="started", **payload)
16 if event == ProbeEvents.PROBE_CREATED:
17 ProbeMetrics.inc_probe_created()
18 elif event == ProbeEvents.PROBE_INVALID_SETUP:
19 ProbeMetrics.inc_probe_invalid_setup()
20 elif event == ProbeEvents.PROBE_COMMAND_SENT:
21 ProbeMetrics.inc_probe_command_sent()
22 elif event == ProbeEvents.PROBE_INVALID_COMMAND:
23 ProbeMetrics.inc_probe_invalid_command()
25 Logger.log(event.value, status="finished", **payload)