<?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="sk">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilovanie</title>
  <section id="system-profiling">
    <title>Ako profilovať váš systém</title>
    <p>Keď aplikácia <app>Sysprof</app> profiluje váš systém, zaznamenáva informácie o zásobníku pre všetky bežiace aplikácie vrátane jadra Linuxu. To môže v prípadoch, kedy chcete sledovať iba jeden proces, pôsobiť dosť mätúco. Ak vaša aplikácia s hostiteľským systémom príliš neinteraguje, môžete dosiahnuť lepšie výsledky tak, že použijete <app>Sysprof</app> na <link href="profiling#new-process-profiling">spustenie nového procesu</link>.</p>

    <p>Aby ste profilovali celý systém, uistite sa, že tlačidlo cieľa je nastavené na <em>Všetky procesy</em> a potom kliknite na <em>Zaznamenať</em>.</p>

    <p>V tomto momente môžete byť vyzvaní na <em>autorizáciu</em> prístupu k profilovaniu systému. Je to potrebné, pretože implementácia perf v jadre Linuxu vyžaduje práva roota pre profilovanie celého systému.</p>

    <p>Počas relácie profilovania uvidíte počet sekúnd, počas ktorých bolo profilovanie aktívne. Opätovným kliknutím na tlačidlo <em>Zaznamenať</em> reláciu ukončíte. Následne sa zobrazí graf volaní (callgraph).</p>

    <note>
      <p>Ak zistíte, že sa aplikácia <app>Sysprof</app> objavuje vo vašom grafe volaní pri profilovaní, zvážte zaznamenanie relácie pomocou príkazového riadka <cmd>sysprof-cli</cmd>. Ide o program príkazového riadka, ktorý zachytí vašu reláciu profilovania na disk pre neskoršie zobrazenie.</p>
    </note>

    <p>Ďalšie pokyny nájdete v sekcii <link href="profiling#interpreting-results">vyhodnocovanie výsledkov</link>.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilovanie nového procesu</title>

    <p>Často budete musieť spustiť nový proces na profilovanie. Najprv vyberte tlačidlo <em>Aplikácia</em> v hornej časti okna nahrávania. Zadajte svoj príkaz a pracovný adresár a prípadne špecifikujte akékoľvek premenné prostredia, ktoré potrebujete. Váš proces sa spustí po začatí nahrávania.</p>

    <note>
      <p>Ak spúšťate proces, ktorý vyžaduje prístup k vašej aktuálnej obrazovke, ako je napríklad aplikácia GTK+, uistite sa, že je nastavená možnosť <em>Zdediť súčasné prostredie</em>.</p>
    </note>

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilovanie pomocou nástroja príkazového riadka sysprof-cli</title>

    <p>Ak chcete minimalizovať preťaženie, zvážte použitie nástroja príkazového riadka <cmd>sysprof-cli</cmd>. Pri spustení bez akýchkoľvek argumentov zaznamená celý váš systém a uloží výstup do súboru <file>capture.syscap</file>. Tento súbor môžete otvoriť v aplikácii <app>Sysprof</app> pre zobrazenie grafu volaní.</p>

    <p>Ak chcete spustiť nový proces, použite príkaz <cmd>sysprof-cli -- 'príkaz'</cmd> na zadanie príkazu, ktorý sa má spustiť. Tento príkaz zdedí aktuálne prostredie.</p>

  </section>

  <section id="interpreting-results">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Vyhodnocovanie výsledkov</title>

    <p>Výsledky profilovania v aplikácii <app>Sysprof</app> sú rozdelené do troch sekcií. Vľavo hore je zoznam všetkých profilovaných funkcií. Sú zoradené podľa počtu volaní počas nahrávania.</p>

    <note>
      <p>Je dôležité si uvedomiť, že sa nezaznamenáva čas strávený v každej funkcii. To by vyžadovalo sledovací profilovač na presné zaznamenávanie. Percentuálny podiel je vypočítaný určením toho, ako často sa daná funkcia objavila v aktuálnom zázname zásobníka (stacktrace) pri každom vzorkovaní.</p>
    </note>

    <p>Po výbere funkcie zo zoznamu funkcií sa vľavo dole zobrazia všetci zaznamenaní volatelia tejto funkcie. Tiež sú zoradené podľa percenta vzoriek, ktoré túto funkciu obsahovali v zázname zásobníka.</p>

    <p>Vpravo sa nachádzajú všetci potomkovia vybranej funkcie. Funkciu môžete vybrať buď zo zoznamu funkcií, alebo zo zoznamu volateľov.</p>

    <note>
      <p>Ak vo výsledkoch uvidíte <em>- - Context Switch - -</em>, znamená to, že sa aplikácia presunula do jadra Linuxu alebo z neho. Môže na tom byť mnoho dôvodov, ako napríklad <em>syscall</em> (volanie systému) alebo <em>signal</em> (signál).</p>
    </note>

  </section>

</page>
