38 Q_TRACE(tracepoint, args...) | Fires 'tracepoint' if it is enabled.
39 Q_TRACE_EXIT(tracepoint, args...) | Fires 'tracepoint' if it is enabled when the current scope exists.
40 Q_TRACE_SCOPE(tracepoint, args...) | Wrapper around Q_TRACE/_EXIT to trace entry and exit. First it traces `${tracepoint}_entry` and then `${tracepoint}_exit` on scope exit.
41 Q_UNCONDITIONAL_TRACE(tracepoint, args...) | Fires 'tracepoint' unconditionally: no check is performed to query whether 'tracepoint' is enabled.
42 Q_TRACE_ENABLED(tracepoint) | Returns 'true' if 'tracepoint' is enabled; false otherwise.
43
44 When using LTTNG, Q_TRACE(), Q_UNCONDITIONAL_TRACE() and Q_TRACE_ENABLED()
45 map ultimately to tracepoint(), do_tracepoint() and tracepoint_enabled(),
46 respectively, described on the `lttng-ust` manpage (man 3 lttng-ust).
47
48 On ETW, Q_TRACE() and Q_UNCONDITIONAL_TRACE() are equivalent, ultimately
49 amounting to a call to TraceLoggingWrite(), whereas Q_TRACE_ENABLED()
50 wraps around TraceLoggingProviderEnabled().
51
52 A tracepoint provider is defined in a separate file, that follows the