<?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="cs">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilování</title>
  <section id="system-profiling">
    <title>Jak profilovat systém</title>
    <p>Když <app>Sysprof</app> profiluje váš systém, zaznamenává informace ze zásobníku pro všechny spuštěné aplikace, včetně linuxového jádra. To může občas mást, hlavně pokud se chcete podívat jen na jeden proces. Jestliže vaše aplikace s hostitelským systémem moc nekomunikuje, můžete získat lepší výsledky použitím <app>Sysprof</app> ke <link href="profiling#new-process-profiling">spuštění nového procesu</link>.</p>

    <p>Aby se profiloval celý systém, nastavte cílové tlačítko na <em>Všechny procesy</em> a klikněte na <em>Záznam</em>.</p>

    <p>V tuto chvíli můžete být požádáni o <em>ověření</em> přístupu k profilování systému. Důvodem je, že implementace perf v linuxovém jádru vyžaduje pro profilování celého systému oprávnění superuživatele.</p>

    <p>Během profilovacího sezení vidíte, kolik sekund je již profilování aktivní. Opětovným kliknutím na <em>Záznam</em> profilovací sezení zastavíte. Po té je zobrazen graf volání.</p>

    <note>
      <p>Jestliže najdete aplikaci <app>sysprof</app> zobrazenou v profilovacím grafu volání, můžete pouvažovat o záznamu profilovacího sezení pomocí <cmd>sysprof-cli</cmd>. Jedná se o program příkazové řádky, který zaznamená profilovací sezení na disk pro pozdější zobrazení.</p>
    </note>

    <p>Hlubší vysvětlené viz <link href="profiling#interpreting-results">interpretace výsledků</link>.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilování nového procesu</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>Jestliže spouštíte proces, který potřebuje přístup k aktuálnímu displeji, jako třeba aplikace GTK+, ujistěte se, že má nastaveno <em>Zdědit aktuální prostředí</em>.</p>
    </note>

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilování pomocí nástroje příkazové řádky sysprof-cli</title>

    <p>Abyste snížili režiji, můžete zvážit použití nástroje příkazové řádky <cmd>sysprof-cli</cmd>. Když jej spustíte bez argumentů, bude zaznamenávat celý systém a výstup ukládat do souboru <file>capture.syscap</file>. Ten pak můžete otevřít v aplikaci <app>Sysprof</app>, která jej zobrazí v podobě grafu volání.</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>Interpretace výsledků</title>

    <p>Výsledky profilování jsou v <app>Sysprof</app> rozdělené do tří částí. Vlevo nahoře je seznam všech profilovaných funkcí. Jsou seřazené podle toho, jak často byly volány během zaznamenávání.</p>

    <note>
      <p>Je důležité si uvědomit, že není podchycené množství času stráveného v jednotlivých funkcích. Jeho přesné zaznamenání by vyžadovalo trasovací profiler. Procenta jsou vypočítána podle toho, jak často se funkce objeví v aktuálním zásobníku volání při záznamu jednotlivých vzorků.</p>
    </note>

    <p>Po vybrání funkce v seznamu funkcí se vlevo dole zobrazí všichni volající této funkce. I ti jsou seřazení podle procentuálního zastoupení vzorků s touto funkcí v zásobníku volání.</p>

    <p>Vpravo se nachází všichni následovníci vybrané funkce. Funkci můžete vybrat buď ze seznamu funkcí nebo seznamu volajících.</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>
