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
This is done by adding `__attribute((constructor))__` to
`thapi_stop()`. Added an autotools check to see if the
compiler supports `__attribute((constructor))__`.
and install `thapi_profiler.h` header files to provied declarations
of `thapi_start()` and `thapi_stop()`.
We need one which supports __attribute__((constructor)) in user
code.
Also, minor refactoring in utils/Makefile.am.
@thilinarmtb thilinarmtb force-pushed the thapi_on_and_off_v2 branch 2 times, most recently from fb096c2 to f0ce7de Compare January 26, 2026 23:40
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.

1 participant