Biblioteca asíncrona de logging y métricas en C++17 con latencia ultrabaja que delega el formateo y la E/S a un hilo en segundo plano.
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
Instala el CLI de hotpath
cargo install hotpath --version '^0.28' - 2
Deja que tu agente de IA configure el profiling en tu repositorio
hotpath init --agent claude - 3
O añade manualmente la dependencia hotpath a Cargo.toml
hotpath = "0.28" - 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
Suite open source de tracing y profiling con SDK, daemons del sistema y una interfaz web para analizar trazas en Android, Linux y Chromium.
Sistema de agregación de logs multiinquilino y escalable horizontalmente que indexa solo las etiquetas, no el contenido de los logs. De Grafana Labs.
Crea y administra dashboards de Grafana y alertas preconfiguradas para servicios e infraestructura habituales, sin tener que escribir consultas a mano.
Interfaz de terminal (TUI) para ver y controlar contenedores Docker, con estadísticas en tiempo real, logs y acceso mediante exec.
Un perfilador de memoria para Python que registra las asignaciones en el código Python, las extensiones nativas y el intérprete, y ofrece varios tipos de informes.