tracetools_analysis.processor.profile module

Module for profile events processing.

class tracetools_analysis.processor.profile.ProfileHandler(address_to_func: Dict[int | str, str] = {}, **kwargs)

Bases: EventHandler

Handler that extracts profiling information.

It uses the following events:
  • lttng_ust_cyg_profile_fast:func_entry

  • lttng_ust_cyg_profile_fast:func_exit

  • sched_switch

The above events are generated when using -finstrument-functions with gcc and LD_PRELOAD-ing liblttng-ust-cyg-profile-fast.so, see: https://lttng.org/docs/v2.10/#doc-liblttng-ust-cyg-profile

TODO get debug_info from babeltrace for lttng_ust_cyg_profile_fast:func_entry events (or resolve { address -> function } name another way)

static addr_to_int(addr: int | str) int

Transform an address into an int if it’s a hex str.

property data: ProfileDataModel

Get the data model.

static required_events() Set[str]

Get the set of events required by this EventHandler.

Without these events, the EventHandler would be invalid/useless. Inheriting classes can decide not to declare that they require specific events.