Repolode
hotpath-rs

hotpath-rs/hotpath

Un profiler de Rust que mide los cuellos de botella de CPU, memoria, async, SQL, HTTP y E/S, con exportación a Prometheus y Grafana.

Estrellas
1,899
Forks
61
Issues abiertos
8
Último commit
hace 20 horas

¿Qué es?

hotpath es un toolkit de profiling para Rust que permite encontrar dónde el código consume tiempo, usa CPU y asigna memoria. Distingue las funciones lentas porque esperan por E/S de las que consumen mucha CPU, y puede instrumentar funciones, canales, futures, streams, locks, consultas SQL, llamadas HTTP y E/S a nivel de bytes.

El profiling está detrás de features, por lo que las macros de instrumentación se compilan como no-ops salvo que se habilite una feature como hotpath o hotpath-alloc. Los resultados pueden mostrarse en un informe estático cuando termina el programa o consultarse en un dashboard TUI en tiempo real. También es posible exportar métricas a Prometheus y Grafana para la monitorización en producción.

El proyecto incluye un servidor MCP para que los agentes de IA consulten los datos de profiling, y un comando CLI que configura el profiling en un repositorio con un agente de programación.

Funciones clave

  • 01Mide el tiempo de ejecución de las funciones, las muestras de CPU y las asignaciones de memoria, con informes por función.
  • 02Supervisa futures, canales y streams async, incluida la profundidad de cola y la latencia.
  • 03Perfila consultas SQL con sqlx y Diesel, y llamadas HTTP con reqwest y ureq.
  • 04Registra la latencia y los errores por ruta en servidores axum.
  • 05Exporta métricas a Prometheus y a dashboards de Grafana.
  • 06Ofrece un dashboard TUI en tiempo real y un servidor MCP para agentes de IA.

Casos de uso

  • Encontrar qué funciones consumen más tiempo de CPU o asignan más memoria en un servicio Rust.
  • Distinguir entre el código lento que espera por E/S y el que está limitado por CPU.
  • Diagnosticar la contención de locks o los canales lentos en aplicaciones async con Tokio.
  • Monitorizar la latencia de SQL y HTTP en producción con Prometheus y Grafana.

Inicio rápido

  1. 1

    Instala el CLI de hotpath

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

    Deja que tu agente de IA configure el profiling en tu repositorio

    hotpath init --agent claude
  3. 3

    O añade manualmente la dependencia hotpath a Cargo.toml

    hotpath = "0.28"
  4. 4

    Ejecuta tu programa con el profiling habilitado

    cargo run --features='hotpath,hotpath-alloc'

Antes de usarlo

  • Las API públicas principales son estables, pero los formatos internos de los informes, los componentes internos de TUI/MCP y las opciones de configuración avanzadas pueden cambiar entre versiones.
  • La instrumentación completa requiere añadir macros y dependencias habilitadas mediante features a tu propio código.

En colecciones

Temas

Preguntas frecuentes

¿Qué es hotpath?
Un profiler de Rust que mide los cuellos de botella de CPU, memoria, async, SQL, HTTP y E/S, con exportación a Prometheus y Grafana. hotpath es un toolkit de profiling para Rust que permite encontrar dónde el código consume tiempo, usa CPU y asigna memoria. Distingue las funciones lentas porque esperan por E/S de las que consumen mucha CPU, y puede instrumentar funciones, canales, futures, streams, locks, consultas SQL, llamadas HTTP y E/S a nivel de bytes.
¿hotpath es gratuito? ¿Qué licencia tiene?
hotpath es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿hotpath sigue mantenido?
Mantenimiento activo. El último commit de hotpath fue el 21 oct 2026.
¿Para qué puedo usar hotpath?
Encontrar qué funciones consumen más tiempo de CPU o asignan más memoria en un servicio Rust. Distinguir entre el código lento que espera por E/S y el que está limitado por CPU. Diagnosticar la contención de locks o los canales lentos en aplicaciones async con Tokio. Monitorizar la latencia de SQL y HTTP en producción con Prometheus y Grafana.
¿Cómo se instala hotpath?
Instala el CLI de hotpath: cargo install hotpath --version '^0.28' Deja que tu agente de IA configure el profiling en tu repositorio: hotpath init --agent claude O añade manualmente la dependencia hotpath a Cargo.toml: hotpath = "0.28" Ejecuta tu programa con el profiling habilitado: cargo run --features='hotpath,hotpath-alloc'
¿Dónde consigo hotpath?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/hotpath-rs/hotpath

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados