"""Diagnostics aggregation utilities for observability exports."""
from collections.abc import Iterable
from sqlspec.storage.pipeline import (
StorageDiagnostics,
StorageTelemetry,
get_recent_storage_events,
get_storage_bridge_diagnostics,
)
__all__ = ("DiagnosticsPayload", "TelemetryDiagnostics", "collect_diagnostics")
DiagnosticsPayload = dict[str, float | list[StorageTelemetry]]
class TelemetryDiagnostics:
"""Aggregates lifecycle counters, custom metrics, and storage telemetry."""
__slots__ = ("_lifecycle_sections", "_metrics")
def __init__(self) -> None:
self._lifecycle_sections: list[tuple[str, dict[str, float]]] = []
self._metrics: StorageDiagnostics = {}