Rechercher

Chapitre 27. Ajouter et supprimer des tracepoints d'un collecteur de perf en cours d'exécution sans arrêter ou redémarrer perf

download PDF

En utilisant l'interface du tuyau de contrôle pour activer et désactiver différents points de traçage dans un collecteur perf en cours d'exécution, vous pouvez ajuster dynamiquement les données que vous collectez sans avoir à arrêter ou à redémarrer perf. Vous êtes ainsi assuré de ne pas perdre les données de performance qui auraient été enregistrées pendant le processus d'arrêt ou de redémarrage.

27.1. Ajouter des tracepoints à un collecteur perf en cours d'exécution sans arrêter ou redémarrer perf

Ajoutez des tracepoints à un collecteur perf en cours d'exécution à l'aide de l'interface du tuyau de contrôle pour ajuster les données que vous enregistrez sans avoir à arrêter perf et à perdre des données de performance.

Conditions préalables

Procédure

  1. Configurer l'interface de la conduite de contrôle :

    # mkfifo control ack perf.pipe
  2. Lancez perf record avec la configuration du fichier de contrôle et les événements que vous souhaitez activer :

    # perf record --control=fifo:control,ack -D -1 --no-buffering -e 'sched:*' -o - > perf.pipe

    Dans cet exemple, la déclaration de 'sched:*' après l'option -e lance perf record avec les événements de l'ordonnanceur.

  3. Dans un second terminal, démarrez le côté lecture du tuyau de contrôle :

    # cat perf.pipe | perf --no-pager script -i -

    Le démarrage de la partie lecture du tube de contrôle déclenche le message suivant dans le premier terminal :

    Events disabled
  4. Dans un troisième terminal, activez un point de contrôle à l'aide du fichier de contrôle :

    # echo 'enable sched:sched_process_fork' > control

    Cette commande déclenche l'analyse par perf de la liste des événements en cours dans le fichier de contrôle, à la recherche de l'événement déclaré. Si l'événement est présent, le point de contrôle est activé et le message suivant apparaît dans le premier terminal :

    event sched:sched_process_fork enabled

    Une fois le point de contrôle activé, le second terminal affiche la sortie de perf détectant le point de contrôle :

    bash 33349 [034] 149587.674295: sched:sched_process_fork: comm=bash pid=33349 child_comm=bash child_pid=34056
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.