File size: 623 Bytes
3831e97 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | """Local telemetry — default OFF (design Observability)."""
from __future__ import annotations
from typing import Any, Dict, List
class Telemetry:
def __init__(self, enabled: bool = False):
self.enabled = bool(enabled)
self.events: List[Dict[str, Any]] = []
def emit(self, name: str, payload: Dict[str, Any] | None = None) -> None:
if not self.enabled:
return
self.events.append({"name": name, "payload": payload or {}})
def set_enabled(self, value: bool) -> None:
self.enabled = bool(value)
if not self.enabled:
self.events.clear()
|