Biblioteca assíncrona de logging e métricas em C++17, com latência ultrabaixa, que adia a formatação e a I/O para uma thread em segundo plano.
hotpath-rs/hotpath
Profiler em Rust que mede gargalos de CPU, memória, async, SQL, HTTP e I/O, com exportação para Prometheus e Grafana.
- Estrelas
- 1,899
- Forks
- 61
- Issues abertas
- 8
- Último commit
- há 20 horas
O que é?
hotpath é um toolkit de profiling para Rust que ajuda a descobrir onde o código gasta tempo, consome CPU e aloca memória. Ele diferencia funções lentas por esperarem em operações de I/O daquelas que exigem muito da CPU e pode instrumentar funções, canais, futures, streams, locks, consultas SQL, chamadas HTTP e I/O no nível de bytes.
O profiling é controlado por features, então as macros de instrumentação viram no-ops, a menos que uma feature como hotpath ou hotpath-alloc esteja habilitada. Os resultados podem ser impressos como um relatório estático quando o programa termina ou visualizados em um dashboard TUI ao vivo. As métricas também podem ser exportadas para Prometheus e Grafana para monitoramento em produção.
O projeto inclui um servidor MCP para que agentes de IA consultem dados de profiling e um comando CLI que configura o profiling em um repositório com um agente de programação.
Recursos principais
- 01Mede o tempo das funções, amostras de CPU e alocações, com relatórios por função.
- 02Acompanha futures, canais e streams assíncronos, incluindo profundidade da fila e latência.
- 03Faz profiling de consultas SQL com sqlx e Diesel e de chamadas HTTP com reqwest e ureq.
- 04Registra latência e erros por rota em servidores axum.
- 05Exporta métricas para o Prometheus e dashboards do Grafana.
- 06Oferece um dashboard TUI ao vivo e um servidor MCP para agentes de IA.
Casos de uso
- Descobrir quais funções consomem mais tempo de CPU ou alocam mais memória em um serviço Rust.
- Diferenciar código lento por esperar em operações de I/O de código limitado pela CPU.
- Diagnosticar contenção de locks ou canais lentos em aplicações assíncronas com Tokio.
- Monitorar a latência de SQL e HTTP em produção com Prometheus e Grafana.
Início rápido
- 1
Instale o CLI do hotpath
cargo install hotpath --version '^0.28' - 2
Peça ao seu agente de IA para configurar o profiling no seu repositório
hotpath init --agent claude - 3
Ou adicione manualmente a dependência hotpath ao Cargo.toml
hotpath = "0.28" - 4
Execute seu programa com o profiling habilitado
cargo run --features='hotpath,hotpath-alloc'
Antes de usar
- As principais APIs públicas são estáveis, mas os formatos internos dos relatórios, os componentes internos de TUI/MCP e as opções avançadas de configuração podem mudar entre versões.
- A instrumentação completa exige adicionar macros e dependências ativadas por feature ao seu próprio código.
Em coleções
Tópicos
Perguntas frequentes
- O que é hotpath?
- Profiler em Rust que mede gargalos de CPU, memória, async, SQL, HTTP e I/O, com exportação para Prometheus e Grafana. hotpath é um toolkit de profiling para Rust que ajuda a descobrir onde o código gasta tempo, consome CPU e aloca memória. Ele diferencia funções lentas por esperarem em operações de I/O daquelas que exigem muito da CPU e pode instrumentar funções, canais, futures, streams, locks, consultas SQL, chamadas HTTP e I/O no nível de bytes.
- hotpath é gratuito? Qual é a licença?
- hotpath é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- hotpath ainda é mantido?
- Manutenção ativa. O último commit de hotpath foi em 21 de out. de 2026.
- Para que posso usar hotpath?
- Descobrir quais funções consomem mais tempo de CPU ou alocam mais memória em um serviço Rust. Diferenciar código lento por esperar em operações de I/O de código limitado pela CPU. Diagnosticar contenção de locks ou canais lentos em aplicações assíncronas com Tokio. Monitorar a latência de SQL e HTTP em produção com Prometheus e Grafana.
- Como instalar hotpath?
- Instale o CLI do hotpath: cargo install hotpath --version '^0.28' Peça ao seu agente de IA para configurar o profiling no seu repositório: hotpath init --agent claude Ou adicione manualmente a dependência hotpath ao Cargo.toml: hotpath = "0.28" Execute seu programa com o profiling habilitado: cargo run --features='hotpath,hotpath-alloc'
- Onde consigo hotpath?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/hotpath-rs/hotpath
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Suíte open source de tracing e profiling com SDKs, daemons de sistema e uma interface web para analisar traces no Android, Linux e Chromium.
Sistema de agregação de logs multi-tenant e horizontalmente escalável que indexa apenas labels, não o conteúdo dos logs, da Grafana Labs.
Cria e gerencia dashboards do Grafana e alertas pré-configurados para serviços e infraestruturas comuns, sem precisar escrever queries manualmente.
Uma interface de terminal (TUI) para visualizar e controlar contêineres Docker, com métricas em tempo real, logs e acesso via exec.
Profiler de memória para Python que rastreia alocações no código Python, em extensões nativas e no interpretador, com vários tipos de relatório.