Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmlprofilerservice.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant
4
5
#
ifndef
QQMLPROFILERSERVICE_P_H
6
#
define
QQMLPROFILERSERVICE_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
private
/
qqmlconfigurabledebugservice_p
.
h
>
20
#
include
<
private
/
qqmldebugserviceinterfaces_p
.
h
>
21
#
include
<
private
/
qqmlprofilerdefinitions_p
.
h
>
22
#
include
<
private
/
qqmlabstractprofileradapter_p
.
h
>
23
#
include
<
private
/
qqmlboundsignal_p
.
h
>
24
#
include
<
private
/
qqmldebugconnector_p
.
h
>
25
#
include
<
private
/
qversionedpacket_p
.
h
>
26
27
#
include
<
QtCore
/
qelapsedtimer
.
h
>
28
#
include
<
QtCore
/
qmetaobject
.
h
>
29
#
include
<
QtCore
/
qmutex
.
h
>
30
#
include
<
QtCore
/
qvector
.
h
>
31
#
include
<
QtCore
/
qstringbuilder
.
h
>
32
#
include
<
QtCore
/
qwaitcondition
.
h
>
33
#
include
<
QtCore
/
qtimer
.
h
>
34
35
#
include
<
limits
>
36
37
QT_BEGIN_NAMESPACE
38
39
class
QUrl;
40
using
QQmlDebugPacket = QVersionedPacket<QQmlDebugConnector>;
41
42
class
QQmlProfilerServiceImpl
:
43
public
QQmlConfigurableDebugService
<
QQmlProfilerService
>,
44
public
QQmlProfilerDefinitions
45
{
46
Q_OBJECT
47
public
:
48
49
void
engineAboutToBeAdded
(
QJSEngine
*
engine
)
override
;
50
void
engineAboutToBeRemoved
(QJSEngine *engine)
override
;
51
void
engineAdded
(QJSEngine *engine)
override
;
52
void
engineRemoved
(QJSEngine *engine)
override
;
53
54
void
addGlobalProfiler
(QQmlAbstractProfilerAdapter *profiler)
override
;
55
void
removeGlobalProfiler
(QQmlAbstractProfilerAdapter *profiler)
override
;
56
57
void
startProfiling
(QJSEngine *engine,
58
quint64 features =
std
::
numeric_limits
<
quint64
>::
max
())
override
;
59
void
stopProfiling
(QJSEngine *engine)
override
;
60
61
QQmlProfilerServiceImpl
(QObject *parent =
nullptr
);
62
~
QQmlProfilerServiceImpl
()
override
;
63
64
void
dataReady
(QQmlAbstractProfilerAdapter *profiler)
override
;
65
66
Q_SIGNALS
:
67
void
startFlushTimer
();
68
void
stopFlushTimer
();
69
70
protected
:
71
void
stateAboutToBeChanged
(State state)
override
;
72
void
messageReceived
(
const
QByteArray &)
override
;
73
74
private
:
75
friend
class
QQmlProfilerServiceFactory
;
76
77
void
sendMessages();
78
void
addEngineProfiler(QQmlAbstractProfilerAdapter *profiler, QJSEngine *engine);
79
void
removeProfilerFromStartTimes(
const
QQmlAbstractProfilerAdapter *profiler);
80
void
flush();
81
82
QElapsedTimer m_timer;
83
QTimer m_flushTimer;
84
bool
m_waitingForStop;
85
86
bool
m_globalEnabled;
87
quint64 m_globalFeatures;
88
89
QList<QQmlAbstractProfilerAdapter *> m_globalProfilers;
90
QMultiHash<QJSEngine *, QQmlAbstractProfilerAdapter *> m_engineProfilers;
91
QList<QJSEngine *> m_stoppingEngines;
92
QMultiMap<qint64, QQmlAbstractProfilerAdapter *> m_startTimes;
93
};
94
95
QT_END_NAMESPACE
96
97
#
endif
// QQMLPROFILERSERVICE_P_H
QQmlProfilerServiceFactory
Definition
qqmlprofilerservicefactory.h:24
QQmlProfilerServiceImpl
\inmodule QtQml
Definition
qqmlprofilerservice.h:45
QQmlProfilerServiceImpl::engineAboutToBeRemoved
void engineAboutToBeRemoved(QJSEngine *engine) override
Definition
qqmlprofilerservice.cpp:128
QQmlProfilerServiceImpl::engineAdded
void engineAdded(QJSEngine *engine) override
Definition
qqmlprofilerservice.cpp:113
QQmlProfilerServiceImpl::stopFlushTimer
void stopFlushTimer()
QQmlProfilerServiceImpl::messageReceived
void messageReceived(const QByteArray &) override
Definition
qqmlprofilerservice.cpp:407
QQmlProfilerServiceImpl::stateAboutToBeChanged
void stateAboutToBeChanged(State state) override
Definition
qqmlprofilerservice.cpp:391
QQmlProfilerServiceImpl::addGlobalProfiler
void addGlobalProfiler(QQmlAbstractProfilerAdapter *profiler) override
Definition
qqmlprofilerservice.cpp:172
QQmlProfilerServiceImpl::dataReady
void dataReady(QQmlAbstractProfilerAdapter *profiler) override
Definition
qqmlprofilerservice.cpp:60
QQmlProfilerServiceImpl::engineRemoved
void engineRemoved(QJSEngine *engine) override
Definition
qqmlprofilerservice.cpp:150
QQmlProfilerServiceImpl::stopProfiling
void stopProfiling(QJSEngine *engine) override
Stop profiling the given engine.
Definition
qqmlprofilerservice.cpp:277
QQmlProfilerServiceImpl::QQmlProfilerServiceImpl
QQmlProfilerServiceImpl(QObject *parent=nullptr)
Definition
qqmlprofilerservice.cpp:29
QQmlProfilerServiceImpl::removeGlobalProfiler
void removeGlobalProfiler(QQmlAbstractProfilerAdapter *profiler) override
Definition
qqmlprofilerservice.cpp:191
QQmlProfilerServiceImpl::startProfiling
void startProfiling(QJSEngine *engine, quint64 features=std::numeric_limits< quint64 >::max()) override
Start profiling the given engine.
Definition
qqmlprofilerservice.cpp:217
QQmlProfilerServiceImpl::~QQmlProfilerServiceImpl
~QQmlProfilerServiceImpl() override
Definition
qqmlprofilerservice.cpp:52
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qQmlProfilerDataToByteArrays
static void qQmlProfilerDataToByteArrays(const QQmlProfilerData &d, QQmlProfiler::LocationHash &locations, QList< QByteArray > &messages)
Definition
qqmlprofileradapter.cpp:46
qtdeclarative
src
plugins
qmltooling
qmldbg_profiler
qqmlprofilerservice.h
Generated on
for Qt by
1.18.0