Skip to content

Commit 21d7a30

Browse files
committed
fix(metrics): add gauge method and use it for rerank avg_score
- Added gauge() method to Metrics class for point-in-time values - Use gauge instead of timing for avg_score (semantic correctness)
1 parent 6646c18 commit 21d7a30

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

backend/services/observability.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ class Metrics:
324324
def __init__(self):
325325
self._counters: Dict[str, int] = {}
326326
self._timings: Dict[str, list] = {}
327+
self._gauges: Dict[str, float] = {}
327328

328329
def increment(self, name: str, value: int = 1, **tags):
329330
"""Increment a counter"""
@@ -339,10 +340,15 @@ def timing(self, name: str, value_ms: float):
339340
if len(self._timings[name]) > 1000:
340341
self._timings[name] = self._timings[name][-1000:]
341342

343+
def gauge(self, name: str, value: float):
344+
"""Record a point-in-time value (like avg score, current queue size)"""
345+
self._gauges[name] = value
346+
342347
def get_stats(self) -> Dict:
343348
"""Get all metrics with basic stats"""
344349
stats = {
345350
"counters": self._counters.copy(),
351+
"gauges": self._gauges.copy(),
346352
"timings": {}
347353
}
348354

@@ -361,6 +367,7 @@ def reset(self):
361367
"""Reset all metrics"""
362368
self._counters = {}
363369
self._timings = {}
370+
self._gauges = {}
364371

365372

366373
# Global metrics instance

backend/services/search_v3/search_engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ async def _rerank_results(
327327

328328
# metrics for observability
329329
avg_score = sum(r['rerank_score'] for r in reranked) / len(reranked) if reranked else 0
330-
metrics.timing("search.rerank.avg_score", avg_score * 100) # scale to percentage
330+
metrics.gauge("search.rerank.avg_score", avg_score * 100) # scale to percentage
331331
metrics.increment("search.rerank.success")
332332

333333
logger.info("Cohere rerank complete",

0 commit comments

Comments
 (0)