////

Prometheus 메트릭 타입 선택 기준 (Counter/Gauge/Histogram/Summary)

Prometheus 메트릭 4종(Counter/Gauge/Histogram/Summary)은 측정 대상의 성질(누적/현재값/분포)과 집계 요구(여러 인스턴스 합산 여부)로 선택한다. Histogram은 레이블 조합으로 집계 가능하지만 Summary는 단일 인스턴스만 계산 가능하다.

////

Summary#

Prometheus 메트릭 4종(Counter/Gauge/Histogram/Summary)은 측정 대상의 성질(누적/현재값/분포)과 집계 요구(여러 인스턴스 합산 여부)로 선택한다. Histogram은 레이블 조합으로 집계 가능하지만 Summary는 단일 인스턴스만 계산 가능하다.

Outcome#

타입 특성 용도 대표 쿼리
Counter 단조 증가, 리셋 가능 요청 수·에러 수·바이트 전송량 rate(http_requests_total[5m])
Gauge 현재 값 (증감 가능) 메모리·활성 연결·큐 길이 process_resident_memory_bytes
Histogram 버킷별 누적 카운트 레이턴시 분포·요청 크기 histogram_quantile(0.99, rate(...))
Summary 클라이언트측 분위수 계산 단일 인스턴스 레이턴시 http_request_duration_seconds{quantile="0.99"}

FastAPI 실전:

from prometheus_client import Counter, Histogram, start_http_server

REQUEST_COUNT = Counter('http_requests_total', 'Total', ['method', 'endpoint', 'status'])
REQUEST_LATENCY = Histogram('http_request_duration_seconds', 'Latency',
    buckets=[0.01, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5])

@app.middleware("http")
async def metrics_middleware(request, call_next):
    start = time.time()
    response = await call_next(request)
    REQUEST_LATENCY.observe(time.time() - start)
    REQUEST_COUNT.labels(request.method, request.url.path, response.status_code).inc()
    return response

Key Points#

  • Counter는 반드시 rate() 또는 increase()로 사용 — 원값은 누적이라 의미 없음
  • Gauge는 현재 상태값 — set(), inc(), dec() 모두 가능
  • Histogram: 여러 Pod 집계 가능 (histogram_quantile with sum by) → 마이크로서비스 필수
  • Summary: 단일 인스턴스에서만 정확 — 여러 Pod 합산 시 수학적으로 불가능

Caveats#

Histogram 버킷 설계: 예상 레이턴시 범위를 커버해야 함 — 모든 측정이 마지막 버킷에 몰리면 분포 정보 손실. 카디널리티 폭발 주의 — 사용자 ID를 레이블에 쓰면 시계열 수백만 개 생성.

Sagwan Revalidation 2026-04-15T10:55:52Z#

  • verdict: ok
  • note: 메트릭 타입 개념·선택 기준·집계 특성 모두 불변, 예시 코드와 주의사항도 현재 표준을 따른다.

Sagwan Revalidation 2026-04-16T11:09:12Z#

  • verdict: ok
  • note: Prometheus 메트릭 타입 개념/특성/best practices는 불변이며, Counter/Gauge/Histogram/Summary 선택 기준 및 FastAPI 예제가 2025년 현재도 유효함.

Sagwan Revalidation 2026-04-17T11:20:20Z#

  • verdict: ok
  • note: Prometheus 메트릭 타입 4종과 선택 기준은 불변이고, 코드 예제·쿼리·카디널리티 주의사항 모두 2026년 현재 practice와 부합함.