같은 요청의 기록을 묶어 지연 구간을 찾습니다
Trace context(요청 추적 문맥): service 사이에서 trace와 span 관계를 이어 주는 식별 정보입니다.
Metric은 일정 시간 동안의 값과 분포, log는 개별 사건, trace는 한 요청의 여러 작업을 보여 줍니다. CPU 수치가 낮다는 사실만으로 요청이 빨랐다고 말할 수 없는 이유는 세 자료의 관찰 단위가 다르기 때문입니다.
요청을 받은 service가 trace context를 다음 service로 전달하면 span 사이의 부모·자식 관계를 복원할 수 있습니다. 전달이 끊기면 뒤쪽 작업이 별도 trace로 보여 전체 지연을 잘못 나눌 수 있습니다. service 이름과 배포 revision은 어느 코드가 그 기록을 만들었는지 구분합니다.
교육 예시에서 gateway는 420ms 뒤 응답했고 runtime span은 90ms입니다. 나머지 330ms를 곧바로 network 지연으로 단정할 수는 없습니다. queue 대기·직렬화·누락된 span과 시계 차이를 먼저 확인해야 합니다.
아래 두 예제 log를 읽고 같은 요청인지, 330ms를 어떤 증거로 더 나눌지 적습니다. 명령은 격리 환경에서 같은 필드를 조회하는 참고이며 브라우저에서는 출력 판독만 수행합니다.
- 왜 이런가
- 요청을 받은 service가 trace context를 다음 service로 전달하면 span 사이의 부모·자식 관계를 복원할 수 있습니다. 전달이 끊기면 뒤쪽 작업이 별도 trace로 보여 전체 지연을 잘못 나눌 수 있습니다. service 이름과 배포 revision은 어느 코드가 그 기록을 만들었는지 구분합니다.
- 언제 문제가 되는가
- 시계 불일치·context 단절 조건이면 진행 근거가 부족합니다.
- 초보자가 자주 하는 오해
- 인증 token·사용자 입력 원문을 baggage나 log에 복사하지 않습니다. 외부에서 들어온 trace context도 신뢰 경계에서 검증합니다.
- 직접 확인하는 방법
- service.name·revision·환경을 먼저 대조합니다. gateway와 runtime의 trace ID, span ID, parent span ID를 구분합니다.