Spaces:
Running on Zero
Running on Zero
| """Per-request pipeline stat stashes — lease / CPU-subprocess / worker-dispatch. | |
| One RequestStats object per request: pipeline entries call | |
| ``reset_request_stats()`` once, the GPU/CPU dispatch layers each fill their | |
| slot, and the log-row builder reads the whole object at build time | |
| (``log_blocks.build_timing``). Slot dict shapes are telemetry wire shapes — | |
| field names inside them are load-bearing. | |
| """ | |
| from contextvars import ContextVar | |
| from dataclasses import dataclass | |
| class RequestStats: | |
| lease: dict | None = None # gpu_runtime duration estimators | |
| cpu: dict | None = None # zero_gpu local-subprocess dispatch | |
| dispatch: dict | None = None # worker_pool remote-worker dispatch | |
| _STATS: ContextVar[RequestStats | None] = ContextVar("request_stats", default=None) | |
| def get_request_stats() -> RequestStats: | |
| """This request's stats object, created on first access.""" | |
| stats = _STATS.get() | |
| if stats is None: | |
| stats = RequestStats() | |
| _STATS.set(stats) | |
| return stats | |
| def reset_request_stats() -> None: | |
| """Drop all per-request stats. Called once at every pipeline entry.""" | |
| _STATS.set(RequestStats()) | |