Skip to content

Conversation

@thilinarmtb
Copy link
Member

I created lttng_ust_toggle event category and implemented thapi_start() and thapi_stop()
(in a similar spirit to cudaProfilerStart() etc.). The library which the user has to link against is
named libThapi.so.

Usage of the API is as follows:

#include <thapi.h>
//
// code
//
thapi_start();
// code to be profiled
thapi_stop();
//
// more code
//

If libThapi.so is linked, thapi_stop() is called automatically during the library load time using
__attribute__((constructor)). I added a check in configure.ac to check if the compiler supports
__attribute__((constructor)).

P.S: This feature requires lttng-ust >= 2.12.8. Specifically, this fix.

TODO

  • Respect lttng_ust_profiler_* lttng_ust_toggle_* events when calculating statistics
  • Fix failing checks
  • Add the filter.toggle.toggle to babeltrace graph

@thilinarmtb thilinarmtb force-pushed the thapi_on_and_off_v2 branch 2 times, most recently from 8120018 to 7a184b7 Compare December 5, 2025 17:38
@thilinarmtb thilinarmtb force-pushed the thapi_on_and_off_v2 branch 5 times, most recently from 19954ee to 9817061 Compare January 27, 2026 21:32
@thilinarmtb
Copy link
Member Author

thilinarmtb commented Jan 29, 2026

@TApplencourt : Two tests fail out of the three tests used to check the toggle API. Those two fail
because we have not integrated the toggle plugin to babeltrace_thapi. Once we do that, I think
those two will pass as well.

@TApplencourt
Copy link
Collaborator

I can show you how to do it tomorrow : )

@thilinarmtb
Copy link
Member Author

I can show you how to do it tomorrow : )

Works for me.

@thilinarmtb thilinarmtb force-pushed the thapi_on_and_off_v2 branch 6 times, most recently from c03a7f1 to 1e2e22b Compare February 2, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants