Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
Including a NPTL Trace Tool in Suse
  • From: Guillaume Duranceau <guillaume.duranceau@xxxxxxxx>
  • Date: Mon, 24 Apr 2006 17:01:50 +0200
  • Message-id: <200604241701.50808.guillaume.duranceau@xxxxxxxx>
Hi everybody,

I'm currently working on an opensource project that aims to trace NPTL
routines in order to help users to analyze and understand performance
problems and/or debug their multi-threaded applications. This tool, named PTT
(Posix Thread Trace Toolkit), shows NPTL routines calls and exits, as well as
internal mechanisms details of the library, with a very low impact on
performance. PTT can save a lot of time when debugging complex (or even
simpler) multi-threaded programs that don't behave as expected.

A multi-threaded application can be traced without being recompiling. A binary
file recording NPTL events is built by PTT while tracing. Once the
application is dead, this binary file is translated into a text file that can
be read manually or parsed by another program to extract useful information.

To trace NPTL, PTT comes with a patch for the glibc that:
- inserts trace points into NPTL routines.
- provides a module to gather these traces.
- modifies configuration files of the glibc, thus allowing to build 2 versions
of the glibc:
- one with NO modification of the original glibc.
- one adding trace points to NPTL (./configure --with-ptt).

Up till now, PTT users have to build the patched glibc before using PTT.
However, it would be easier to have a system glibc with 2 versions of
libpthread: the traditional NPTL and the NPTL with support for PTT. Building
such a system is very easy (guidelines can be found in the PTT package
available for download at http://sourceforge.net/projects/nptltracetool/) and
just add a shared library to the original set of glibc librairies.

Do you think this tool could be useful for Suse Linux users? If so, including
it in the distribution would involve the following two things:
- adding a new RPM package for PTT tools (like for almost every softwares
included in a distribution :-)).
- modifying the way the glibc is built to provide 2 NPTL libraries: the
default one and the instrumented one. This should not be very difficult (a
few changes in glibc.spec), but as it modifies the system configuration, Suse
maintainers will surely be a little reluctant.

I'd like to know about chances for PTT to be included in Suse. If you have any
question, I'll be pleased to answer. PTT documentation can be found at
http://nptltracetool.sourceforge.net/.

Thank you...

Regards,
Guillaume

< Previous Next >
This Thread