[RFC,0/2] Identify UST threads by changing thread names
Message ID | CAE_Gge2jacOMKQaPdp_dXf3NP+yJTS+jWgJQ-SUnv1-B6WgcGw@mail.gmail.com |
---|---|
Headers |
From: raphael.beamonte at gmail.com (=?UTF-8?Q?Rapha=C3=ABl_Beamonte?=) Date: Wed, 1 Jun 2016 11:04:42 -0400 Subject: [lttng-dev] [RFC PATCH 0/2] Identify UST threads by changing thread names In-Reply-To: <cover.1461269886.git.raphael.beamonte@gmail.com> References: <cover.1461269886.git.raphael.beamonte@gmail.com> Message-ID: <CAE_Gge2jacOMKQaPdp_dXf3NP+yJTS+jWgJQ-SUnv1-B6WgcGw@mail.gmail.com> |
Message
Raphaël Beamonte
June 1, 2016, 3:04 p.m. UTC
Hi, I did not get any feedback about this, any thoughts ? Thanks, Raphaël 2016-04-21 16:50 GMT-04:00 Raphaël Beamonte <raphael.beamonte at gmail.com>: > Hi, > > This is an RFC patch for comments and ideas about how this should be > done. In recent work I've been doing, I found out that some UST- > instrumented userspace process was preempting itself. Looking further, > it was not the same TID, but the same process name. These processes > were LTTng-UST listener threads, but were not identified as so. > Adding a simple symbol, such as "-ust" or "-lttng" at the end of the > process name would help to identify such process directly in the > generated trace. > > You'll find below two different implementations with their pros > and cons, for which the "-ust" symbol was choosen: > > > 1/ An implementation using prctl > It works properly on Linux, but I didn't find a way to make > it work under FreeBSD, hence the empty function in FreeBSD > case (keeping the situation as it is now). > > Raphaël Beamonte (1): > Add -ust to the name of UST threads of the application > > liblttng-ust/compat.h | 22 ++++++++++++++++++++++ > liblttng-ust/lttng-ust-comm.c | 2 ++ > 2 files changed, 24 insertions(+) > > > > 2/ An implementation using pthread > It works on both Linux and FreeBSD, but requires to add a > link to the pthread library in liblttng-ust Makefile.am. > Also, this approach relies on the presence of the > pthread_setname_np function, which was included in glibc > 2.12, meaning it will not work with older versions (but > this should not be a problem?) > > Raphaël Beamonte (1): > Add -ust to the name of UST threads of the application > > liblttng-ust/Makefile.am | 1 + > liblttng-ust/compat.h | 35 +++++++++++++++++++++++++++++++++++ > liblttng-ust/lttng-ust-comm.c | 2 ++ > 3 files changed, 38 insertions(+) > > > > I'll wait for your comments and ideas on that subject. > > Thanks, > Raphaël > > > -- > 2.1.4 >