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

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.
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