フォーマットとI/Oをバックグラウンドスレッドに委ねる、超低レイテンシの非同期C++17ロギング・メトリクスライブラリ。
hotpath-rs/hotpath
CPU、メモリ、非同期処理、SQL、HTTP、I/Oのボトルネックを計測し、PrometheusやGrafanaにエクスポートできるRustプロファイラ。
- スター
- 1,899
- フォーク
- 61
- 未解決の Issue
- 8
- 最終コミット
- 20 時間前
これは何?
hotpathは、コードがどこで時間を費やし、CPUを消費し、メモリを確保しているかを特定するためのRustプロファイリングツールキットです。I/O待ちが原因で遅い関数と、CPU負荷の高い関数を見分けられます。また、関数、チャネル、future、ストリーム、ロック、SQLクエリ、HTTP呼び出し、バイト単位のI/Oを計測できます。
プロファイリングはfeatureで有効化する仕組みになっており、hotpathやhotpath-allocなどのfeatureを有効にしない限り、計測用マクロは何もしないコードにコンパイルされます。プログラム終了時に静的なレポートを出力するほか、TUIのライブダッシュボードで結果を確認できます。本番環境の監視向けに、メトリクスをPrometheusやGrafanaへエクスポートすることもできます。
このプロジェクトには、AIエージェントからプロファイリングデータを照会できるMCPサーバーと、コーディングエージェントを使ってリポジトリにプロファイリングを設定するCLIコマンドも含まれています。
主な機能
- 01関数の実行時間、CPUサンプル、メモリ確保を計測し、関数ごとのレポートを作成します。
- 02非同期future、チャネル、ストリームを追跡し、キューの深さやレイテンシも計測します。
- 03sqlxとDieselのSQLクエリ、およびreqwestとureqのHTTP呼び出しをプロファイリングします。
- 04axumサーバーのルートごとのレイテンシとエラーを記録します。
- 05メトリクスをPrometheusやGrafanaのダッシュボードにエクスポートします。
- 06TUIのライブダッシュボードと、AIエージェント向けのMCPサーバーを提供します。
ユースケース
- Rustサービスで、CPU時間の大半を占める関数や、最も多くメモリを確保する関数を特定する。
- I/O待ちで遅いコードと、CPU負荷が原因で遅いコードを見分ける。
- 非同期Tokioアプリケーションで、ロック競合やチャネルの遅延を診断する。
- PrometheusやGrafanaを通じて、本番環境のSQLやHTTPのレイテンシを監視する。
クイックスタート
- 1
hotpath CLIをインストールする
cargo install hotpath --version '^0.28' - 2
AIエージェントにリポジトリでのプロファイリング設定を任せる
hotpath init --agent claude - 3
または、Cargo.tomlにhotpath依存関係を手動で追加する
hotpath = "0.28" - 4
プロファイリングを有効にしてプログラムを実行する
cargo run --features='hotpath,hotpath-alloc'
使う前に知っておきたいこと
- コアの公開APIは安定していますが、内部レポート形式、TUI/MCPの内部仕様、高度な設定オプションはリリース間で変更される場合があります。
- 完全な計測には、機能フラグ付きのマクロと依存関係を自分のコードに追加する必要があります。
収録されている特集
トピック
よくある質問
- hotpath とは?
- CPU、メモリ、非同期処理、SQL、HTTP、I/Oのボトルネックを計測し、PrometheusやGrafanaにエクスポートできるRustプロファイラ。 hotpathは、コードがどこで時間を費やし、CPUを消費し、メモリを確保しているかを特定するためのRustプロファイリングツールキットです。I/O待ちが原因で遅い関数と、CPU負荷の高い関数を見分けられます。また、関数、チャネル、future、ストリーム、ロック、SQLクエリ、HTTP呼び出し、バイト単位のI/Oを計測できます。
- hotpath は無料で使えますか?ライセンスは?
- hotpath は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hotpath は今もメンテナンスされていますか?
- 活発にメンテナンス中。hotpath の最終コミットは 2026年10月21日 です。
- hotpath は何に使えますか?
- Rustサービスで、CPU時間の大半を占める関数や、最も多くメモリを確保する関数を特定する。 I/O待ちで遅いコードと、CPU負荷が原因で遅いコードを見分ける。 非同期Tokioアプリケーションで、ロック競合やチャネルの遅延を診断する。 PrometheusやGrafanaを通じて、本番環境のSQLやHTTPのレイテンシを監視する。
- hotpath のインストール方法は?
- hotpath CLIをインストールする: cargo install hotpath --version '^0.28' AIエージェントにリポジトリでのプロファイリング設定を任せる: hotpath init --agent claude または、Cargo.tomlにhotpath依存関係を手動で追加する: hotpath = "0.28" プロファイリングを有効にしてプログラムを実行する: cargo run --features='hotpath,hotpath-alloc'
- hotpath はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/hotpath-rs/hotpath
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Android、Linux、Chromiumのトレース分析に使える、SDK、システムデーモン、ブラウザベースのUIを備えたオープンソースのトレーシング・プロファイリングスイート。
Grafana Labsが開発する、ラベルのみをインデックス化してログ本文はインデックス化しない、水平スケーラブルなマルチテナント対応ログ集約システム。
よく使われるサービスやインフラ向けのGrafanaダッシュボードと初期設定済みアラートを作成・管理し、クエリを手書きする手間を省きます。
Dockerコンテナをライブ統計、ログ、execアクセス付きで表示・操作できるTUI。
Pythonコード、ネイティブ拡張、インタープリターのメモリ割り当てを追跡し、複数形式のレポートを生成するPython用メモリプロファイラーです。