-
Notifications
You must be signed in to change notification settings - Fork 3
Trace
pp edited this page Oct 2, 2024
·
2 revisions
Note
모니터링의 3요소 중 하나인 Trace에 대하여 정리하고 있습니다.
- 애플리케이션의 요청 흐름을 추적하고 모니터링하는 기술
- 요청이 여러 서비스를 통과할 때 각 서비스의 소요 시간과 상태를 체크하여 기록한다.
- 주로 MSA 구조에서 유용하게 사용되지만, WebtoonSearch의 추천 서비스와 같이 비즈니스 로직 중 외부 API를 불러와야 할 경우 도입하여 문제 지점을 파악하는 것도 도움이 되기 때문에 도입하는 이유는 충분.

trace : 사용자의 요청부터 응답 까지 전체 서비스 흐름을 기록한 하나의 요청 전체. 여러 개의 span으로 이루어짐
span : 하나의 작업 단위 ( ex. gpt 프롬프팅, 데이터베이스 쿼리 등 )
trace Id : 하나의 요청 전체를 추적하는데 사용하는 Id
span Id : Trace 내에서 개별 작업을 구분하기 위한 Id
span의 부모-자식 관계 : trace 속에서 하나의 span 에 의해 일어나는 다른 이벤트(span)의 경우 부모-자식으로 연결되어 계층 구조를 파악할 수 있음 ( ex. A서비스에서 B서비스를 호출, 새로운 span id가 생기며 A서비스의 span에 자식 관계로 이어짐 )
- 🤝 Collaboration
- 💬 Git Commit Convention
- 🌿 Branching Strategy
- 🔀 Pull Request (PR) Guidelines
- 🐋 Docker
- 🎡 Kubernetes
- 🔎 Metrics
- 💊 USE/RED
- 📝 Metrics Design
- 🔥 Prometheus
- 🦖 Grafana
- ⚒️ 실제 구현