<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="profiling" xml:lang="pt_BR">
    <info>
      <link type="guide" xref="index#profiling"/>
    
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Rafael Fontenelle</mal:name>
      <mal:email>rafaelff@gnome.org</mal:email>
      <mal:years>2016-2018</mal:years>
    </mal:credit>
  </info>
    <title>Perfilamento</title>
  <section id="system-profiling">
    <title>Como perfilar seus sistema</title>
    <p>Quando <app>Sysprof</app> 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 <app>Sysprof</app> para <link href="profiling#new-process-profiling">criar um novo processo</link>.</p>

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

    <p>Neste momento, você pode ter que <em>autorizar</em> 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.</p>

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

    <note>
      <p>Se você descobrir que o aplicativo <app>sysprof</app> está mostrando seu gráfico de chamadas de perfilamento, você pode considerar realizar a gravação da sessão de perfilamento com <cmd>sysprof-cli</cmd>. 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.</p>
    </note>

    <p>Veja <link href="profiling#interpreting-results">interpretando resultados</link> para mais direcionamento.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Perfilando um novo processo</title>

    <p>Often times, you may need to spawn a new process to profile.
First, select the <em>Application</em> button next at the top of the
recording window. Fill in your command and working directory, and optionally
specify any environment variables you need. Your process will be started
when recording begins.</p>

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

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Perfilando com a ferramenta de linha de comando sysprof-cli</title>

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

    <p>If you would like to spawn a new process, use <cmd>sysprof-cli --
'command'</cmd> to specify a command to be launched. The command will inherit
the current environment.</p>

  </section>

  <section id="interpreting-results">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Interpretando os resultados</title>

    <p>Os resultados de perfilamento no <app>Sysprof</app> 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.</p>

    <note>
      <p>É 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.</p>
    </note>

    <p>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.</p>

    <p>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.</p>

    <note>
      <p>If you see <em>- - Context Switch - -</em> in your results, that means that the
application transitioned into or from the Linux kernel. There can be many reasons
for this such as a <em>syscall</em> or <em>signal</em>.</p>
    </note>

  </section>

</page>
