Hello, Michael K Dolan Jr wrote:
How is this the same/similar to SystemTap?
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.
According to what I read in SystemTap documentation, it is used to get information about events happening in the kernel (tell me if I'm wrong). PTT shows you NOTHING about the kernel. It's a user space tool which adds trace points into the glibc thread library (NPTL). These trace points never make system calls to not disturb multi-threaded applications dynamic. There are 2 types of NPTL events that PTT handles: - calls to and exits from NPTL routines. - internal NPTL events, caused by modification of properties of NPTL objects (for example, when locks are taken or freed, when mutex values change...) The collection of events recorded during a program execution helps you to understand what really happens inside your multi-threaded application. See http://nptltracetool.sourceforge.net/ for more details. Regards, Guillaume