ページ内ナビ
概要
tracingはRust programへstructuredな診断情報を埋め込むframeworkです。spanとeventで処理の時間的・因果的な関係を表現し、async taskが同じthread上で混在する環境でも処理の流れを追いやすくします。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
spanとeventへstructured fieldを記録する
tracingは文字列logだけでなく、開始・終了を持つspanと、その内部で発生するeventを記録します。fieldへ型付きの値を持たせられるため、request IDや処理対象などのcontextを診断情報として残せます。
出典:[2]
Subscriberで出力・filter・収集方法をapplication側から選ぶ
instrumentationを行うtracing crateと、収集・formattingを担うSubscriberを分離しています。tracing-subscriberのfmtやfilterを使うほか、用途に応じて別のLayerやcollectorへ接続できます。
出典:[2]
向いている用途
Tokioを含むasync backendのrequest flowや並行taskを追跡したい場合に向く
#[instrument]やFuture::instrumentを使ってasync functionやFutureへspanを関連付けられます。Tokio projectが保守していますが、tracing自体はTokio runtimeを必須としません。
出典:[2]
導入前の確認
参考にした公式資料
- [1]tokio-rs/tracing — GitHub repository(2026-10-06)
- [2]tracing 0.1.44 — README(2026-10-06)
- [3]tracing 0.1.44 — Cargo.toml(2026-10-06)
- [4]tracing 0.1.44 — CHANGELOG(2026-10-06)
編集部からの補足
単なる文字列logではなく、spanの開始・終了とstructured fieldを使ってasync taskの流れを追うための基盤です。library側はSubscriberを固定せずinstrumentationだけを提供し、application側で出力・filterを選ぶ設計が扱いやすいです。
3ステップで試す
- 1
確認済みのtracingを取得する
確認対象のtracing 0.1.44を固定して取得します。Rust 1.65以上とCargoが必要です。
git clone --depth 1 --branch tracing-0.1.44 https://github.com/tokio-rs/tracing.git && cd tracing - 2
公式example packageへ移動する
tracing-subscriberのfmt exampleを含む公式examples packageへ移動します。
cd examples - 3
structured traceを出力する
公式fmt exampleを実行し、spanとeventに付いたfieldがconsoleへstructuredに出力されることを確認します。
cargo run --example fmt
成長
成長の推移 · 直近30日
6,909 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- reqwest11,864 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
async/blocking・JSON・TLS・proxyをまとめて扱うRust向けHTTP client
Rust - Serde10,861 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Rustの型とdata formatを分離してSerialize・Deserializeを共通化する
Rust - SeaORM9,914 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
非同期query・relation・migrationをまとめて扱うRust向けrelational ORM
Rust - Tower4,315 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
ServiceとLayerで再利用可能なミドルウェアを組み合わせるRustネットワーク基盤
Rust - redis-rs4,258 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Redis・Valkeyへsync/asyncで接続するRust client library
Rust - Lapin1,237 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
RabbitMQへAMQP 0-9-1で接続するruntime非依存のasync Rust client
Rust
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。