<div dir="ltr"><div>Hello,</div><div><br></div><div>I have a custom tracing solution that I'm interested in porting to LTTng. It works as follows:</div><ol><li>Input is a whitelist of mangled names taken from a target library, libfoo.so.</li><li>For each name, generate a logging shim (<a href="https://www.linuxjournal.com/article/7795">example</a>) for the corresponding call.</li><li>Compile all the logging shims into a shared library, libshim.so.</li><li>Trace any application using libfoo by running it as LD_PRELOAD=libshim.so ./fooapp</li></ol><div>There are two nice things about this approach that I would like to preserve:</div><div><ul><li>The shim developer only needs to provide the whitelist and a bit of extra annotation. From there, the shim can be be authored using a boilerplate generator.</li><li>The app developer doesn't have to do anything other than pass the LD_PRELOAD flag.</li></ul><div>The downside is that the only tracepoints are those corresponding to the whitelist, but I'm fine with that.</div><div><br></div><div>Can this kind of "hands-free" developer experience be supported by LTTng?</div><div><br></div><div>Thanks!</div><div>~br<br></div></div></div>