From fad8644041a74293c19fec6d412cdca43bb83a01 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 4 Jan 2017 14:26:05 +0100 Subject: [PATCH] QmlDesigner: Adding simple performance logging to property editor Change-Id: Idc8adce4ce245a9e470b898473ec9b02143827b2 Reviewed-by: Tim Jenssen --- .../propertyeditorqmlbackend.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp index ff299af8707..0c13f54b573 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp @@ -46,6 +46,9 @@ #include #include +#include + +static Q_LOGGING_CATEGORY(propertyEditorBenchmark, "qtc.propertyeditor.load") static QmlJS::SimpleReaderNode::Ptr s_templateConfiguration = QmlJS::SimpleReaderNode::Ptr(); @@ -269,6 +272,13 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q return; if (qmlObjectNode.isValid()) { + + qCInfo(propertyEditorBenchmark) << Q_FUNC_INFO; + + QTime time; + if (propertyEditorBenchmark().isInfoEnabled()) + time.start(); + foreach (const PropertyName &propertyName, qmlObjectNode.modelNode().metaInfo().propertyNames()) createPropertyEditorValue(qmlObjectNode, propertyName, qmlObjectNode.instanceValue(propertyName), propertyEditor); @@ -301,12 +311,18 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q context()->setContextProperty(QLatin1String("transaction"), m_propertyEditorTransaction.data()); + qCInfo(propertyEditorBenchmark) << "anchors:" << time.elapsed(); + // model node m_backendModelNode.setup(qmlObjectNode.modelNode()); context()->setContextProperty(QLatin1String("modelNodeBackend"), &m_backendModelNode); + qCInfo(propertyEditorBenchmark) << "context:" << time.elapsed(); + contextObject()->setSpecificsUrl(qmlSpecificsFile); + qCInfo(propertyEditorBenchmark) << "specifics:" << time.elapsed(); + contextObject()->setStateName(stateName); if (!qmlObjectNode.isValid()) return; @@ -333,6 +349,8 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q contextObject()->setMajorQtQuickVersion(qmlObjectNode.view()->majorQtQuickVersion()); contextObject()->setMinorQtQuickVersion(qmlObjectNode.view()->minorQtQuickVersion()); + + qCInfo(propertyEditorBenchmark) << "final:" << time.elapsed(); } else { qWarning() << "PropertyEditor: invalid node for setup"; }