[FE-02] BFF fetch traceparent 전파 검증
작업 내용 (설계 의도)
변경 사항
근거: design-fe-web.md “traceparent 전파 흐름” · BE TDD traceparent 규약. FR-10.
BFF가 BE를 호출할 때 traceparent(W3C Trace Context)를 전파해 BE(Micrometer Tracing, isObservationEnabled)가 같은 trace로 합류하게 한다.
lib/server/be-client.ts(검증/미세수정):@vercel/otel의 global fetch 자동 계측이 나가는 요청에traceparent를 주입하는지 확인. 자동 계측이 미치지 않는 경로가 있으면 활성 span 컨텍스트에서 헤더가 실리도록 보정(수동 traceId 생성은 금지 — 계측 컨텍스트 사용).- 대상 Route가 Node 런타임인지 확인(Edge 미사용).
롤백: OTLP endpoint 언셋 시 계측 no-op(전파 무영향).
의존
- FE-01 (OTel 등록 — 계측 컨텍스트 전제)
다이어그램
처리 흐름
sequenceDiagram participant W as Next BFF participant B as BE(Spring) W->>W: 활성 span 컨텍스트 W->>B: fetch (traceparent 헤더) B->>B: traceparent로 trace 합류 B-->>W: 응답(동일 trace)
테스트 케이스
- 활성 span 컨텍스트 하에서 beClient fetch 요청 헤더에
traceparent가 존재한다. - OTLP 미설정 상태에서도 beClient 요청이 정상 성공한다(계측 no-op).
- 기존
Authorization(쿠키)·timeout 동작이 유지된다(회귀 없음). - 대상 Route Handler가 Node 런타임으로 동작한다.