[lttng-dev] lttng-ust under the hood

Thibault, Daniel Daniel.Thibault at drdc-rddc.gc.ca
Fri May 23 11:11:02 EDT 2014

Date: Thu, 22 May 2014 18:21:29 +0200
From: Gerlando Falauto <gerlando.falauto at keymile.com>

> I'm still struggling to figure out why, depending on how I compile and link my application, I can get either custom tracepoint providers
> OR tracef() to work, but not both at the same time.
> Is there any documentation explaining how lttng-ust is roughly supposed to work?
> (i.e. linking trickeries, libraries needed in LD_PRELOAD, _LGPL_SOURCE, tracepoints, probes and so on...)
> Gerlando

   It's all a matter of choice.  Tracepoint providers can be in the app (statically linked in) or dynamically linked to it.  In the latter case, the linking can be mandatory (so the app will fail to launch if it cannot find the tracepoint provider .so) or optional.  With optional linking, failure to find the .so means the app isn't traceable but otherwise runs normally.  LD_PRELOAD is generally used to provide the app with the tracepoint provider .so when tracing is desired.

   Extensive documentation (in PDF) is currently undergoing editorial review, and the plan is to move said documentation to DocBook format so it can be included in the LTTng distribution.

  Since tracef() depends on liblttng-ust just like ordinary UST, I'm not sure which problem you're running into.  Could you give us a simplified makefile that showcases the issue?

Daniel U. Thibault
Protection des systèmes et contremesures (PSC) | Systems Protection & Countermeasures (SPC)
Cyber sécurité pour les missions essentielles (CME) | Mission Critical Cyber Security (MCCS)
R & D pour la défense Canada - Valcartier (RDDC Valcartier) | Defence R&D Canada - Valcartier (DRDC Valcartier)
2459 route de la Bravoure
Québec QC  G3J 1X5
Vox : (418) 844-4000 x4245
Fax : (418) 844-4538
NAC : 918V QSDJ <http://www.travelgis.com/map.asp?addr=918V%20QSDJ>
Gouvernement du Canada | Government of Canada

More information about the lttng-dev mailing list