tracing

tracing#

This module provides the HPX tracing abstraction: a compile-time-dispatched API that annotates HPX runtime events (task lifecycle, futures, parcels, work stealing, worker sleep, and more) and routes those annotations to a single profiler backend selected at build time.

Three profiler backends are supported, with a no-op fallback when none is enabled. HPX_SetupTracing.cmake errors out at configure time if more than one of HPX_WITH_APEX, HPX_WITH_ITTNOTIFY or HPX_WITH_TRACY is enabled.

Include hpx/modules/tracing.hpp to get the public API; it dispatches at compile time to one of the per-backend headers under hpx/tracing/backends/. Entries are declared in the hpx::tracing namespace and the dispatch macros (HPX_TRACING_MARK_EVENT, HPX_TRACING_ZONE, HPX_TRACING_PAUSE, HPX_TRACING_RESUME) live in hpx/tracing/macros.hpp.

See Tracy integration for how to build HPX against Tracy and attach the profiler.