[MISC] Set label value to timestamp over 0, to keep track of recent history (#9777)

Signed-off-by: Kunjan Patel <kunjanp@google.com>
This commit is contained in:
Kunjan 2024-10-29 12:52:19 -07:00 committed by GitHub
parent 7585ec996f
commit 0ad216f575
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,3 +1,4 @@
import time
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from typing import Counter as CollectionsCounter from typing import Counter as CollectionsCounter
from typing import Dict, List, Optional, Type, Union, cast from typing import Dict, List, Optional, Type, Union, cast
@ -253,6 +254,10 @@ class _RayGaugeWrapper:
def set(self, value: Union[int, float]): def set(self, value: Union[int, float]):
return self._gauge.set(value) return self._gauge.set(value)
def set_to_current_time(self):
# ray metrics doesn't have set_to_current time, https://docs.ray.io/en/latest/_modules/ray/util/metrics.html
return self._gauge.set(time.time())
class _RayCounterWrapper: class _RayCounterWrapper:
"""Wraps around ray.util.metrics.Counter to provide same API as """Wraps around ray.util.metrics.Counter to provide same API as
@ -479,7 +484,7 @@ class PrometheusStatLogger(StatLoggerBase):
histogram.labels(**self.labels).observe(datum) histogram.labels(**self.labels).observe(datum)
def _log_gauge_string(self, gauge, data: Dict[str, str]) -> None: def _log_gauge_string(self, gauge, data: Dict[str, str]) -> None:
gauge.labels(**data).set(1) gauge.labels(**data).set_to_current_time()
def _log_prometheus(self, stats: Stats) -> None: def _log_prometheus(self, stats: Stats) -> None:
# System state data # System state data