Counter: 단조증가 메트릭의 기초
Counter는 값이 증가하거나 재시작 시 0으로 리셋될 수 있는 단조증가 누적 메트릭입니다. 요청 처리 수, 완료된 작업, 오류 발생 횟수 같은 값을 추적할 때 사용됩니다. Counter는 감소할 수 없다는 특성이 있으므로, 동시 실행 중인 프로세스 수처럼 증감하는 값을 표현해서는 안 됩니다.
Histogram: 분포 측정 메트릭
Histogram은 요청 지연시간이나 응답 크기 같은 관찰값을 설정 가능한 버킷으로 분류하여 카운트하고 모든 관찰값의 합을 제공하는데, 본질적으로 버킷 기반 Counter입니다. Histogram은 클라이언트 측에서 데이터를 샘플링하며, 각 버킷은 누적되므로 큰 범위 버킷은 더 작은 범위 버킷의 모든 카운트를 포함합니다.
클래식 vs 네이티브 히스토그램: 아키텍처 선택
Prometheus v3.0부터 클래식 히스토그램의 le 레이블 값이 OpenMetrics Canonical Numbers 형식으로 정규화됩니다. 네이티브 히스토그램은 v2.40부터 도입되었으며 더 효율적인 형식을 제공하지만 현재 실험적이고 enable-feature=native-histograms 플래그가 필요합니다. 히스토그램의 주요 장점은 집계 가능성으로, 수천 개 인스턴스에서 수집한 히스토그램을 조합하여 histogram_quantile() 함수로 분산 시스템 전체의 95백분위수 같은 정확한 백분위수를 계산할 수 있습니다.