Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qctf_p.h File Reference
#include <qtcoreexports.h>
#include <qobject.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qstring.h>
#include <QtCore/qurl.h>
+ Include dependency graph for qctf_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QCtfTracePointProvider
 
struct  QCtfTraceMetadata
 
struct  QCtfTracePointEvent
 
class  QCtfLib
 

Namespaces

namespace  trace
 

Macros

#define _DEFINE_EVENT(provider, event, metadata, size, varSize)    static QCtfTracePointEvent _ctf_ ## event = QCtfTracePointEvent(_ctf_provider_ ## provider, QStringLiteral(QT_STRINGIFY(event)), metadata, size, varSize);
 
#define _DEFINE_METADATA(provider, name, metadata)    static QCtfTraceMetadata _ctf_metadata_ ## name = QCtfTraceMetadata(_ctf_provider_ ## provider, QStringLiteral(QT_STRINGIFY(name)), metadata);
 
#define _DEFINE_TRACEPOINT_PROVIDER(provider)    static QCtfTracePointProvider _ctf_provider_ ## provider = QCtfTracePointProvider(QStringLiteral(QT_STRINGIFY(provider)));
 
#define TRACEPOINT_EVENT(provider, event, metadata, size, varSize)    _DEFINE_EVENT(provider, event, metadata, size, varSize)
 
#define TRACEPOINT_PROVIDER(provider)    _DEFINE_TRACEPOINT_PROVIDER(provider)
 
#define TRACEPOINT_METADATA(provider, name, metadata)    _DEFINE_METADATA(provider, name, metadata)
 
#define tracepoint_enabled(provider, event)    _tracepoint_enabled(_ctf_ ## event)
 
#define do_tracepoint(provider, event, ...)
 
#define tracepoint(provider, name, ...)
 

Functions

 QT_REQUIRE_CONFIG (library)
 
Q_CORE_EXPORT bool _tracepoint_enabled (const QCtfTracePointEvent &point)
 
Q_CORE_EXPORT void _do_tracepoint (const QCtfTracePointEvent &point, const QByteArray &arr)
 
Q_CORE_EXPORT QCtfTracePointPrivate_initialize_tracepoint (const QCtfTracePointEvent &point)
 
void trace::toByteArray (QByteArray &)
 
void trace::toByteArray (QByteArray &arr, const QString &value)
 
void trace::toByteArray (QByteArray &arr, const QUrl &value)
 
void trace::toByteArray (QByteArray &arr, const QByteArray &data)
 
template<typename T >
void trace::toByteArray (QByteArray &arr, T value)
 
template<typename T , typename... Ts>
void trace::toByteArray (QByteArray &arr, T value, Ts... args)
 
QByteArray trace::toByteArray ()
 
template<typename... Ts>
QByteArray trace::toByteArray (Ts... args)
 
template<typename T >
QByteArray trace::toByteArrayFromArray (const T *values, int arraySize)
 
template<typename IntegerType , typename T >
QByteArray trace::toByteArrayFromEnum (T value)
 
QByteArray trace::toByteArrayFromCString (const char *str)
 
static void trace::appendFlags (QByteArray &data, quint8 &count, quint32 value)
 
template<typename T >
QByteArray trace::toByteArrayFromFlags (QFlags< T > value)
 

Macro Definition Documentation

◆ _DEFINE_EVENT

#define _DEFINE_EVENT (   provider,
  event,
  metadata,
  size,
  varSize 
)     static QCtfTracePointEvent _ctf_ ## event = QCtfTracePointEvent(_ctf_provider_ ## provider, QStringLiteral(QT_STRINGIFY(event)), metadata, size, varSize);

Definition at line 184 of file qctf_p.h.

◆ _DEFINE_METADATA

#define _DEFINE_METADATA (   provider,
  name,
  metadata 
)     static QCtfTraceMetadata _ctf_metadata_ ## name = QCtfTraceMetadata(_ctf_provider_ ## provider, QStringLiteral(QT_STRINGIFY(name)), metadata);

Definition at line 186 of file qctf_p.h.

◆ _DEFINE_TRACEPOINT_PROVIDER

#define _DEFINE_TRACEPOINT_PROVIDER (   provider)     static QCtfTracePointProvider _ctf_provider_ ## provider = QCtfTracePointProvider(QStringLiteral(QT_STRINGIFY(provider)));

Definition at line 188 of file qctf_p.h.

◆ do_tracepoint

#define do_tracepoint (   provider,
  event,
  ... 
)
Value:
{ \
auto &tp = _ctf_ ## event; \
if (!tp.d) \
tp.d = _initialize_tracepoint(tp); \
if (tp.d) { \
QByteArray data(tp.size, 0); \
if (!tp.metadata.isEmpty()) \
data = trace::toByteArray(__VA_ARGS__); \
_do_tracepoint(tp, data); \
} \
}
\inmodule QtCore
Definition qbytearray.h:57
QByteArray toByteArray()
Definition qctf_p.h:112
Q_CORE_EXPORT QCtfTracePointPrivate * _initialize_tracepoint(const QCtfTracePointEvent &point)
Definition qctf.cpp:108
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
struct _cl_event * event

Definition at line 203 of file qctf_p.h.

◆ tracepoint

#define tracepoint (   provider,
  name,
  ... 
)
Value:
do { \
if (tracepoint_enabled(provider, name)) \
do_tracepoint(provider, name, __VA_ARGS__); \
} while (0)
#define tracepoint_enabled(provider, event)
Definition qctf_p.h:200
GLuint name

Definition at line 216 of file qctf_p.h.

◆ tracepoint_enabled

#define tracepoint_enabled (   provider,
  event 
)     _tracepoint_enabled(_ctf_ ## event)

Definition at line 200 of file qctf_p.h.

◆ TRACEPOINT_EVENT

#define TRACEPOINT_EVENT (   provider,
  event,
  metadata,
  size,
  varSize 
)     _DEFINE_EVENT(provider, event, metadata, size, varSize)

Definition at line 191 of file qctf_p.h.

◆ TRACEPOINT_METADATA

#define TRACEPOINT_METADATA (   provider,
  name,
  metadata 
)     _DEFINE_METADATA(provider, name, metadata)

Definition at line 197 of file qctf_p.h.

◆ TRACEPOINT_PROVIDER

#define TRACEPOINT_PROVIDER (   provider)     _DEFINE_TRACEPOINT_PROVIDER(provider)

Definition at line 194 of file qctf_p.h.

Function Documentation

◆ _do_tracepoint()

Q_CORE_EXPORT void _do_tracepoint ( const QCtfTracePointEvent point,
const QByteArray arr 
)

Definition at line 100 of file qctf.cpp.

References QCtfLib::doTracepoint(), initialize(), and s_plugin.

+ Here is the call graph for this function:

◆ _initialize_tracepoint()

Q_CORE_EXPORT QCtfTracePointPrivate * _initialize_tracepoint ( const QCtfTracePointEvent point)

Definition at line 108 of file qctf.cpp.

References initialize(), QCtfLib::initializeTracepoint(), and s_plugin.

+ Here is the call graph for this function:

◆ _tracepoint_enabled()

Q_CORE_EXPORT bool _tracepoint_enabled ( const QCtfTracePointEvent point)

Definition at line 93 of file qctf.cpp.

References initialize(), s_plugin, and QCtfLib::tracepointEnabled().

+ Here is the call graph for this function:

◆ QT_REQUIRE_CONFIG()

QT_REQUIRE_CONFIG ( library  )