151 Q_TRACE(tracepoint, args...) | Fires 'tracepoint' if it is enabled.
152 Q_TRACE_EXIT(tracepoint, args...) | Fires 'tracepoint' if it is enabled when the current scope exists.
153 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.
154 Q_UNCONDITIONAL_TRACE(tracepoint, args...) | Fires 'tracepoint' unconditionally: no check is performed to query whether 'tracepoint' is enabled.
155 Q_TRACE_ENABLED(tracepoint) | Returns 'true' if 'tracepoint' is enabled; false otherwise.
156
157 When using LTTNG, Q_TRACE(), Q_UNCONDITIONAL_TRACE() and Q_TRACE_ENABLED()
158 map ultimately to tracepoint(), do_tracepoint() and tracepoint_enabled(),
159 respectively, described on the `lttng-ust` manpage (man 3 lttng-ust).
160
161 On ETW, Q_TRACE() and Q_UNCONDITIONAL_TRACE() are equivalent, ultimately
162 amounting to a call to TraceLoggingWrite(), whereas Q_TRACE_ENABLED()
163 wraps around TraceLoggingProviderEnabled().
164
165 A tracepoint provider is defined in a separate file, that follows the