aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprofiler/qmlprofilermodelmanager.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-05-07 17:08:12 +0200
committerUlf Hermann <ulf.hermann@qt.io>2018-05-08 14:13:43 +0000
commit95d7be1b28a280ef2bd0c3ecabd8ed2e122d6e8a (patch)
treef7e7fd60a7da6e6f86cf312ae350ff63b4ad9d4a /src/plugins/qmlprofiler/qmlprofilermodelmanager.h
parent7e9b6f62c698c8d27887db5b2bca3235aec288fd (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.h10
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;