diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-08-28 10:51:06 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-08-28 08:59:30 +0000 |
commit | 9713146cbc91d7e41af73ac5af1ec09bce028e1b (patch) | |
tree | afe2d5ce1ec7eb17d51d1595c33b21db6a437ef2 /tools/qmlprofiler/qmlprofilerdata.cpp | |
parent | 922ca8c3a839ccbf3407bfe7e449bfceec5ecd23 (diff) |
qmlprofiler: Remove V8 profiler client
It's been a long time since the last Qt version with V8.
Change-Id: Iae36dd1c5bb6275254c6a64a8e6b843454139e2b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'tools/qmlprofiler/qmlprofilerdata.cpp')
-rw-r--r-- | tools/qmlprofiler/qmlprofilerdata.cpp | 142 |
1 files changed, 1 insertions, 141 deletions
diff --git a/tools/qmlprofiler/qmlprofilerdata.cpp b/tools/qmlprofiler/qmlprofilerdata.cpp index ac7b51159f..7e4f174f17 100644 --- a/tools/qmlprofiler/qmlprofilerdata.cpp +++ b/tools/qmlprofiler/qmlprofilerdata.cpp @@ -127,18 +127,6 @@ Q_DECLARE_TYPEINFO(QmlRangeEventData, Q_MOVABLE_TYPE); Q_DECLARE_TYPEINFO(QmlRangeEventStartInstance, Q_MOVABLE_TYPE); QT_END_NAMESPACE -struct QV8EventInfo { - QString displayName; - QString eventHashStr; - QString functionName; - QString fileName; - int line; - qint64 totalTime; - qint64 selfTime; - - QHash<QString, qint64> v8children; -}; - ///////////////////////////////////////////////////////////////// class QmlProfilerDataPrivate { @@ -148,18 +136,12 @@ public: // data storage QHash<QString, QmlRangeEventData *> eventDescriptions; QVector<QmlRangeEventStartInstance> startInstanceList; - QHash<QString, QV8EventInfo *> v8EventHash; qint64 traceStartTime; qint64 traceEndTime; // internal state while collecting events qint64 qmlMeasuredTime; - qint64 v8MeasuredTime; - QHash<int, QV8EventInfo *> v8parents; - void clearV8RootEvent(); - QV8EventInfo v8RootEvent; - QmlProfilerData::State state; }; @@ -183,12 +165,6 @@ void QmlProfilerData::clear() d->eventDescriptions.clear(); d->startInstanceList.clear(); - qDeleteAll(d->v8EventHash); - d->v8EventHash.clear(); - d->v8parents.clear(); - d->clearV8RootEvent(); - d->v8MeasuredTime = 0; - d->traceEndTime = std::numeric_limits<qint64>::min(); d->traceStartTime = std::numeric_limits<qint64>::max(); d->qmlMeasuredTime = 0; @@ -205,11 +181,6 @@ QString QmlProfilerData::getHashStringForQmlEvent(const QmlEventLocation &locati QString::number(eventType)); } -QString QmlProfilerData::getHashStringForV8Event(const QString &displayName, const QString &function) -{ - return QString(QStringLiteral("%1:%2")).arg(displayName, function); -} - QString QmlProfilerData::qmlRangeTypeAsString(QQmlProfilerDefinitions::RangeType type) { if (type * sizeof(QString) < sizeof(RANGE_TYPE_STRINGS)) @@ -414,76 +385,6 @@ void QmlProfilerData::addInputEvent(QQmlProfilerDefinitions::EventType type, qin d->startInstanceList.append(QmlRangeEventStartInstance(time, -1, 0, 0, 0, newEvent)); } -QString QmlProfilerData::rootEventName() -{ - return tr("<program>"); -} - -QString QmlProfilerData::rootEventDescription() -{ - return tr("Main Program"); -} - -void QmlProfilerDataPrivate::clearV8RootEvent() -{ - v8RootEvent.displayName = QmlProfilerData::rootEventName(); - v8RootEvent.eventHashStr = QmlProfilerData::rootEventName(); - v8RootEvent.functionName = QmlProfilerData::rootEventDescription(); - v8RootEvent.line = -1; - v8RootEvent.totalTime = 0; - v8RootEvent.selfTime = 0; - v8RootEvent.v8children.clear(); -} - -void QmlProfilerData::addV8Event(int depth, const QString &function, const QString &filename, - int lineNumber, double totalTime, double selfTime) -{ - QString displayName = filename.mid(filename.lastIndexOf(QLatin1Char('/')) + 1) + - QLatin1Char(':') + QString::number(lineNumber); - QString hashStr = getHashStringForV8Event(displayName, function); - - setState(AcquiringData); - - // time is given in milliseconds, but internally we store it in microseconds - totalTime *= 1e6; - selfTime *= 1e6; - - // accumulate information - QV8EventInfo *eventData = d->v8EventHash[hashStr]; - if (!eventData) { - eventData = new QV8EventInfo; - eventData->displayName = displayName; - eventData->eventHashStr = hashStr; - eventData->fileName = filename; - eventData->functionName = function; - eventData->line = lineNumber; - eventData->totalTime = totalTime; - eventData->selfTime = selfTime; - d->v8EventHash[hashStr] = eventData; - } else { - eventData->totalTime += totalTime; - eventData->selfTime += selfTime; - } - d->v8parents[depth] = eventData; - - QV8EventInfo *parentEvent = 0; - if (depth == 0) { - parentEvent = &d->v8RootEvent; - d->v8MeasuredTime += totalTime; - } - if (depth > 0 && d->v8parents.contains(depth-1)) { - parentEvent = d->v8parents.value(depth-1); - } - - if (parentEvent != 0) { - if (!parentEvent->v8children.contains(eventData->eventHashStr)) { - parentEvent->v8children[eventData->eventHashStr] = totalTime; - } else { - parentEvent->v8children[eventData->eventHashStr] += totalTime; - } - } -} - void QmlProfilerData::computeQmlTime() { // compute levels @@ -567,7 +468,7 @@ void QmlProfilerData::complete() bool QmlProfilerData::isEmpty() const { - return d->startInstanceList.isEmpty() && d->v8EventHash.isEmpty(); + return d->startInstanceList.isEmpty(); } bool QmlProfilerData::save(const QString &filename) @@ -708,38 +609,6 @@ bool QmlProfilerData::save(const QString &filename) } stream.writeEndElement(); // profilerDataModel - stream.writeStartElement(QStringLiteral("v8profile")); // v8 profiler output - stream.writeAttribute(QStringLiteral("totalTime"), QString::number(d->v8MeasuredTime)); - foreach (QV8EventInfo *v8event, d->v8EventHash.values()) { - stream.writeStartElement(QStringLiteral("event")); - stream.writeAttribute(QStringLiteral("index"),QString::number( - d->v8EventHash.keys().indexOf(v8event->eventHashStr))); - stream.writeTextElement(QStringLiteral("displayname"), v8event->displayName); - stream.writeTextElement(QStringLiteral("functionname"), v8event->functionName); - if (!v8event->fileName.isEmpty()) { - stream.writeTextElement(QStringLiteral("filename"), v8event->fileName); - stream.writeTextElement(QStringLiteral("line"), QString::number(v8event->line)); - } - stream.writeTextElement(QStringLiteral("totalTime"), QString::number(v8event->totalTime)); - stream.writeTextElement(QStringLiteral("selfTime"), QString::number(v8event->selfTime)); - if (!v8event->v8children.isEmpty()) { - stream.writeStartElement(QStringLiteral("childrenEvents")); - QStringList childrenIndexes; - QStringList childrenTimes; - foreach (const QString &childHash, v8event->v8children.keys()) { - childrenIndexes << QString::number(v8EventIndex(childHash)); - childrenTimes << QString::number(v8event->v8children[childHash]); - } - - stream.writeAttribute(QStringLiteral("list"), childrenIndexes.join(QString(", "))); - stream.writeAttribute(QStringLiteral("childrenTimes"), - childrenTimes.join(QString(", "))); - stream.writeEndElement(); - } - stream.writeEndElement(); - } - stream.writeEndElement(); // v8 profiler output - stream.writeEndElement(); // trace stream.writeEndDocument(); @@ -747,15 +616,6 @@ bool QmlProfilerData::save(const QString &filename) return true; } -int QmlProfilerData::v8EventIndex(const QString &hashStr) -{ - if (!d->v8EventHash.contains(hashStr)) { - emit error("Trying to index nonexisting v8 event"); - return -1; - } - return d->v8EventHash.keys().indexOf( hashStr ); -} - void QmlProfilerData::setState(QmlProfilerData::State state) { // It's not an error, we are continuously calling "AcquiringData" for example |