OSS探訪GitHubでログイン

spanとeventでasync処理の因果関係を記録するRust向け診断基盤

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
6,909
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/05/30
ページ内ナビ

概要

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]

導入前の確認

async span guardの扱いと0.1/0.2 branchを混同しない

async blockをまたいでSpan::enterのguardを保持すると不正確なtraceになるため、#[instrument]やFuture::instrumentを使う必要があります。安定版0.1.44のMSRVはRust 1.65で、v0.2.x branchは未リリース系として分離されています。

出典:[2][3][4]

参考にした公式資料

  1. [1]tokio-rs/tracing — GitHub repository(2026-10-06)
  2. [2]tracing 0.1.44 — README(2026-10-06)
  3. [3]tracing 0.1.44 — Cargo.toml(2026-10-06)
  4. [4]tracing 0.1.44 — CHANGELOG(2026-10-06)
編集部からの補足

単なる文字列logではなく、spanの開始・終了とstructured fieldを使ってasync taskの流れを追うための基盤です。library側はSubscriberを固定せずinstrumentationだけを提供し、application側で出力・filterを選ぶ設計が扱いやすいです。

3ステップで試す

  1. 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. 2

    公式example packageへ移動する

    tracing-subscriberのfmt exampleを含む公式examples packageへ移動します。

    cd examples
  3. 3

    structured traceを出力する

    公式fmt exampleを実行し、spanとeventに付いたfieldがconsoleへstructuredに出力されることを確認します。

    cargo run --example fmt
公式READMEで確認

成長

成長の推移 · 直近30日

6,909 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • diagnostics
  • logging
  • logging-and-metrics
  • logging-facade
  • logging-library
  • rust
  • rust-lang
  • tracing
Stars
6,909
Forks
945
Watchers
53
Open Issues
901
Contributors
305
所有者種別
Organization
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/05/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?