19#include <private/qctf_p.h>
23#include <qelapsedtimer.h>
26#include <qthreadstorage.h>
28#include <qloggingcategory.h>
48 QStringList tracepoints;
53 char channelName[512];
55 quint64 minTimestamp = 0;
56 quint64 maxTimestamp = 0;
57 quint64 seqnumber = 0;
58 QThread *thread =
nullptr;
59 quint32 threadIndex = 0;
61 quint32 threadNameLength = 0;
66 memset(channelName, 0,
sizeof(channelName));
92 void removeChannel(Channel *ch);
93 void updateMetadata(
const QCtfTracePointEvent &point);
94 void writeMetadata(
const QString &metadata,
bool overwrite =
false);
98 void writeCtfPacket(Channel &ch);
101 static constexpr QUuid s_TraceUuid = QUuid(0x3e589c95, 0xed11, 0xc159, 0x42, 0x02, 0x6a, 0x9b, 0x02, 0x00, 0x12, 0xac);
102 static constexpr quint32 s_CtfHeaderMagic = 0xC1FC1FC1;
105 QElapsedTimer m_timer;
109 QHash<QThread*, quint32> m_threadIndices;
111 QList<Channel *> m_channels;
112 QHash<QString,
const QCtfTraceMetadata *> m_additionalMetadata;
114 QDateTime m_datetime;
116 bool m_streaming =
false;
117 std::atomic_bool m_sessionChanged =
false;
118 std::atomic_bool m_serverClosed =
false;
119 QScopedPointer<QCtfServer> m_server;
void handleStatusChange(QCtfServer::ServerStatus status) override
static QCtfLib * instance()
bool sessionEnabled() override
void registerMetadata(const QCtfTraceMetadata &metadata)
bool tracepointEnabled(const QCtfTracePointEvent &point) override
QCtfTracePointPrivate * initializeTracepoint(const QCtfTracePointEvent &point) override
void handleSessionChange() override
void doTracepoint(const QCtfTracePointEvent &point, const QByteArray &arr) override
void shutdown(bool *) override
\inmodule QtCore\reentrant
Combined button and popup list for selecting options.
const QString & asString(const QString &s)
static const size_t traceMetadataSize
static QString toMetadata(const QString &provider, const QString &name, const QString &metadata, quint32 eventId)
static FILE * openFile(const QString &filename, const QString &mode)
static const size_t packetSize
static QString defaultLiteral()
static QString allLiteral()
static const char traceMetadataTemplate[]
static const size_t packetHeaderSize
#define Q_LOGGING_CATEGORY(name,...)
#define qCInfo(category,...)
#define qCWarning(category,...)
#define Q_DECLARE_LOGGING_CATEGORY(name)
#define qPrintable(string)