[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:dependenciesmicrometer-registry-prometheus가 존재한다.
  • ./gradlew :backend:dependenciesmicrometer-registry-datadog가 존재하지 않는다(회귀 감지).
  • micrometer-tracing-bridge-otel·opentelemetry-exporter-otlp가 클래스패스에 해석된다.
  • ./gradlew :backend:compileKotlin이 성공한다(BUILD SUCCESSFUL, exit 0).
  • 기존 harnessCheck 태스크가 여전히 통과한다(의존성 변경이 정적 규칙에 영향 없음).