QmlProfiler: use end of trace event if present

Change-Id: I149a05500fd4bc722da3c409491b35304155828b
Reviewed-on: http://codereview.qt-project.org/6436
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
Christiaan Janssen
2011-09-22 16:58:59 +02:00
parent aa3d406faf
commit bc4d15f3c6
8 changed files with 25 additions and 10 deletions

View File

@@ -68,7 +68,7 @@ function drawData(canvas, ctxt, region)
var width = canvas.canvasSize.width - xmargin;
var height = canvas.height - ymargin;
var sumValue = qmlEventList.lastTimeMark() - qmlEventList.firstTimeMark();
var sumValue = qmlEventList.traceEndTime() - qmlEventList.traceStartTime();
var spacing = width / sumValue;
ctxt.fillStyle = "rgba(0,0,0,1)";
@@ -77,7 +77,7 @@ function drawData(canvas, ctxt, region)
//### only draw those in range
for (var ii = 0; ii < qmlEventList.count(); ++ii) {
var xx = (qmlEventList.getStartTime(ii) - qmlEventList.firstTimeMark()) * spacing + xmargin;
var xx = (qmlEventList.getStartTime(ii) - qmlEventList.traceStartTime()) * spacing + xmargin;
if (xx > region.x + region.width)
continue;
@@ -110,7 +110,7 @@ function xScale(canvas)
var width = canvas.canvasSize.width - xmargin;
var sumValue = qmlEventList.lastTimeMark() - qmlEventList.firstTimeMark();
var sumValue = qmlEventList.traceEndTime() - qmlEventList.traceStartTime();
var spacing = sumValue / width;
return spacing;
}

View File

@@ -84,7 +84,7 @@ Rectangle {
&& selectedEventIndex > -1 && selectedEventIndex < eventCount) {
// re-center flickable if necessary
var xs = Plotter.xScale(canvas);
var startTime = qmlEventList.firstTimeMark();
var startTime = qmlEventList.traceStartTime();
var eventStartTime = qmlEventList.getStartTime(selectedEventIndex);
var eventDuration = qmlEventList.getDuration(selectedEventIndex);
if (rangeMover.value + startTime > eventStartTime) {
@@ -146,7 +146,7 @@ Rectangle {
root.clearAll();
if (eventCount > 1) {
root.progress = Math.min(1.0,
(qmlEventList.lastTimeMark() - qmlEventList.firstTimeMark()) / root.elapsedTime * 1e-9 ) * 0.5;
(qmlEventList.traceEndTime() - qmlEventList.traceStartTime()) / root.elapsedTime * 1e-9 ) * 0.5;
} else
root.progress = 0;
}
@@ -191,8 +191,8 @@ Rectangle {
height: flick.height + labels.y
anchors.left: flick.left
anchors.right: flick.right
startTime: rangeMover.x * Plotter.xScale(canvas) + qmlEventList.firstTimeMark();
endTime: (rangeMover.x + rangeMover.zoomWidth) * Plotter.xScale(canvas) + qmlEventList.firstTimeMark();
startTime: rangeMover.x * Plotter.xScale(canvas) + qmlEventList.traceStartTime();
endTime: (rangeMover.x + rangeMover.zoomWidth) * Plotter.xScale(canvas) + qmlEventList.traceStartTime();
}
function hideRangeDetails() {

View File

@@ -106,6 +106,7 @@ TraceWindow::TraceWindow(QWidget *parent)
m_eventList = new QmlProfilerEventList(this);
connect(this,SIGNAL(range(int,qint64,qint64,QStringList,QString,int)), m_eventList, SLOT(addRangedEvent(int,qint64,qint64,QStringList,QString,int)));
connect(this, SIGNAL(traceFinished(qint64)), m_eventList, SLOT(setTraceEndTime(qint64)));
connect(this,SIGNAL(viewUpdated()), m_eventList, SLOT(complete()));
m_view->rootContext()->setContextProperty("qmlEventList", m_eventList);
@@ -139,6 +140,7 @@ void TraceWindow::reset(QDeclarativeDebugConnection *conn)
m_v8plugin = new QV8ProfilerClient(conn);
connect(m_v8plugin.data(), SIGNAL(complete()), this, SLOT(v8Complete()));
connect(m_v8plugin.data(), SIGNAL(v8range(int,QString,QString,int,double,double)), this, SIGNAL(v8range(int,QString,QString,int,double,double)));
connect(m_plugin.data(), SIGNAL(traceFinished(qint64)), this, SIGNAL(traceFinished(qint64)));
m_view->rootContext()->setContextProperty("connection", m_plugin.data());
m_view->setSource(QUrl("qrc:/qmlprofiler/MainView.qml"));

View File

@@ -78,9 +78,9 @@ signals:
void gotoSourceLocation(const QString &fileUrl, int lineNumber);
void timeChanged(qreal newTime);
void range(int type, qint64 startTime, qint64 length, const QStringList &data, const QString &fileName, int line);
void v8range(int depth,const QString &function,const QString &filename,
int lineNumber, double totalTime, double selfTime);
void traceFinished(qint64);
void internalClearDisplay();
void jumpToPrev();