피드로 돌아가기
War Story: Debugging a Next.js 15 API Route Error with Sentry 7.0 and OpenTelemetry 1.20
Dev.toDev.to
DevOps

Sentry 7.0 및 OTel 버전 정렬을 통한 Edge Runtime p99 지연시간 99% 개선

War Story: Debugging a Next.js 15 API Route Error with Sentry 7.0 and OpenTelemetry 1.20

ANKUSH CHOUDHARY JOHAL2026년 4월 29일20advanced

Context

Next.js 15 Edge Runtime 환경에서 Sentry 7.0과 OpenTelemetry 1.20을 혼용하여 사용함. Auto-instrumentation 간의 충돌로 인해 에러 발생 시 Trace Context가 유실되어 0%의 Sampling Rate와 p99 11.8s의 심각한 Latency Spike가 발생하는 구조적 한계 직면.

Technical Solution

  • @opentelemetry/api 버전을 1.20.0으로 강제 고정하여 Peer Dependency 불일치로 인한 Context Leakage 차단
  • Sentry 7.0의 기본 Auto-instrumentation 기능을 비활성화하여 OTel Span Drop 현상 해결
  • Sentry OpenTelemetry Integration을 명시적으로 추가하여 Edge Runtime 내 Trace Context 전파 구조 설계
  • 각 Sentry Exception을 활성 OTel Span에 수동으로 연결하는 Manual Linking 로직 구현
  • Edge Runtime의 버퍼링된 console.log 특성을 고려하여 분산 트레이싱 기반의 가시성 확보 전략 채택

- Sentry와 OTel 동시 사용 시 @opentelemetry/api 버전을 SDK 권장 버전으로 Pinning 했는지 확인 - Edge Runtime 도입 시 Auto-instrumentation으로 인한 Span Drop 가능성을 검토하고 Manual Setup 적용 고려 - 분산 트레이싱 도구 간의 Context Leakage 여부를 확인하기 위해 샘플링 비율

1.0 환경에서 Local 벤치마크 수행

원문 읽기