forked from qt-creator/qt-creator
QmlProfiler: Show self time in events view
Someone had already prepared it years ago, but forgot to wire up the details. Change-Id: I895bf34694f134eb9526cea98fe08f91b6b9d808 Task-number: QTCREATORBUG-15442 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
@@ -211,6 +211,7 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
|
||||
QmlEventStats *stats = &d->data[event->typeIndex()];
|
||||
|
||||
stats->duration += event->duration();
|
||||
stats->durationSelf += event->duration();
|
||||
if (event->duration() < stats->minTime)
|
||||
stats->minTime = event->duration();
|
||||
if (event->duration() > stats->maxTime)
|
||||
@@ -226,7 +227,6 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
|
||||
lastEndTime = event->startTime() + event->duration();
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// binding loop detection
|
||||
//
|
||||
@@ -245,6 +245,8 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
|
||||
}
|
||||
}
|
||||
|
||||
if (callStack.count() > 1)
|
||||
d->data[callStack.top()->typeIndex()].durationSelf -= event->duration();
|
||||
callStack.push(event);
|
||||
|
||||
d->modelManager->modelProxyCountUpdated(d->modelId, i, eventList.count()*2);
|
||||
@@ -266,6 +268,7 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
|
||||
}
|
||||
|
||||
stats->percentOfTime = stats->duration * 100.0 / qmlTime;
|
||||
stats->percentSelf = stats->durationSelf * 100.0 / qmlTime;
|
||||
d->modelManager->modelProxyCountUpdated(d->modelId, i++, total);
|
||||
}
|
||||
|
||||
@@ -277,8 +280,10 @@ void QmlProfilerEventsModelProxy::loadData(qint64 rangeStart, qint64 rangeEnd)
|
||||
QmlEventStats rootEvent;
|
||||
rootEvent.duration = rootEvent.minTime = rootEvent.maxTime = rootEvent.timePerCall
|
||||
= rootEvent.medianTime = qmlTime + 1;
|
||||
rootEvent.durationSelf = 1;
|
||||
rootEvent.calls = 1;
|
||||
rootEvent.percentOfTime = 100.0;
|
||||
rootEvent.percentSelf = 1.0 / rootEvent.duration;
|
||||
|
||||
d->data.insert(-1, rootEvent);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user