mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 21:15:13 +00:00
Optimize Grafana observability metrics and config (#1188)
* Optimize Grafana observability metrics and config * Update docker images
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user