Backend — observability - xxriny/KNU-PROJECT GitHub Wiki

1. backend/observability/init.py

라인 코드 설명
1–8 re-export get_logger, configure_logging, NODE_LATENCY, NODE_FAILURE, track_node, make_metrics_app

2. backend/observability/logger.py

라인 코드 설명
14 _ensure_configured() structlog 단회 설정(JSON/dev 렌더러 자동 전환)
35 configure_logging() 로깅 초기화 진입점
39 get_logger() structlog 래퍼, run_id 바인딩
65 _FallbackLogger structlog 미설치 시 stdlib logging 폴백 클래스

3. backend/observability/metrics.py

라인 코드 설명
18 NODE_LATENCY Prometheus Histogram — 노드 처리 시간
23 NODE_FAILURE Prometheus Counter — 노드 실패 수
28 make_metrics_app() Prometheus ASGI 앱 생성(main.py에서 /metrics 마운트)
32 track_node() context manager — 노드 실행 시간 측정 + 실패 카운트, prometheus_client 미설치 시 no-op