[lttng-dev] RFC: More flexible support for UST event collection in containers

Loïc Gelle loic.gelle at polymtl.ca
Wed Aug 1 13:36:14 EDT 2018


Hi all,

I am writing a proof of concept for LTTng (ust + tools) for better  
support of application tracing in containers. My point is that we  
should be able to collect all UST events emitted from within  
containers using a single sessiond / consumerd, at least if you want  
to. The main problem to that approach was that the session deamon was  
unable to handle PID clashes when two apps with the same vpid tried to  
register. I fix this by patching the UST client for it to declare both  
its PID and its PID namespace inode number during registration (and I  
also propagated the change to lttng-tools for app registration in the  
hashtable). My patched versions of tools and UST are here, in the  
branch "containers":

https://github.com/loicgelle/lttng-ust
https://github.com/loicgelle/lttng-tools

One problem that I have now is that LTTng-tools currently uses  
/proc/[pid]/cmdline to fetch the name of each application when listing  
the available tracepoints. This is a problem since we have no (simple)  
way to know the PID of the registered apps in the context of the PID  
namespace of sessiond, so this step basically fails. I thought that a  
fix for this would be to ask the applications themselves to declare  
their name using their dedicated socket. Do you think that would be  
possible and relevant?

Also, if you like the idea that I'm pushing, there is more work ahead  
to make it a feature (for example propagating the changes to pid  
tracking).

Thanks,
Loïc.



More information about the lttng-dev mailing list