<?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="fr">
    <info>
      <link type="guide" xref="index#profiling"/>
    
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Julien Hardelin,</mal:name>
      <mal:email>jhardlin@orange.fr</mal:email>
      <mal:years>2016</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Vincent Chatelain,</mal:name>
      <mal:email>vinchatl_gnome@proton.me</mal:email>
      <mal:years>2024&gt;</mal:years>
    </mal:credit>
  </info>
    <title>Profilage</title>
  <section id="system-profiling">
    <title>Profiler votre système</title>
    <p>Quand <app>Sysprof</app> effectue le profilage de votre système, il enregistre les informations de toutes les applications en cours d’exécution, y compris au niveau du noyau Linux. Cela peut être déconcertant si vous ne voulez surveiller qu’un seul processus. Si l’application interagit peu avec le système hôte, vous serez plus à l’aise en utilisant le <link href="profiling#new-process-profiling">profilage d’un nouveau processus</link>.</p>

    <p>Pour profiler votre système entier, assurez-vous que le bouton cible indique <em>Tous les processus</em> et cliquez sur <em>Capturer</em>.</p>

    <p>A ce moment là, une <em>autorisation</em> vous sera peut-être demandée pour profiler le système. En effet, le fonctionnement du noyau Linux nécessite d’être « root » pour effectuer un profilage du système entier.</p>

    <p>Pendant la session de profilage, la durée de capture est affichée en secondes. Cliquer à nouveau sur le bouton <em>Capturer</em> permet d’arrêter la session. Après quoi, l’arborescence d’appels s’affiche.</p>

    <note>
      <p>Si l’application <app>Sysprof</app> apparaît dans votre arborescence d’appels du profilage, pensez à capturer les données de la session de profilage avec <cmd>sysprof-cli</cmd>. C’est un programme par ligne de commande qui enregistre directement la capture sur le disque afin de la consulter plus tard.</p>
    </note>

    <p>Reportez-vous à <link href="profiling#interpreting-results">Interprétation des résultats</link> pour plus d’informations.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profiler un nouveau processus</title>

    <p>La plupart du temps, vous aurez besoin de créer un nouveau processus à profiler. Cliquez d’abord sur le bouton <em>Application</em> situé en haut de la fenêtre de capture. Renseignez la commande à exécuter ainsi que le répertoire de travail, puis déclarez si besoin les variables d’environnement nécessaires. Votre processus sera démarré au début de la capture.</p>

    <note>
      <p>Si vous créez un processus nécessitant l’accès à l’affichage actuel, comme une application GTK+, assurez-vous que l’option <em>Hériter l’environnement actuel</em> est activée.</p>
    </note>

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Profilage avec l’outil en ligne de commande sysprof-cli</title>

    <p>Pour une charge opérationnelle minimale, pensez à utiliser l’outil en ligne de commande <em>sysprof-cli</em>. Quand il est exécuté sans paramètres, il capture les données de tout votre système et enregistre la sortie dans le fichier <file>capture.syscap</file>. Ce fichier peut être ouvert avec <app>SysProf</app> pour visualiser le graphe des appels.</p>

    <p>Si vous désirez créer un nouveau processus, utilisez la commande <cmd>sysprof-cli -- ‘commande’</cmd> pour indiquer la commande à lancer. La commande héritera de l’environnement actuel.</p>

  </section>

  <section id="interpreting-results">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Interprétation des résultats</title>

    <p>Les résultats du profilage dans <app>SysProf</app> sont divisés en trois sections. En haut à gauche se trouve une liste de toutes les fonctions profilées. Elles sont triées selon leur fréquence d’appel pendant le recueil de données.</p>

    <note>
      <p>Il est important de remarquer que la durée passée dans chaque fonction n’est pas capturée. La recueillir avec précision nécessiterait l’utilisation d’un profileur par suivi d’appels. Le pourcentage est calculé d’après la fréquence d’apparition de la fonction dans la trace d’appels courante lors du recueil d’un échantillon.</p>
    </note>

    <p>Après avoir sélectionné une fonction dans la liste des fonctions, tous les appelants de cette fonction enregistrés sont affichés en bas à gauche. Ils sont aussi triés selon le pourcentage d’échantillons incluant cette fonction dans la trace d’appels.</p>

    <p>À droite se trouvent tous les descendants d’une fonction sélectionnée. Vous pouvez choisir une fonction dans la liste des fonctions ou dans la liste des appelants.</p>

    <note>
      <p>Si vous voyez <em>- - Changement de contexte - -</em> dans les résultats, cela signifie que l’application est passée de l’application au noyau Linux ou inversement. Plusieurs raisons existent à cela, comme un <em>syscall</em> ou un <em>signal</em>.</p>
    </note>

  </section>

</page>
