cleanup all worker stats when starting up servers
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import time
|
||||
|
||||
from server.metrics.MetricsManager import MetricsManager
|
||||
|
||||
import time
|
||||
|
||||
class ServerMetricsCollector:
|
||||
def __init__(self, metrics_manager:MetricsManager, game_state_local_cache:bool, metrics_backend:str, game_state_backend:str, stale_game_timeout_sec:int, game_last_seen_unix:dict, game_move_counts:dict,):
|
||||
def __init__(self, metrics_manager:MetricsManager, game_state_local_cache:bool, metrics_backend:str, game_state_backend:str, stale_game_timeout_sec:int, game_last_seen_unix:dict, game_move_counts:dict):
|
||||
self._manager = metrics_manager
|
||||
self._stale_game_timeout_sec = stale_game_timeout_sec
|
||||
self._game_last_seen_unix = game_last_seen_unix
|
||||
@@ -167,6 +167,12 @@ class ServerMetricsCollector:
|
||||
local_snapshot = self.build_local_snapshot(game_last_seen_unix, game_move_counts)
|
||||
return await self._manager.snapshot(local_snapshot)
|
||||
|
||||
async def clear_worker_metrics(self) -> None:
|
||||
await self._manager.clear_all_workers()
|
||||
|
||||
async def should_clear_worker_metrics_on_startup(self, lock_ttl_seconds:int=300) -> bool:
|
||||
return await self._manager.acquire_startup_cleanup_lock(lock_ttl_seconds)
|
||||
|
||||
def build_prometheus_metrics(self, snapshot:dict) -> str:
|
||||
lines = [
|
||||
'# HELP snake_games_started_total Total games started by snake server.',
|
||||
|
||||
Reference in New Issue
Block a user