Optimize Grafana observability metrics and config (#1188)

* Optimize Grafana observability metrics and config

* Update docker images
This commit is contained in:
Wu Clan
2026-05-29 09:41:50 +08:00
committed by GitHub
parent 0f0e94c9b1
commit e9b83d3c93
17 changed files with 152 additions and 83 deletions
@@ -4,7 +4,7 @@ from asyncio import Queue
from prometheus_client import Counter, Gauge, Histogram
from backend.common.observability.prometheus.config import PROMETHEUS_APP_NAME
from backend.core.conf import settings
_PROMETHEUS_QUEUE_SIZE_GAUGE = Gauge(
name='fba_queue_size',
@@ -27,17 +27,21 @@ _PROMETHEUS_QUEUE_EXCEPTION_COUNTER = Counter(
def observe_queue_size(queue: Queue, *, queue_name: str) -> None:
"""记录队列当前长度"""
_PROMETHEUS_QUEUE_SIZE_GAUGE.labels(app_name=PROMETHEUS_APP_NAME, queue_name=queue_name).set(queue.qsize())
_PROMETHEUS_QUEUE_SIZE_GAUGE.labels(app_name=settings.GRAFANA_PROMETHEUS_APP_NAME, queue_name=queue_name).set(
queue.qsize()
)
def observe_batch_dequeue_cost(start_time: float, *, queue_name: str) -> None:
"""记录批量消费耗时"""
elapsed = round((time.perf_counter() - start_time) * 1000, 3)
_PROMETHEUS_QUEUE_BATCH_DEQUEUE_COST_TIME_HISTOGRAM.labels(
app_name=PROMETHEUS_APP_NAME, queue_name=queue_name
app_name=settings.GRAFANA_PROMETHEUS_APP_NAME, queue_name=queue_name
).observe(elapsed)
def inc_queue_exception(*, queue_name: str) -> None:
"""记录队列异常"""
_PROMETHEUS_QUEUE_EXCEPTION_COUNTER.labels(app_name=PROMETHEUS_APP_NAME, queue_name=queue_name).inc()
_PROMETHEUS_QUEUE_EXCEPTION_COUNTER.labels(
app_name=settings.GRAFANA_PROMETHEUS_APP_NAME, queue_name=queue_name
).inc()