[BE-01] micrometer-registry 교체 + Tracing 의존성 추가
작업 내용 (설계 의도)
근거 TDD: ../TDD.md “클래스/파일 역할 정의”, ADR-001.
변경 사항
backend/build.gradle.kts의 모니터링 의존성을 교체·추가한다. Datadog(유료 SaaS) registry를 제거하고 무료 Prometheus registry로 교체해 죽어 있던 /actuator/prometheus(현재 registry 부재로 404)를 살린다. 분산 추적을 위해 Micrometer Tracing + OTel Bridge + OTLP exporter를, 로그 라우팅을 위해 logback OTLP appender를 추가한다.
- 제거:
io.micrometer:micrometer-registry-datadog(build.gradle.kts:37) - 추가:
io.micrometer:micrometer-registry-prometheus - 추가:
io.micrometer:micrometer-tracing-bridge-otel - 추가:
io.opentelemetry:opentelemetry-exporter-otlp - 추가:
io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0
버전은 Spring Boot 3.3.5 BOM 관리 범위를 우선 사용하고, BOM 밖(logback-appender)은 명시 버전 고정. 이 티켓은 파일 소유가 build.gradle.kts 단독이라 후행 BE 티켓(application.yml·Kafka config·logback)의 컴파일 선행 조건이다.
롤백: 의존성 블록 revert(datadog 복구) — 단일 파일 되돌리기, 앱 무중단(Datadog는 기본 비활성).
의존
- 없음 (wave 1 foundational)
다이어그램
처리 흐름
sequenceDiagram participant B as build.gradle.kts participant G as Gradle B->>G: datadog 제거 + prometheus/tracing/otlp 추가 G->>G: 의존성 해석·컴파일 G-->>B: BUILD SUCCESSFUL
클래스 의존
flowchart LR BG["build.gradle.kts"] --> PR["micrometer-registry-prometheus"] BG --> TB["micrometer-tracing-bridge-otel"] BG --> OT["opentelemetry-exporter-otlp"] BG --> LB["logback-appender"]
테스트 케이스
./gradlew :backend:dependencies에micrometer-registry-prometheus가 존재한다../gradlew :backend:dependencies에micrometer-registry-datadog가 존재하지 않는다(회귀 감지).micrometer-tracing-bridge-otel·opentelemetry-exporter-otlp가 클래스패스에 해석된다../gradlew :backend:compileKotlin이 성공한다(BUILD SUCCESSFUL, exit 0).- 기존
harnessCheck태스크가 여전히 통과한다(의존성 변경이 정적 규칙에 영향 없음).