tag:linuxfr.org,2005:/users/gduranceauLinuxFr.org : les contenus de Guillaume Duranceau2006-06-30T12:17:05+02:00/favicon.pngtag:linuxfr.org,2005:News/210352006-06-30T12:17:05+02:002006-06-30T12:17:05+02:00PTT 1.0 : outil de trace pour la NPTL<div>PTT (<i>POSIX Thread Trace Toolkit</i>) est un outil distribué sous licence <a href="http://fr.wikipedia.org/wiki/LGPL">LGPL</a> ayant pour but de simplifier le débogage ainsi que l'optimisation d'applications multithreadées utilisant la <a href="http://en.wikipedia.org/wiki/NPTL">NPTL</a> (<i>Native POSIX Thread Library</i>) sous Linux. La version 1.0 de cet outil est disponible sur <a href="http://sourceforge.net/projects/nptltracetool/">SourceForge</a>.
<br />
<br />
Depuis la sortie de la version 0.10.0 (voir <a href="http://linuxfr.org/2006/04/24/20716.html">cette dépêche</a> à ce sujet), PTT s'est enrichi d'un nouvel outil permettant de mesurer la contention durant l'exécution des applications. Cet outil permet entre autre de lister les objets (mutex, sémaphores...) les plus contendants ou de fournir la durée des périodes d'attente pour chaque thread. L'analyse de ces informations est une aide précieuse pour identifier les goulots d'étranglement dans un programme et permettre au développeur de focaliser ses efforts d'optimisation sur les parties du code réellement critique.</div><ul><li>lien nᵒ 1 : <a title="http://nptltracetool.sourceforge.net/" hreflang="en" href="https://linuxfr.org/redirect/47585">La page de PTT</a></li><li>lien nᵒ 2 : <a title="http://sourceforge.net/projects/nptltracetool/" hreflang="en" href="https://linuxfr.org/redirect/47586">Téléchargement de PTT</a></li><li>lien nᵒ 3 : <a title="http://en.wikipedia.org/wiki/NPTL" hreflang="en" href="https://linuxfr.org/redirect/47587">NPTL (Wikipedia)</a></li></ul><div></div><div><a href="https://linuxfr.org/news/ptt-10-outil-de-trace-pour-la-nptl.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/20348/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/ptt-10-outil-de-trace-pour-la-nptl#comments">ouvrir dans le navigateur</a>
</p>
Guillaume Duranceauhttps://linuxfr.org/nodes/20348/comments.atomtag:linuxfr.org,2005:News/207162006-04-24T22:27:08+02:002006-04-24T22:27:08+02:00PTT : outil de trace pour la NPTL<div>La <a href="http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library">NPTL</a> (Native <a href="http://fr.wikipedia.org/wiki/POSIX">POSIX</a> Thread Library) est la bibliothèque de threads [en français, <a href="http://fr.wikipedia.org/wiki/Processus_l%C3%A9ger">processus légers</a>] incluse en standard dans la <a href="http://en.wikipedia.org/wiki/GNU_C_Library">glibc</a>. Le support de l'ancienne bibliothèque LinuxThreads n'est maintenant plus assuré.
<br />
Le processus de débogage d'une application multi-threadée utilisant la NPTL est souvent complexe : bugs non reproductibles, dépendants de la charge du système et du nombre de CPUs, emploi de débogueurs modifiant la dynamique de l'application et donc son comportement...
<br />
<br />
PTT (POSIX Thread Trace Toolkit) est un outil distribué sous licence <a href="http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_limit%C3%A9e_GNU">LGPL</a> ayant pour but de faciliter l'analyse et le débogage d'applications multithreadées utilisant la NPTL. Il permet de tracer les évènements internes de la NPTL (entrées/sorties des routines, prises et relâchements de verrous...) tout en ayant un impact très faible sur les performances.
<br />
PTT est fourni sous la forme d'un patch pour la glibc et d'outils de récupération et d'analyse des traces. Son utilisation ne nécessite pas les droits de super-utilisateur et n'altère en rien le noyau ou les librairies du système.
<br />
<br />
La nouvelle version 0.10.0 de cet outil est disponible sur SourceForge. Les processus d'installation et d'utilisation ont été grandement simplifiés.</div><ul><li>lien nᵒ 1 : <a title="http://nptltracetool.sourceforge.net/" hreflang="en" href="https://linuxfr.org/redirect/46650">La page de PTT</a></li><li>lien nᵒ 2 : <a title="http://sourceforge.net/projects/nptltracetool/" hreflang="en" href="https://linuxfr.org/redirect/46651">Téléchargement de PTT</a></li><li>lien nᵒ 3 : <a title="http://en.wikipedia.org/wiki/NPTL" hreflang="en" href="https://linuxfr.org/redirect/46652">NPTL (Wikipedia)</a></li></ul><div>PTT fonctionne sur plusieurs types d'architectures 32 et 64 bits (en particulier ia32, ia64 et PowerPC).
<br />
<br />
Une application multithreadée peut être tracée sans qu'une recompilation ne soit nécessaire. Un fichier binaire contenant l'enregistrement des évènements de la NPTL est construit pendant le processus de traçage. Une fois l'application terminée, ce fichier peut être traduit sous la forme d'un fichier texte directement lisible, d'un fichier facilement "parsable" par des outils classiques (grep, awk...) ou d'un fichier permettant une visualisation sous forme graphique par l'intermédiaire du logiciel <a href="http://www-id.imag.fr/Logiciels/paje/">Pajé</a>.
<br />
<br />
PTT possède les caractéristiques suivantes :<ul><li>permet à plusieurs personnes de tracer différents programmes en même temps;
<br />
</li><li>supporte de gros volumes de traces pour des applications s'exécutant pendant de longues durées (heures, jours) avant qu'un problème ne survienne;
<br />
</li><li>sélection dynamique du niveau de trace
<br />
</li><li>filtrage des traces suivant plusieurs critères (types d'objets, d'évènements, dates...);
<br />
</li><li>supporte les applications effectuant des "fork" afin de tracer les processus fils;
<br />
</li><li>gère les terminaisons anormales des applications (interruptions, crash...);
<br />
</li><li>préserve la conformité avec la norme POSIX.</li></ul>
<br />
Le patch de la glibc fourni avec PTT:<ul><li>insère les points de trace dans les routines de la NPTL;
<br />
</li><li>fournit un module permettant de récolter ces traces;
<br />
</li><li>modifie les fichiers de configuration de la glibc, permettant ainsi de construire une version de la glibc sans aucune modification, et la version ajoutant les points de trace (./configure --with-ptt).</li></ul>
<br />
Il est également prévu de fournir des outils d'analyse statistique et de performance des applications tracées.</div><div><a href="https://linuxfr.org/news/ptt-outil-de-trace-pour-la-nptl.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/20029/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/ptt-outil-de-trace-pour-la-nptl#comments">ouvrir dans le navigateur</a>
</p>
Guillaume Duranceauhttps://linuxfr.org/nodes/20029/comments.atom