summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/qmlprofilertraceclient.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-04-28 16:13:16 +0200
committerUlf Hermann <ulf.hermann@qt.io>2016-05-23 12:31:44 +0000
commit4a1e5a637a08299bd94428fba233d985a63f4675 (patch)
tree95200030f1509d6e95b4dea682ba3f44187cadb9 /src/plugins/qmlprofiler/qmlprofilertraceclient.h
parentdd87df7e5d338663283cfd1fa24b7c069a580167 (diff)
downloadqt-creator-4a1e5a637a08299bd94428fba233d985a63f4675.tar.gz
QmlProfiler: Drive event loading from the model manager
We want to get rid of the big master list of QmlEvent in QmlProfilerDataModel, as that gets very large for longer traces. In order to reduce the dependencies on that list we load the events on the fly into the child models while they are being received, rather than having the child models query QmlProfilerDataModel for the event list later. As the trace client so far only emitted rangedEvent() for complete ranges we run into problems with models that need their events sorted. The rangedEvent() signals were sorted by end time, rather than start time which makes it inconvenient to analyze them in a stack based way, for aggregation. This is solved by passing on all the details from the trace client to the models, with the QmlProfilerDataModel aggregating the type information before having the events dispatched to the child models. Change-Id: I5831a20551f21cf91e27d298a709f604ebd96c3e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilertraceclient.h')
-rw-r--r--src/plugins/qmlprofiler/qmlprofilertraceclient.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilertraceclient.h b/src/plugins/qmlprofiler/qmlprofilertraceclient.h
index c237b1f621..3864a38081 100644
--- a/src/plugins/qmlprofiler/qmlprofilertraceclient.h
+++ b/src/plugins/qmlprofiler/qmlprofilertraceclient.h
@@ -28,6 +28,7 @@
#include "qmlprofilereventtypes.h"
#include "qmleventlocation.h"
#include "qmlprofiler_global.h"
+#include "qmltypedevent.h"
#include <qmldebug/qmldebugclient.h>
@@ -60,12 +61,7 @@ signals:
void traceFinished(qint64 timestamp, const QList<int> &engineIds);
void traceStarted(qint64 timestamp, const QList<int> &engineIds);
- void rangedEvent(Message, RangeType, int detailType, qint64 startTime, qint64 length,
- const QString &data, const QmlEventLocation &location, qint64 param1,
- qint64 param2, qint64 param3, qint64 param4, qint64 param5);
-
- void debugMessage(qint64 timestamp, QtMsgType type, const QString &text,
- const QmlEventLocation &location);
+ void qmlEvent(const QmlEvent &event, const QmlEventType &type);
void recordingChanged(bool arg);
void recordedFeaturesChanged(quint64 features);