Rafael Fontenelle
rafaelff@gnome.org 2016-2018
Leônidas Araújo
leorusvellt@hotmail.com 2022-2024

# Perfilamento

# Como perfilar seus sistema

Quando Sysprof perfila seu sistema, ele grava informações da pilha de todos os aplicativos em execução, incluindo o kernel Linux. Isso pode, em alguns casos, ser confuso, se você deseja apenas olhar um único processo. Se o aplicativo não interage muito com o sistema hospedeiro, você pode obter mais sucesso usando o Sysprof para criar um novo processo.

Para perfilar todo o seu sistema, certifique-se que o botão do alvo esteja definido para Todos processos e clique em Gravar.

Neste momento, você pode ter que autorizar acesso ao perfilador do sistema. Isso é necessário, pois a implementação do perf do kernel Linux requer as permissões do “root” para realizar perfilamento de todo o sistema.

Durante a sessão de perfilamento, você verá o número de segundos que o perfil está ativo. Clicando no botão Gravar novamente irá parar a sessão de perfilamento. Então, o gráfico de chamadas será exibido.

Se você descobrir que o aplicativo sysprof está mostrando seu gráfico de chamadas de perfilamento, você pode considerar realizar a gravação da sessão de perfilamento com sysprof-cli. Este é um programa de linha de comando que vai capturar sua sessão de perfilamento para o disco para ser visto em outra ocasião.

Veja interpretando resultados para mais direcionamento.

# Perfilando um novo processo

Muitas vezes, pode ser necessário gerar um novo processo para criar o perfil. Primeiro, selecione o botão Aplicativo próximo ao topo da janela de gravação. Preencha seu comando e diretório de trabalho e, opcionalmente, especifique quaisquer variáveis de ambiente necessárias. Seu processo será iniciado quando a gravação começar.

Se você está iniciando um processo que requer acesso à sua exibição atual, tal como um aplicativo GTK+, é melhor se certificar de que Herdar o ambiente atual esteja definido.

# Perfilando com a ferramenta de linha de comando sysprof-cli

Para uma sobrecarga mínima, você pode considerar o uso da ferramenta de linha de comando sysprof-cli. Quando executado sem argumentos, ele vai gravar todo o seu sistema e salvar a saída para capture.syscap. Esse arquivo pode ser aberto com o aplicativo Sysprof para visualizar o gráfico de chamadas.

Se você quiser gerar um novo processo, use sysprof-cli -- 'command' para especificar um comando a ser iniciado. O comando herdará o ambiente atual.

# Interpretando os resultados

Os resultados de perfilamento no Sysprof estão divididos em três seções. No canto superior esquerdo está uma lista de todas as funções perfiladas. Elas estão ordenadas pela frequência em que elas foram chamadas durante a gravação.

É importante notar que a quantidade de tempo dispendida para cada função não é capturada. Para isto, seria necessário um perfilador de rastreamento para gravar com precisão. A porcentagem é calculada determinando a frequência que aquela função apareceu no rastreamento de pilha atual quando a amostra foi gravada.

Após selecionar uma função a partir da lista de funções, todos os chamadores gravados daquela função serão exibidos no canto inferior esquerdo. Eles também são ordenados pela porcentagem de amostras, o que inclui aquela função no rastreamento de pilha.

Na direita, estão todos os descendentes de uma função selecionada. Você pode selecionar uma função da lista de funções ou da lista de chamadores.

Se você vir - - Context Switch - - em seus resultados, isso significa que o aplicativo fez a transição para ou do kernel do Linux. Pode haver vários motivos para isso, como um syscall ou um signal.