![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qqmlabstractprofileradapter_p.h>
Signals | |
| void | profilingEnabled (quint64 features) |
| void | profilingEnabledWhileWaiting (quint64 features) |
| void | profilingDisabled () |
| void | profilingDisabledWhileWaiting () |
| void | dataRequested () |
| void | referenceTimeKnown (const QElapsedTimer &timer) |
| Signals inherited from QObject | |
| void | destroyed (QObject *=nullptr) |
| This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
| void | objectNameChanged (const QString &objectName, QPrivateSignal) |
| This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
| QQmlAbstractProfilerAdapter (QObject *parent=nullptr) | |
| ~QQmlAbstractProfilerAdapter () override | |
| void | setService (QQmlProfilerService *new_service) |
| virtual qint64 | sendMessages (qint64 until, QList< QByteArray > &messages)=0 |
| void | startProfiling (quint64 features) |
| void | stopProfiling () |
| void | reportData () |
| void | stopWaiting () |
| void | startWaiting () |
| bool | isRunning () const |
| quint64 | features () const |
| void | synchronize (const QElapsedTimer &t) |
| Public Member Functions inherited from QObject | |
| Q_INVOKABLE | QObject (QObject *parent=nullptr) |
| Constructs an object with parent object parent. | |
| virtual | ~QObject () |
| Destroys the object, deleting all its child objects. | |
| virtual bool | event (QEvent *event) |
| This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
| virtual bool | eventFilter (QObject *watched, QEvent *eventevent) |
| Filters events if this object has been installed as an event filter for the watched object. | |
| QString | objectName () const |
| Q_WEAK_OVERLOAD void | setObjectName (const QString &namename) |
| Sets the object's name to name. | |
| void | setObjectName (QAnyStringView namename) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| QBindable< QString > | bindableObjectName () |
| bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. | |
| bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false. | |
| bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false. | |
| bool | isQmlExposed () const noexcept |
| Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership(). | |
| bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false. | |
| bool | blockSignals (bool b) noexcept |
| If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
| QThread * | thread () const |
| Returns the thread in which the object lives. | |
| bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
| int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
| This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
| int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
| void | killTimer (int idid) |
| Kills the timer with timer identifier, id. | |
| void | killTimer (Qt::TimerId idid) |
| template<typename T> | |
| T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
| template<typename T> | |
| QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
| template<typename T> | |
| T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<typename T> | |
| QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| const QObjectList & | children () const |
| Returns a list of child objects. | |
| void | setParent (QObject *parent) |
| Makes the object a child of parent. | |
| void | installEventFilter (QObject *filterObj) |
| Installs an event filter filterObj on this object. | |
| void | removeEventFilter (QObject *objobj) |
| Removes an event filter object obj from this object. | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType typetype=Qt::AutoConnection) const |
| bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
| bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
| void | dumpObjectTree () const |
| Dumps a tree of children to the debug output. | |
| void | dumpObjectInfo () const |
| Dumps information about signal connections, etc. | |
| bool | setProperty (const char *namename, const QVariant &valuevalue) |
| Sets the value of the object's name property to value. | |
| bool | setProperty (const char *namename, QVariant &&valuevalue) |
| QVariant | property (const char *namename) const |
| Returns the value of the object's name property. | |
| QList< QByteArray > | dynamicPropertyNames () const |
| QBindingStorage * | bindingStorage () |
| const QBindingStorage * | bindingStorage () const |
| QObject * | parent () const |
| Returns a pointer to the parent object. | |
| bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. | |
Static Public Attributes | |
| static const int | s_numMessagesPerBatch = 1000 |
Protected Attributes | |
| QQmlProfilerService * | service = nullptr |
| Protected Attributes inherited from QObject | |
| QScopedPointer< QObjectData > | d_ptr |
Additional Inherited Members | |
| Public Types inherited from QQmlProfilerDefinitions | |
| enum | Message { Event , RangeStart , RangeData , RangeLocation , RangeEnd , Complete , PixmapCacheEvent , SceneGraphFrame , MemoryAllocation , DebugMessage , Quick3DFrame , MaximumMessage } |
| enum | EventType { FramePaint , Mouse , Key , AnimationFrame , EndTrace , StartTrace , MaximumEventType } |
| enum | RangeType { Painting , Compiling , Creating , Binding , HandlingSignal , Javascript , MaximumRangeType } |
| enum | PixmapEventType { PixmapSizeKnown , PixmapReferenceCountChanged , PixmapCacheCountChanged , PixmapLoadingStarted , PixmapLoadingFinished , PixmapLoadingError , MaximumPixmapEventType } |
| enum | SceneGraphFrameType { SceneGraphRendererFrame , SceneGraphAdaptationLayerFrame , SceneGraphContextFrame , SceneGraphRenderLoopFrame , SceneGraphTexturePrepare , SceneGraphTextureDeletion , SceneGraphPolishAndSync , SceneGraphWindowsRenderShow , SceneGraphWindowsAnimations , SceneGraphPolishFrame , MaximumSceneGraphFrameType , NumRenderThreadFrameTypes = SceneGraphPolishAndSync , NumGUIThreadFrameTypes = MaximumSceneGraphFrameType - NumRenderThreadFrameTypes } |
| enum | Quick3DFrameType { Quick3DRenderFrame , Quick3DSynchronizeFrame , Quick3DPrepareFrame , Quick3DMeshLoad , Quick3DCustomMeshLoad , Quick3DTextureLoad , Quick3DGenerateShader , Quick3DLoadShader , Quick3DParticleUpdate , Quick3DRenderCall , Quick3DRenderPass , Quick3DEventData , MaximumQuick3DFrameType } |
| enum | ProfileFeature { ProfileJavaScript , ProfileMemory , ProfilePixmapCache , ProfileSceneGraph , ProfileAnimations , ProfilePainting , ProfileCompiling , ProfileCreating , ProfileBinding , ProfileHandlingSignal , ProfileInputEvents , ProfileDebugMessages , ProfileQuick3D , MaximumProfileFeature } |
| enum | InputEventType { InputKeyPress , InputKeyRelease , InputKeyUnknown , InputMousePress , InputMouseRelease , InputMouseMove , InputMouseDoubleClick , InputMouseWheel , InputMouseUnknown , MaximumInputEventType } |
| Public Slots inherited from QObject | |
| void | deleteLater () |
| \threadsafe | |
| Static Public Member Functions inherited from QObject | |
| static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
| \threadsafe | |
| static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType typetype=Qt::AutoConnection) |
| template<typename Func1, typename Func2> | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType typetype=Qt::AutoConnection) |
| template<typename Func1, typename Func2> | |
| static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
| static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
| \threadsafe | |
| static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
| static bool | disconnect (const QMetaObject::Connection &) |
| Disconnects connection and resets it to \l{QMetaObject::Connection::operator bool()}{invalid}. | |
| static bool | disconnect (QMetaObject::Connection &) |
| static bool | disconnect (QMetaObject::Connection &&conn) |
| Disconnect a connection. | |
| template<typename Func1, typename Func2> | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
| template<typename Func1> | |
| static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
| Protected Member Functions inherited from QObject | |
| QObject * | sender () const |
| Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
| int | senderSignalIndex () const |
| int | receivers (const char *signal) const |
| Returns the number of receivers connected to the signal. | |
| bool | isSignalConnected (const QMetaMethod &signal) const |
| virtual void | timerEvent (QTimerEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive timer events for the object. | |
| virtual void | childEvent (QChildEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive child events. | |
| virtual void | customEvent (QEvent *eventevent) |
| This event handler can be reimplemented in a subclass to receive custom events. | |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
| Properties inherited from QObject | |
| QString | objectName |
| the name of this object | |
| Related Symbols inherited from QObject | |
| template< class T > T | qobject_cast (const QObject *objectobject) |
| Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
| template< typename T > T | qFindChildqFindChildren (const QObject *objobj, const QString &namename)() |
| template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *objobj, const QString &namename)() |
| QObjectList | |
| \macro Q_CLASSINFO(Name, Value) | |
\inmodule QtQml Abstract base class for all adapters between profilers and the QQmlProfilerService. Adapters have to retrieve profiler-specific data and convert it to the format sent over the wire. Adapters must live in the QDebugServer thread but the actual profilers can live in different threads. The recommended way to deal with this is passing the profiling data through a signal/slot connection.
Definition at line 31 of file qqmlabstractprofileradapter_p.h.
Definition at line 37 of file qqmlabstractprofileradapter_p.h.
|
inlineoverride |
Definition at line 38 of file qqmlabstractprofileradapter_p.h.
|
signal |
Signals that data has been requested by the QQmlProfilerService. This signal should be connected to a slot in the profiler and the profiler should then transfer its currently available profiling data to the adapter as soon as possible.
|
inline |
Definition at line 61 of file qqmlabstractprofileradapter_p.h.
|
inline |
Returns if the profiler is currently running. The profiler is considered to be running after startProfiling(quint64) has been called until stopProfiling() is called. That is independent of waiting. The profiler may be running and waiting at the same time.
Definition at line 60 of file qqmlabstractprofileradapter_p.h.
|
signal |
This signal is emitted if stopProfiling() is called while the profiler is not considered to be waiting. The profiler is expected to handle the signal asynchronously.
|
signal |
This signal is emitted if stopProfiling() is called while the profiler is considered to be waiting. In many cases this signal can be connected with a Qt::DirectConnection.
This signal is emitted if startProfiling(quint64) is called while the profiler is not considered to be waiting. The profiler is expected to handle the signal asynchronously. The features are passed on from startProfiling(quint64).
This signal is emitted if startProfiling(quint64) is called while the profiler is considered to be waiting. In many cases this signal can be connected with a Qt::DirectConnection. By starting the profiler synchronously when the QML engine starts instead of waiting for the first iteration of the event loop the engine startup can be profiled. The features are passed on from startProfiling(quint64).
|
signal |
This signal is used to synchronize the profiler's timer to the QQmlProfilerservice's. The profiler is expected to save timer and use it for timestamps on its data.
|
inline |
Make the profiler report its current data without stopping the collection. The same (and additional) data can later be requested again with stopProfiling() or reportData().
Definition at line 55 of file qqmlabstractprofileradapter_p.h.
|
pure virtual |
Append the messages up to the timestamp until, chronologically sorted, to messages. Keep track of the messages already sent and with each subsequent call to this method start with the first one not yet sent. Messages that have been sent can be deleted. When new data from the profiler arrives the information about the last sent message must be reset. Return the timestamp of the next message after until or -1 if there is no such message. The profiler service keeps a list of adapters, sorted by time of next message and keeps querying the first one to send messages up to the time of the second one. Like that we get chronologically sorted messages and can occasionally post the messages to exploit parallelism and save memory.
Implemented in QQmlProfilerAdapter, QQuick3DProfilerAdapter, QQuickProfilerAdapter, and QV4ProfilerAdapter.
|
inline |
Definition at line 47 of file qqmlabstractprofileradapter_p.h.
Emits either profilingEnabled(quint64) or profilingEnabledWhileWaiting(quint64), depending on waiting. If the profiler's thread is waiting for an initial start signal, we can emit the signal over a Qt::DirectConnection to avoid the delay of the event loop. The features are passed on to the signal.
Definition at line 47 of file qqmlabstractprofileradapter.cpp.
|
inline |
Consider the profiler to be waiting from now on. While the profiler is waiting it can be directly accessed even if it is in a different thread. This method should only be called if it is actually safe to do so.
Definition at line 58 of file qqmlabstractprofileradapter_p.h.
| void QQmlAbstractProfilerAdapter::stopProfiling | ( | ) |
Emits either profilingDisabled() or profilingDisabledWhileWaiting(), depending on waiting. If the profiler's thread is waiting for an initial start signal, we can emit the signal over a Qt::DirectConnection to avoid the delay of the event loop. This should trigger the profiler to report its collected data and subsequently delete it.
Definition at line 64 of file qqmlabstractprofileradapter.cpp.
|
inline |
Consider the profiler not to be waiting anymore. If it lives in a different threads any requests for it have to be done via a queued connection then.
Definition at line 57 of file qqmlabstractprofileradapter_p.h.
|
inline |
Synchronize the profiler to timer. This emits referenceTimeKnown().
Definition at line 63 of file qqmlabstractprofileradapter_p.h.
|
static |
Definition at line 35 of file qqmlabstractprofileradapter_p.h.
|
protected |
Definition at line 76 of file qqmlabstractprofileradapter_p.h.