<?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="pl">
    <info>
      <link type="guide" xref="index#profiling"/>
    
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Piotr Drąg</mal:name>
      <mal:email>piotrdrag@gmail.com</mal:email>
      <mal:years>2017-2019</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Aviary.pl</mal:name>
      <mal:email>community-poland@mozilla.org</mal:email>
      <mal:years>2017-2019</mal:years>
    </mal:credit>
  </info>
    <title>Profilowanie</title>
  <section id="system-profiling">
    <title>Jak profilować system</title>
    <p>Profilując system, program <app>Sysprof</app> nagrywa informacje o stosie dla wszystkich wykonywanych programów, w tym jądra Linux. Może to przeszkadzać, jeśli badany jest tylko jeden proces. Jeśli dany program nie korzysta za bardzo z systemu, to lepiej użyć programu <app>Sysprof</app> do <link href="profiling#new-process-profiling">wywołania nowego procesu</link>.</p>

    <p>Aby profilować cały system, wybierz <em>Wszystkie procesy</em> i kliknij <em>Nagrywaj</em>.</p>

    <p>Na tym etapie może pojawić się prośba o <em>upoważnienie</em> dostępu do profilowania systemu. Jest to wymagane, ponieważ implementacja „perf” jądra Linux wymaga uprawnień roota do profilowania całego systemu.</p>

    <p>Podczas sesji profilowania wyświetlane będą sekundy aktywności. Ponowne kliknięcie przycisku <em>Nagrywaj</em> zatrzyma sesję. Po jej ukończeniu wyświetlony zostanie wykres wywołań.</p>

    <note>
      <p>Jeśli program <app>sysprof</app> pojawi się na wykresie, to należy rozważyć nagrywanie sesji profilowania za pomocą programu <cmd>sysprof-cli</cmd>. To program wiersza poleceń, który zapisze sesję na dysku do przejrzenia później.</p>
    </note>

    <p><link href="profiling#interpreting-results">Interpretacja wyników</link> zawiera więcej informacji.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilowanie nowego 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>Jeśli wywoływany jest proces wymagający dostępu do bieżącego ekranu, taki jak program GTK, to ustaw opcję <em>Dziedziczenie obecnego środowiska</em>.</p>
    </note>

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilowanie za pomocą narzędzia wiersza poleceń sysprof-cli</title>

    <p>Narzędzie wiersza poleceń <cmd>sysprof-cli</cmd> używa jak najmniej zasobów komputera. Po wykonaniu bez parametrów nagra cały system i zapisze wyjście w pliku <file>capture.syscap</file>, który można otworzyć za pomocą programu <app>Sysprof</app>, aby wyświetlić wykres wywołań.</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>Interpretacja wyników</title>

    <p>Wyniki profilowania w programie <app>Sysprof</app> są podzielone na trzy sekcje. Na górze po lewej znajduje się lista wszystkich profilowanych funkcji. Są one uporządkowane według częstości wywołania podczas nagrywania.</p>

    <note>
      <p>Warto zauważyć, że czas spędzony w każdej funkcji nie jest przechwytywany. Tak dokładne nagrywanie wymagałoby profilera śledzącego. Procent jest obliczany przez określanie częstości pojawienia się funkcji w bieżącym śledzeniu stosu podczas nagrywania próbki.</p>
    </note>

    <p>Po wybraniu funkcji z listy wszystkie nagrane wywołania tej funkcji zostaną wyświetlone na dole po lewej. One także są uporządkowane według procentu próbek, które zawierają tę funkcję w śledzeniu stosu.</p>

    <p>Po prawej znajdują się wszystkie elementy potomne wybranej funkcji. Można wybrać funkcję z listy funkcji lub z listy wywołań.</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>
