사건과 실행 구간
매크로로 개별 사건을 기록하고 필드에 구조화된 값을 담는다. 실행 구간인 span은 작업의 맥락을 나타낸다. 함수에 instrument 속성을 적용해 함수 호출과 인자를 구간 정보로 연결할 수도 있다.
계측과 수집의 분리
계측 API와 수집 구현을 나누며 실행 프로그램이 구독자를 설치해 자료를 수집한다. tracing-subscriber는 기본적인 출력과 수집 구성을 제공하고 log 메시지도 받아들일 수 있다. Tokio 프로젝트가 관리하지만 Tokio 런타임 사용이 필수는 아니다.
비동기 작업의 맥락
비동기 작업은 대기와 재개를 반복할 수 있으므로 구간에 들어간 상태를 단순히 대기 너머까지 유지하면 맥락이 잘못 기록될 수 있다. instrument 속성이나 Future에 구간을 연결하는 기능으로 작업의 실행에 맞춰 추적 맥락을 다룬다.
관련 문서
Tokio / Thiserror / Anyhow / OpenTelemetry / Rust / 분산 추적