aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/debugger
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@nokia.com>2012-01-13 15:41:59 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-01 07:02:30 +0100
commit661bccfb6f014cfa4b69c7e375153c901929fa21 (patch)
treeb61d1826030c38e74641f663d9c1d42152b16d77 /src/declarative/debugger
parentf1e823e2900f3cc3ef039432fb0f3535fc824bac (diff)
QmlProfiler: profiling compiled v8 bindings
Change-Id: I8c61b3805244595de6e1c7fbed7ed23440fe0a82 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/declarative/debugger')
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace.cpp16
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace_p.h8
2 files changed, 24 insertions, 0 deletions
diff --git a/src/declarative/debugger/qdeclarativedebugtrace.cpp b/src/declarative/debugger/qdeclarativedebugtrace.cpp
index ce94ed32d0..dc4a91920e 100644
--- a/src/declarative/debugger/qdeclarativedebugtrace.cpp
+++ b/src/declarative/debugger/qdeclarativedebugtrace.cpp
@@ -54,6 +54,22 @@ QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC(QDeclarativeDebugTrace, traceInstance)
+QDeclarativeBindingProfiler::QDeclarativeBindingProfiler(const QString &url, int line, int column)
+{
+ QDeclarativeDebugTrace::startRange(QDeclarativeDebugTrace::Binding);
+ QDeclarativeDebugTrace::rangeLocation(QDeclarativeDebugTrace::Binding, url, line, column);
+}
+
+QDeclarativeBindingProfiler::~QDeclarativeBindingProfiler()
+{
+ QDeclarativeDebugTrace::endRange(QDeclarativeDebugTrace::Binding);
+}
+
+void QDeclarativeBindingProfiler::addDetail(const QString &details)
+{
+ QDeclarativeDebugTrace::rangeData(QDeclarativeDebugTrace::Binding, details);
+}
+
// convert to a QByteArray that can be sent to the debug client
// use of QDataStream can skew results
// (see tst_qdeclarativedebugtrace::trace() benchmark)
diff --git a/src/declarative/debugger/qdeclarativedebugtrace_p.h b/src/declarative/debugger/qdeclarativedebugtrace_p.h
index aa7a7bfed1..e0d04aa067 100644
--- a/src/declarative/debugger/qdeclarativedebugtrace_p.h
+++ b/src/declarative/debugger/qdeclarativedebugtrace_p.h
@@ -83,6 +83,14 @@ Q_DECLARE_TYPEINFO(QDeclarativeDebugData, Q_MOVABLE_TYPE);
class QUrl;
class QDeclarativeEngine;
+// RAII
+class Q_AUTOTEST_EXPORT QDeclarativeBindingProfiler {
+public:
+ QDeclarativeBindingProfiler(const QString &url, int line, int column);
+ ~QDeclarativeBindingProfiler();
+ void addDetail(const QString &details);
+};
+
class Q_DECLARATIVE_EXPORT QDeclarativeDebugTrace : public QDeclarativeDebugService
{
public: