Download src/runtime/metrics.py from DiabetesCareChatbot/dmChatbotBackend: direct link, hf CLI and curl.
- Browser
- Download file 1.06 kB
-
https://huggingface.co/spaces/DiabetesCareChatbot/dmChatbotBackend/resolve/main/src/runtime/metrics.py
- Command line
-
hf download hf://spaces/DiabetesCareChatbot/dmChatbotBackend/src/runtime/metrics.py
-
curl -L -o metrics.py https://huggingface.co/spaces/DiabetesCareChatbot/dmChatbotBackend/resolve/main/src/runtime/metrics.py
1.06 kB
| from __future__ import annotations | |
| from dataclasses import dataclass, field | |
| from typing import Any, Dict, List | |
| import time | |
| class RuntimeMetrics: | |
| events: List[Dict[str, Any]] = field(default_factory=list) | |
| started_at: float = field(default_factory=time.perf_counter) | |
| def record(self, event: str, **values: Any) -> None: | |
| self.events.append({"event": event, "timestamp": time.time(), **values}) | |
| def snapshot(self) -> Dict[str, Any]: | |
| durations = { | |
| event["event"]: event.get("duration_ms") | |
| for event in self.events | |
| if event.get("duration_ms") is not None | |
| } | |
| return { | |
| "events": list(self.events), | |
| "event_count": len(self.events), | |
| "active_runtime_slots": sum(1 for event in self.events if event["event"] == "runtime.created") - sum(1 for event in self.events if event["event"] == "runtime.destroyed"), | |
| "durations_ms": durations, | |
| "elapsed_ms": round((time.perf_counter() - self.started_at) * 1000, 3), | |
| } | |