Repolode
hotpath-rs

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

    Instale o CLI do hotpath

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

    Peça ao seu agente de IA para configurar o profiling no seu repositório

    hotpath init --agent claude
  3. 3

    Ou adicione manualmente a dependência hotpath ao Cargo.toml

    hotpath = "0.28"
  4. 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