* Lars ([email protected]) 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 > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
