ADR-005 env 태그 재사용 — 신규 라벨 미도입
- 상태: 채택
- 날짜: 2026-07-03
- 근거: PRD FR-8, NFR(누락 0건) / TDD “인터페이스·엔드포인트 계약”
맥락
application.yml:171에 management.metrics.tags.env: ${APP_ENV:local}가 이미 존재한다. dev/prod 구분을 위해 새 라벨 키(예: environment)를 도입할지, 기존 env를 재사용할지 결정이 필요하다. trace·log에도 같은 차원을 일관 부여해야 한다(FR-8, 누락 0).
결정
기존 env 태그를 재사용하고 신규 라벨 키를 도입하지 않는다.
- 메트릭:
management.metrics.tags.env(기존) 유지. - trace/log: OTel resource attribute
deployment.environment=${APP_ENV:local}로 매핑(OTEL_RESOURCE_ATTRIBUTES). - Grafana 대시보드 변수:
env라벨로 dev/prod 필터. - exporter 인프라 메트릭: Prometheus relabel로
env라벨 부여.
근거
- FR-8 명시 요구 — “새 라벨 키를 도입하지 않는다”가 PRD 문구.
- 누락 0 용이 — 단일 원천(
APP_ENV)에서 metric 태그·trace resource·log MDC가 파생 → 값 불일치·누락 방지. - 값 체계는 ⑧ 소유 —
local/dev/prod값의 의미는 [배포 파이프라인·환경 분리 ⑧]가 정의. 본 과제는 키만 고정, 값은 주입받음. - Grafana 관례 정합 — Prometheus 라벨(
env)과 Tempo/Loki resource(deployment.environment)를 대시보드에서env로 통일 표기(datasource 매핑에서 흡수).
대안 (미채택)
- 신규
environment라벨 도입: FR-8 위반, 기존 태그와 이중화. 미채택.
영향
- BE-02가
management.metrics.tags.env유지 +OTEL_RESOURCE_ATTRIBUTES매핑을 계약으로 동결. - INFRA-03 prometheus.yml이 exporter 잡에
envrelabel 추가. - INFRA-04 Grafana 대시보드가
env템플릿 변수 사용. - ⑧이
APP_ENV값을 환경별로 주입.