Repolode
google

google/pprof

Ferramenta de linha de comando e web para visualizar e analisar dados de profiling no formato profile.proto.

Estrelas
9,323
Forks
686
Issues abertas
64
Último commit
há 3 dias

O que é?

pprof lê coleções de amostras de profiling no formato profile.proto e gera relatórios que ajudam desenvolvedores a entender onde o tempo ou a memória estão sendo gastos. A ferramenta produz relatórios de texto ordenados por hotness, gráficos de chamadas renderizados pelo Graphviz e um shell interativo ou uma interface web para explorar um profile.

Os profiles podem ser carregados de um arquivo local ou obtidos via HTTP, e vários profiles do mesmo tipo podem ser agregados ou comparados. Se um profile contiver endereços de máquina brutos, o pprof pode simbolizá-los usando as ferramentas nativas do binutils addr2line e nm, desde que o binário do programa esteja disponível. Também é possível ler arquivos perf.data do Linux perf usando um conversor complementar.

Instale com go install github.com/google/pprof@latest. O Graphviz é opcional e só é necessário para gerar gráficos. O projeto não é um produto oficial do Google.

Recursos principais

  • 01Gera relatórios de texto com dados de profile ordenados por hotness.
  • 02Produz gráficos de chamadas em SVG renderizados pelo Graphviz.
  • 03Oferece um shell interativo e uma interface web acessada pelo navegador.
  • 04Lê profiles de arquivos locais ou via HTTP.
  • 05Agrega ou compara vários profiles do mesmo tipo.
  • 06Simboliza endereços usando addr2line e nm.

Casos de uso

  • Encontrar gargalos de CPU ou memória em um serviço Go a partir de um profile coletado.
  • Visualizar os gráficos de chamadas de um programa lento para identificar quais caminhos consomem mais tempo.
  • Comparar profiles anteriores e posteriores a uma alteração no código para medir seu impacto.
  • Analisar gravações do Linux perf convertendo-as para o formato profile.proto.

Início rápido

  1. 1

    Instale o kit de desenvolvimento Go e o Graphviz (opcional, para saída gráfica)

  2. 2

    Compile e instale o pprof com Go

    go install github.com/google/pprof@latest
  3. 3

    Gere um relatório de texto do perfil ordenado por nível de atividade

    pprof -top [main_binary] profile.pb.gz

Antes de usar

  • A saída gráfica requer uma instalação separada do Graphviz.

Em coleções

Tópicos

Perguntas frequentes

O que é pprof?
Ferramenta de linha de comando e web para visualizar e analisar dados de profiling no formato profile.proto. pprof lê coleções de amostras de profiling no formato profile.proto e gera relatórios que ajudam desenvolvedores a entender onde o tempo ou a memória estão sendo gastos. A ferramenta produz relatórios de texto ordenados por hotness, gráficos de chamadas renderizados pelo Graphviz e um shell interativo ou uma interface web para explorar um profile.
pprof é gratuito? Qual é a licença?
pprof é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
pprof ainda é mantido?
Manutenção ativa. O último commit de pprof foi em 5 de nov. de 2026.
Para que posso usar pprof?
Encontrar gargalos de CPU ou memória em um serviço Go a partir de um profile coletado. Visualizar os gráficos de chamadas de um programa lento para identificar quais caminhos consomem mais tempo. Comparar profiles anteriores e posteriores a uma alteração no código para medir seu impacto. Analisar gravações do Linux perf convertendo-as para o formato profile.proto.
Como instalar pprof?
Instale o kit de desenvolvimento Go e o Graphviz (opcional, para saída gráfica) Compile e instale o pprof com Go: go install github.com/google/pprof@latest Gere um relatório de texto do perfil ordenado por nível de atividade: pprof -top [main_binary] profile.pb.gz
Onde consigo pprof?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/pprof

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados