[lttng-dev] LTTng-UST alternative to LD_PRELOAD
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Jul 20 14:13:21 EDT 2012
* Lars (lars at grandepotatis.se) wrote:
>
> Hello,
>
> I have recently started to use LTTng-UST and am using LD_PRELOAD
> to make it possilbe to execute instrumented code on systems without
> LTTng-UST installed.
>
> To define LD_PRELOAD however affects too much. For instance all
> forked processes also get the library loaded. This can be fixed by
> removing the library from the LD_PRELOAD variable early in the main
> function. This looks odd and required some explaining in comments.
good point. LD_PRELOAD was originally the only way we allowed lttng-ust
to be loaded, because during the rc phase of the lttng-ust 2.0
development, we had issues with dlopening liblttng-ust. This has been
fixed within the rc stages though, so we could go for a dlopen approach
now.
>
> Also, in my case, the instrumented program is started with a "wrapper"
> program which I can not alter. This wrapper also gets the library
> loaded.
>
> As an alternative to using LD_PRELOAD I would like to use an explicit
> function, like;
>
> int traceload(char const* library_path);
or maybe:
int lttng_ust_dlopen(const char *library_path);
?
> that is called early in main (instead of the LD_PRELOAD environment
> manipulation) and loads the library with dlopen if it exists.
yep, makes sense.
>
> I have already tried this (of course) and it almost works already.
> The tracepoints becomes visible but I get no trace data written.
> So I think a really small modification is needed.
>
> Is anything like this planned?
if you can provide a patch, I'd be glad to review & merge it.
>
> Or can anybody give me a hint on what is missing?
Try running your app with the env. var LTTNG_UST_DEBUG=1 set. It might
provide helpful info. If you still have problems, please post your patch
as RFC along with specific test programs so we can look at the behavior.
Thanks,
Mathieu
>
> I checked the mailing list a couple of months back but did not
> find anything.
>
> Best Regards,
> Lars Ekman
>
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list