Logiciel : PTT : outil de trace pour la NPTL
Posté par Guillaume Duranceau (). Modéré le 24 avril 2006.
La NPTL (Native POSIX Thread Library) est la bibliothèque de threads [en français, processus légers] incluse en standard dans la glibc. Le support de l'ancienne bibliothèque LinuxThreads n'est maintenant plus assuré.
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...
PTT (POSIX Thread Trace Toolkit) est un outil distribué sous licence LGPL 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.
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.
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.
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...
PTT (POSIX Thread Trace Toolkit) est un outil distribué sous licence LGPL 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.
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.
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.
La page de PTT (738 hits)
Téléchargement de PTT (243 hits)
NPTL (Wikipedia) (373 hits)
> Lire la dépêche (13 commentaires, moyenne: 3,8).
Vous avez demandé le commentaire #704763.




Bravo
Continuez. C'est un outil très efficace!
[^]Re: Bravo
Merci !
Pour ce qui est de "continuez", les outils d'analyse dont il est question à la fin de l'article s'appuyeront sur le fichier de trace généré par PTT pour extraire des informations quantitatives relatives à la contention des threads (temps d'attente global, par thread, impact des différents mutex, semaphores, barrières, conditions) et ainsi mieux comprendre le fonctionnement de l'application, et la manière dont elle peut être optimisée. Toutes les idées sont les bienvenues à ce propos.
Nous espérons également pouvoir convaincre des distributions d'intégrer PTT. Le travail d'intégration de PTT dans la glibc a eu pour but de simplifier au maximum l'effort des mainteneurs potentiels de distributions.
Nous pensons que tels outils de trace sont nécessaires afin d'améliorer la qualité de Linux en répondant à des besoins de nature "industrielle" : un professionnel peut accepter qu'il existe des problèmes dans le système qu'il utilise à condition qu'il ait le moyen de les identifier immédiatement et de les corriger lorsqu'ils se produisent. C'est justement l'objectif d'un outil comme PTT.