Repolode
hotpath-rs

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

    hotpath CLIをインストールする

    cargo install hotpath --version '^0.28'
  2. 2

    AIエージェントにリポジトリでのプロファイリング設定を任せる

    hotpath init --agent claude
  3. 3

    または、Cargo.tomlにhotpath依存関係を手動で追加する

    hotpath = "0.28"
  4. 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 の数値は毎日更新されます。

関連プロジェクト