forked from qt-creator/qt-creator
Remove V8 profiler client
Change-Id: I3b4966aca5026d090a5a7653be6dd09bd0ea66fd Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
@@ -15,7 +15,6 @@ HEADERS += \
|
|||||||
$$PWD/qmlprofilereventtypes.h \
|
$$PWD/qmlprofilereventtypes.h \
|
||||||
$$PWD/qmlprofilertraceclient.h \
|
$$PWD/qmlprofilertraceclient.h \
|
||||||
$$PWD/qpacketprotocol.h \
|
$$PWD/qpacketprotocol.h \
|
||||||
$$PWD/qv8profilerclient.h \
|
|
||||||
$$PWD/qmldebugconstants.h \
|
$$PWD/qmldebugconstants.h \
|
||||||
$$PWD/qdebugmessageclient.h \
|
$$PWD/qdebugmessageclient.h \
|
||||||
$$PWD/qmlenginedebugclient.h \
|
$$PWD/qmlenginedebugclient.h \
|
||||||
@@ -30,7 +29,6 @@ SOURCES += \
|
|||||||
$$PWD/qmloutputparser.cpp \
|
$$PWD/qmloutputparser.cpp \
|
||||||
$$PWD/qmlprofilertraceclient.cpp \
|
$$PWD/qmlprofilertraceclient.cpp \
|
||||||
$$PWD/qpacketprotocol.cpp \
|
$$PWD/qpacketprotocol.cpp \
|
||||||
$$PWD/qv8profilerclient.cpp \
|
|
||||||
$$PWD/qdebugmessageclient.cpp \
|
$$PWD/qdebugmessageclient.cpp \
|
||||||
$$PWD/basetoolsclient.cpp \
|
$$PWD/basetoolsclient.cpp \
|
||||||
$$PWD/declarativetoolsclient.cpp \
|
$$PWD/declarativetoolsclient.cpp \
|
||||||
|
@@ -1,158 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include "qv8profilerclient.h"
|
|
||||||
|
|
||||||
namespace QmlDebug {
|
|
||||||
|
|
||||||
class QV8ProfilerClientPrivate {
|
|
||||||
public:
|
|
||||||
QV8ProfilerClientPrivate(QV8ProfilerClient *_q)
|
|
||||||
: q(_q)
|
|
||||||
, recording(false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void sendRecordingStatus();
|
|
||||||
|
|
||||||
QV8ProfilerClient *q;
|
|
||||||
bool recording;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace QmlDebug
|
|
||||||
|
|
||||||
using namespace QmlDebug;
|
|
||||||
|
|
||||||
void QV8ProfilerClientPrivate::sendRecordingStatus()
|
|
||||||
{
|
|
||||||
QByteArray ba;
|
|
||||||
QDataStream stream(&ba, QIODevice::WriteOnly);
|
|
||||||
QByteArray cmd("V8PROFILER");
|
|
||||||
QByteArray option("");
|
|
||||||
QByteArray title("");
|
|
||||||
|
|
||||||
if (recording)
|
|
||||||
option = "start";
|
|
||||||
else
|
|
||||||
option = "stop";
|
|
||||||
stream << cmd << option << title;
|
|
||||||
q->sendMessage(ba);
|
|
||||||
}
|
|
||||||
|
|
||||||
QV8ProfilerClient::QV8ProfilerClient(QmlDebugConnection *client)
|
|
||||||
: QmlDebugClient(QLatin1String("V8Profiler"), client)
|
|
||||||
, d(new QV8ProfilerClientPrivate(this))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QV8ProfilerClient::~QV8ProfilerClient()
|
|
||||||
{
|
|
||||||
//Disable profiling if started by client
|
|
||||||
//Profiling data will be lost!!
|
|
||||||
if (isRecording())
|
|
||||||
setRecording(false);
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::clearData()
|
|
||||||
{
|
|
||||||
emit cleared();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QV8ProfilerClient::isEnabled() const
|
|
||||||
{
|
|
||||||
return state() == Enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::sendRecordingStatus()
|
|
||||||
{
|
|
||||||
d->sendRecordingStatus();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QV8ProfilerClient::isRecording() const
|
|
||||||
{
|
|
||||||
return d->recording;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::setRecording(bool v)
|
|
||||||
{
|
|
||||||
if (v == d->recording)
|
|
||||||
return;
|
|
||||||
|
|
||||||
d->recording = v;
|
|
||||||
|
|
||||||
if (state() == Enabled)
|
|
||||||
sendRecordingStatus();
|
|
||||||
|
|
||||||
emit recordingChanged(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::setRecordingFromServer(bool v)
|
|
||||||
{
|
|
||||||
if (v == d->recording)
|
|
||||||
return;
|
|
||||||
|
|
||||||
d->recording = v;
|
|
||||||
|
|
||||||
emit recordingChanged(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::stateChanged(State /*status*/)
|
|
||||||
{
|
|
||||||
emit enabledChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QV8ProfilerClient::messageReceived(const QByteArray &data)
|
|
||||||
{
|
|
||||||
QByteArray rwData = data;
|
|
||||||
QDataStream stream(&rwData, QIODevice::ReadOnly);
|
|
||||||
|
|
||||||
int messageType;
|
|
||||||
|
|
||||||
stream >> messageType;
|
|
||||||
|
|
||||||
if (messageType == V8Complete) {
|
|
||||||
setRecordingFromServer(false);
|
|
||||||
emit complete();
|
|
||||||
} else if (messageType == V8ProfilingStarted) {
|
|
||||||
setRecordingFromServer(true);
|
|
||||||
} else if (messageType == V8Entry) {
|
|
||||||
QString filename;
|
|
||||||
QString function;
|
|
||||||
int lineNumber;
|
|
||||||
double totalTime;
|
|
||||||
double selfTime;
|
|
||||||
int depth;
|
|
||||||
|
|
||||||
stream >> filename >> function >> lineNumber >> totalTime >> selfTime >> depth;
|
|
||||||
emit this->v8range(depth, function, filename, lineNumber, totalTime, selfTime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@@ -1,94 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms and
|
|
||||||
** conditions see http://www.qt.io/terms-conditions. For further information
|
|
||||||
** use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef QV8PROFILERCLIENT_H
|
|
||||||
#define QV8PROFILERCLIENT_H
|
|
||||||
|
|
||||||
#include "qmldebugclient.h"
|
|
||||||
#include "qmlprofilereventtypes.h"
|
|
||||||
#include "qmldebug_global.h"
|
|
||||||
|
|
||||||
#include <QStack>
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
namespace QmlDebug {
|
|
||||||
|
|
||||||
class QMLDEBUG_EXPORT QV8ProfilerClient : public QmlDebugClient
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PROPERTY(bool enabled READ isEnabled NOTIFY enabledChanged)
|
|
||||||
Q_PROPERTY(bool recording READ isRecording WRITE setRecording NOTIFY recordingChanged)
|
|
||||||
|
|
||||||
public:
|
|
||||||
enum Message {
|
|
||||||
V8Entry,
|
|
||||||
V8Complete,
|
|
||||||
V8SnapshotChunk,
|
|
||||||
V8SnapshotComplete,
|
|
||||||
V8ProfilingStarted,
|
|
||||||
|
|
||||||
V8MaximumMessage
|
|
||||||
};
|
|
||||||
|
|
||||||
QV8ProfilerClient(QmlDebugConnection *client);
|
|
||||||
~QV8ProfilerClient();
|
|
||||||
|
|
||||||
bool isEnabled() const;
|
|
||||||
bool isRecording() const;
|
|
||||||
void setRecording(bool);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void clearData();
|
|
||||||
void sendRecordingStatus();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void complete();
|
|
||||||
void v8range(int depth, const QString &function, const QString &filename,
|
|
||||||
int lineNumber, double totalTime, double selfTime);
|
|
||||||
|
|
||||||
void recordingChanged(bool arg);
|
|
||||||
|
|
||||||
void enabledChanged();
|
|
||||||
void cleared();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void setRecordingFromServer(bool);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual void stateChanged(State);
|
|
||||||
virtual void messageReceived(const QByteArray &);
|
|
||||||
|
|
||||||
private:
|
|
||||||
class QV8ProfilerClientPrivate *d;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace QmlDebug
|
|
||||||
|
|
||||||
#endif // QV8PROFILERCLIENT_H
|
|
Reference in New Issue
Block a user