핵심 요약
Sentry 25의 Trace Explorer로 분산 트레이스 분석 정착. 사내 6개 워크플로 — 느린 endpoint 추적, DB N+1 검출, 외부 API 의존, 백그라운드 job 지연, 클라이언트 LCP 원인, 회귀 비교. p99 endpoint 평균 -52%.
1. Trace Explorer — query 예
span.op:db AND span.duration:>500ms
AND transaction:[GET /api/orders]
특정 endpoint의 느린 DB span만 추출. 결과로 N+1 즉시 보임.
2. 6가지 워크플로
- Endpoint p99 → span 분포 → 가장 느린 span 그룹
- N+1: 동일 query.text 반복 횟수 정렬
- 외부 API 지연: span.op:http.client p95 trend
- Background job: queue.latency + processing 시간 split
- LCP root cause: web.vital.lcp 비정상 트레이스 sampling 100%
- Release 회귀: 배포 전후 동일 endpoint p99 diff
3. 알람 — 노이즈 줄이기
- 단일 endpoint p99 임계 — false positive 너무 많음
- 대신 percentile change(7일 baseline vs 1h) 사용
- alert routing: 비즈니스 영향 endpoint만 PagerDuty
4. 비용 — sampling 정책
정상 trace 5% + 에러·느림 100% + 새 release 100%(첫 1시간). 월 ingestion -68%, 분석에 필요한 trace는 모두 보존.
5. 함정
- 클라이언트 SDK 버전 — span attribute 다름, OTel 표준 사용
- trace 누락 — Lambda 콜드 스타트의 첫 span 잃기 쉬움, init 시 명시
- 대시보드 권한 — 외부 endpoint 노출 가능, 팀별 권한
- Performance vs APM — Sentry Performance와 별도 도구 혼용 시 중복 비용

댓글 0