위키득계정 ↗
기술

Tracing Rust

Tracing Rust기술
주요 언어
Rust
주요 역할
구조화된 진단 계측
정보 단위
사건과 실행 구간
수집 인터페이스
Subscriber
Tracing은 Rust 프로그램에서 구조화된 사건과 실행 구간을 기록하는 진단 프레임워크다. 계측 지점에서 정보를 내보내고 구독자가 수집과 출력을 담당하며 비동기 작업에도 실행 맥락을 연결할 수 있다.

사건과 실행 구간

매크로로 개별 사건을 기록하고 필드에 구조화된 값을 담는다. 실행 구간인 span은 작업의 맥락을 나타낸다. 함수에 instrument 속성을 적용해 함수 호출과 인자를 구간 정보로 연결할 수도 있다.

계측과 수집의 분리

계측 API와 수집 구현을 나누며 실행 프로그램이 구독자를 설치해 자료를 수집한다. tracing-subscriber는 기본적인 출력과 수집 구성을 제공하고 log 메시지도 받아들일 수 있다. Tokio 프로젝트가 관리하지만 Tokio 런타임 사용이 필수는 아니다.

비동기 작업의 맥락

비동기 작업은 대기와 재개를 반복할 수 있으므로 구간에 들어간 상태를 단순히 대기 너머까지 유지하면 맥락이 잘못 기록될 수 있다. instrument 속성이나 Future에 구간을 연결하는 기능으로 작업의 실행에 맞춰 추적 맥락을 다룬다.

관련 문서

Tokio / Thiserror / Anyhow / OpenTelemetry / Rust / 분산 추적