diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2018-05-07 17:08:12 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-05-08 14:13:43 +0000 |
commit | 95d7be1b28a280ef2bd0c3ecabd8ed2e122d6e8a (patch) | |
tree | f7e7fd60a7da6e6f86cf312ae350ff63b4ad9d4a /src/plugins/qmlprofiler/qmlprofilermodelmanager.h | |
parent | 7e9b6f62c698c8d27887db5b2bca3235aec288fd (diff) |
Tracing: Generalize event filtering
This allows us to not only filter by ranges, but potentially also by
other criteria.
Change-Id: I7349ceeabbb2781473a3a4c803dab1006b7b8e50
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilermodelmanager.h')
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilermodelmanager.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.h b/src/plugins/qmlprofiler/qmlprofilermodelmanager.h index 033818d9fe9..b7180b36fab 100644 --- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.h +++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.h @@ -50,6 +50,7 @@ class QMLPROFILER_EXPORT QmlProfilerModelManager : public Timeline::TimelineTrac Q_OBJECT public: typedef std::function<void(const QmlEvent &, const QmlEventType &)> QmlEventLoader; + typedef std::function<QmlEventLoader(QmlEventLoader)> QmlEventFilter; explicit QmlProfilerModelManager(QObject *parent = nullptr); ~QmlProfilerModelManager() override; @@ -64,8 +65,7 @@ public: void addEventTypes(const QVector<QmlEventType> &types); const QmlEventType &eventType(int typeId) const; - void replayQmlEvents(qint64 rangeStart, qint64 rangeEnd, QmlEventLoader loader, - Initializer initializer, Finalizer finalizer, + void replayQmlEvents(QmlEventLoader loader, Initializer initializer, Finalizer finalizer, ErrorHandler errorHandler, QFutureInterface<void> &future) const; void finalize() override; @@ -81,20 +81,22 @@ public: void restrictToRange(qint64 start, qint64 end); bool isRestrictedToRange() const; + QmlEventFilter rangeFilter(qint64 start, qint64 end) const; + signals: void typeDetailsChanged(int typeId); void typeDetailsFinished(); private: void detailsChanged(int typeId, const QString &newString); + void restrictByFilter(QmlEventFilter filter); void clearEventStorage() override; void clearTypeStorage() override; const Timeline::TraceEventType &lookupType(int typeId) const override; Timeline::TimelineTraceFile *createTraceFile() override; - void replayEvents(qint64 rangeStart, qint64 rangeEnd, TraceEventLoader loader, - Initializer initializer, Finalizer finalizer, + void replayEvents(TraceEventLoader loader, Initializer initializer, Finalizer finalizer, ErrorHandler errorHandler, QFutureInterface<void> &future) const override; class QmlProfilerModelManagerPrivate; |