Repolode
hotpath-rs

hotpath-rs/hotpath

一款 Rust 性能分析工具,可定位 CPU、内存、异步、SQL、HTTP 和 I/O 瓶颈,并支持导出到 Prometheus 与 Grafana。

Star
1,899
Fork
61
未关闭 Issue
8
最近提交
20小时前

这是什么?

hotpath 是一款 Rust 性能分析工具包,用于找出代码耗时、占用 CPU 和分配内存的位置。它能区分因等待 I/O 而变慢的函数与真正 CPU 密集的函数,可对函数、channel、future、stream、锁、SQL 查询、HTTP 调用以及字节级 I/O 进行埋点。

性能分析通过 feature 开关控制,除非启用 hotpath 或 hotpath-alloc 等 feature,埋点宏都会编译为空操作。结果可以在程序退出时输出静态报告,也可以在实时 TUI 面板中查看。指标还能导出到 Prometheus 和 Grafana,用于生产环境监控。

项目提供 MCP 服务,方便 AI 代理实时查询分析数据,并提供命令行工具,可借助编码代理在仓库中完成配置。

核心功能

  • 01统计函数耗时、CPU 采样和内存分配,并按函数生成报告。
  • 02追踪 future、channel 和 stream,包括队列深度与延迟。
  • 03分析 sqlx 和 Diesel 的 SQL 查询,以及 reqwest 和 ureq 的 HTTP 调用。
  • 04记录 axum 服务端各路由的响应时间与错误。
  • 05将指标导出到 Prometheus,并用于 Grafana 仪表盘。
  • 06提供实时 TUI 面板,以及供 AI 代理使用的 MCP 服务。

适用场景

  • 定位 Rust 服务中占用 CPU 时间或内存分配最多的函数。
  • 区分因 I/O 等待导致的慢与 CPU 密集型的慢。
  • 排查 Tokio 异步应用中的锁竞争或 channel 阻塞。
  • 通过 Prometheus 和 Grafana 监控生产环境的 SQL 与 HTTP 延迟。

快速上手

  1. 1

    安装 hotpath 命令行工具

    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 已稳定,但 JSON 报告格式、TUI/MCP 内部实现及高级配置选项可能在版本间变化。
  • 完整的插桩需要在你自己的代码中添加受功能开关控制的宏和依赖。

收录于专题

标签

常见问题

hotpath 是什么?
一款 Rust 性能分析工具,可定位 CPU、内存、异步、SQL、HTTP 和 I/O 瓶颈,并支持导出到 Prometheus 与 Grafana。 hotpath 是一款 Rust 性能分析工具包,用于找出代码耗时、占用 CPU 和分配内存的位置。它能区分因等待 I/O 而变慢的函数与真正 CPU 密集的函数,可对函数、channel、future、stream、锁、SQL 查询、HTTP 调用以及字节级 I/O 进行埋点。
hotpath 可以免费使用吗?用的什么许可证?
hotpath 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
hotpath 还在维护吗?
活跃维护中。hotpath 最近一次提交是在 2026年10月21日。
hotpath 适合用来做什么?
定位 Rust 服务中占用 CPU 时间或内存分配最多的函数。 区分因 I/O 等待导致的慢与 CPU 密集型的慢。 排查 Tokio 异步应用中的锁竞争或 channel 阻塞。 通过 Prometheus 和 Grafana 监控生产环境的 SQL 与 HTTP 延迟。
hotpath 怎么安装和运行?
安装 hotpath 命令行工具: 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目