Files
llm-wiki/vault/20-evidence/official-docs/metric-micrometer-naming-convention-official.md
T

7.8 KiB

title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
title source_type url archive_url status confidence tags related_projects related_branches created last_reviewed
Micrometer — Naming meters / Conventions official-doc https://docs.micrometer.io/micrometer/reference/concepts/naming.html raw high
ca-metrics-alerting
micrometer
naming-convention
prometheus
official-doc
ca-skeleton-operational-contract
feature-metrics-alerting-contract
2026-05-22 2026-05-27

Micrometer — Naming meters / Conventions

Layer: raw/official-docs/ — Micrometer 공식 reference 의 naming convention verbatim. ca-tmpl 의 "metric naming = Micrometer dot.case default" 결정의 1차 spec 근거.

Parent / 활용 branch (필수)

Branch 이 자료가 정당화하는 결정
raw/branch-notes/feature-metrics-alerting-contract metric naming convention 으로 Micrometer dot.case default 채택 + unit suffix 는 Micrometer convention (.seconds/.bytes/.total) 강제 결정의 spec 근거
raw/project-notes/ca-skeleton-operational-contract §18. Control Plane Contract (Metrics / Alerting) 의 metric naming 채택안 — Micrometer dot.case

컨텍스트

ca-tmpl 이 채택한 "metric naming convention = Micrometer dot.case default. unit suffix 는 Micrometer convention (.seconds/.bytes/.total) 강제" 의 spec 근거.

출처 / Source

핵심 인용 / Key quotes (verbatim)

[§Naming meters] "Micrometer employs a naming convention that separates lowercase words with a . (dot) character."

[§Naming meters] "Each Micrometer implementation for a monitoring system comes with a naming convention that transforms lowercase dot notation names to the monitoring system's recommended naming convention."

[§Naming meters — example transformation] "registry.timer("http.server.requests");" transforms to:

  • Prometheus: http_server_requests_duration_seconds
  • Atlas: httpServerRequests
  • Graphite: http.server.requests
  • InfluxDB: http_server_requests

Claims Extracted / 추출된 주장

Claim ID Claim (이 자료가 직접 말하는 것) Evidence quote Strength Applies to Does not prove
MM-NAME-C1 Micrometer 의 naming convention 은 lowercase word 를 dot (.) 으로 구분 [§Naming meters] "Micrometer employs a naming convention that separates lowercase words with a . (dot) character." official-vendor-doc Micrometer API 로 등록되는 모든 meter 의 default naming uppercase / camelCase 가 거부된다는 강한 뜻 아님 — convention 표현
MM-NAME-C2 각 monitoring system 별 Micrometer 구현이 lowercase dot notation 을 해당 시스템 권장 naming convention 으로 자동 변환 [§Naming meters] "Each Micrometer implementation for a monitoring system comes with a naming convention that transforms lowercase dot notation names to the monitoring system's recommended naming convention." official-vendor-doc Micrometer registry (Prometheus, Atlas, Graphite, InfluxDB 등) 모든 monitoring system 이 자동 변환을 지원한다는 뜻 아님 — Micrometer 구현 존재하는 시스템 한정
MM-NAME-C3 동일 Micrometer name http.server.requests 는 시스템 별로 다음과 같이 변환: Prometheus http_server_requests_duration_seconds, Atlas httpServerRequests, Graphite http.server.requests, InfluxDB http_server_requests [§Naming meters — example transformation] "registry.timer("http.server.requests");" → Prometheus: http_server_requests_duration_seconds, Atlas: httpServerRequests, Graphite: http.server.requests, InfluxDB: http_server_requests official-vendor-doc timer 타입 meter 의 시스템 별 노출 형식 counter / gauge 의 변환 규칙이 동일하다는 뜻 아님 — 본 예시는 timer 한정
MM-NAME-C4 .count, .total, .sum, .max 같은 suffix 가 monitoring system 에 의해 자동 추가되며 meter name 에 직접 포함하지 말아야 한다 (본 페이지 발췌에 명시 없음) needs-confirmation suffix 정책 Micrometer reference 의 다른 페이지 (예: concepts/timers) 에서 별도 확인 필요 — 본 페이지 발췌만으로는 직접 인용 불가
MM-NAME-C5 base unit (seconds, bytes) 의 application 전역 일관성 유지 / TimeUnit handling 으로 시스템 별 unit suffix 자동 부착 (본 페이지 발췌에 명시 없음) needs-confirmation unit handling 본 페이지가 unit handling 을 다루지 않음 — concepts/timers 등 별도 페이지 필요

Usage Boundaries / 적용 경계

  • 이 자료가 직접 증명하는 것:
    • MM-NAME-C1 ~ C3: Micrometer 의 lowercase dot naming convention, 시스템 별 자동 변환, http.server.requests 의 시스템 별 정확한 변환 결과
  • 이 자료가 증명하지 않는 것:
    • .count/.total/.sum/.max 같은 suffix 의 자동 부착 규칙 (MM-NAME-C4 — 본 페이지에 미명시, 다른 reference 페이지 필요)
    • TimeUnit / base unit (seconds, bytes) handling 의 정확한 동작 (MM-NAME-C5 — 별도 페이지)
    • tag (label) 의 lowercase snake_case 권장이 Micrometer 공식 권장이라는 결론 (본 페이지 발췌 범위 밖)
    • high-cardinality tag 금지 정책이 Micrometer 공식 권장이라는 결론 (별도 concepts/cardinality 필요)
    • Spring Boot Actuator 가 Micrometer naming 을 default 로 채택한다는 결론 (Spring Boot reference 별도)
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • ca-tmpl 의 unit suffix 강제 정책이 Micrometer 자동 변환 위에 추가 정책인지 vs 자동 변환만 신뢰하는지
    • HikariCP / JVM / Tomcat 등 라이브러리 기본 meter naming 이 Spring Boot 3 에서 모두 dot.case 로 통일되었는지 (Spring Boot 3 reference 확인)
    • Prometheus naming (http_server_requests_seconds_*) 의 정확한 _count/_sum/_bucket suffix 규칙 (Prometheus exposition format 별도)

메모 / Notes (내 프로젝트 해석)

본 섹션은 자료 직접 인용 아님. ca-tmpl 결정 컨텍스트 해석.

  • 표준 example (MM-NAME-C3 외 추론):
    • HTTP latency: http.server.requests (Spring Boot 3 default) — Prometheus 에서 http_server_requests_seconds_* 또는 http_server_requests_duration_seconds 로 변환 (정확한 suffix 는 Spring Boot 3 / Micrometer 버전 의존, 별도 확인).
    • DB pool: hikaricp.connections.acquirehikaricp_connections_acquire_seconds (추론).
    • JVM: jvm.memory.used, jvm.gc.pause.
  • tag convention: lowercase, snake_case 권장 (Micrometer 관례, 본 페이지 직접 인용 아님). high-cardinality 금지 (user id, request id) — ca-tmpl Cardinality Bounds 표와 정합.
  • 장점: Spring Boot Actuator default, 사실상 JVM 생태계 표준. backend (Prometheus / Datadog / Wavefront / Atlas) 무관하게 동일 name 으로 작성 (MM-NAME-C2).
  • 단점: Prometheus naming (snake_case + _total suffix) 과 1:1 매핑이 자동 변환이라 직접 PromQL 작성 시 혼동 가능. tag name 도 monitoring system convention 변환됨.
  • ca-tmpl 과의 차이: 100% 일치. Spring Boot 3 + Micrometer default 를 그대로 채택.