데브허브 | DEVHUB | [10분 테코톡] 새로이의 우리 팀은 트레이스를 어떻게 추적하고 활용하고 있을까?[10분 테코톡] 새로이의 우리 팀은 트레이스를 어떻게 추적하고 활용하고 있을까?
- Observability는 시스템 내부에서 일어나는 일을 외부에서 관측하여 서비스의 원활한 운영을 돕는 능력입니다. 🔭
- Observability의 세 가지 핵심 요소는 '무슨 일이 있었는지'를 기록하는 로그, '전체 상태는 어떤지'를 나타내는 매트릭, 그리고 '특정 요청이 어떻게 흘렀는지'를 추적하는 트레이스입니다. 📊
- 트레이스는 단일 요청의 전체 여정을 기록한 데이터로, 메서드 실행, DB 호출, 외부 API 호출과 같은 작은 작업 단위인 스팬(Span)들의 계층적 흐름으로 구성됩니다. 🛤️
- 로그나 매트릭만으로는 성능 저하의 정확한 원인(예: P99 지연)을 추정하기 어렵지만, 트레이스는 요청의 흐름을 시각화하여 병목 지점을 명확히 식별할 수 있게 합니다. 🔍
- 트레이스를 활용하면 로드밸런서, 서비스 코드, DB 등 요청의 각 단계에서 소요되는 시간을 시각적으로 파악하여 성능 개선이 필요한 정확한 구간을 찾아낼 수 있습니다. ⏱️
- 예외 발생 시 트레이스는 에러 메시지뿐만 아니라, 요청 흐름 중 어느 스팬에서 에러가 발생했는지 직관적으로 보여주어 신속한 문제 해결을 가능하게 합니다. 🚨
- 결론적으로 트레이스는 장애 및 지연 원인을 즉시 파악하고, 요청의 전체 여정을 시각화하여 상관관계를 분석하며, 성능 개선을 위한 명확한 근거를 제공합니다. ✅