aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlprofiler
Commit message (Collapse)AuthorAgeFilesLines
* Make QtQmlDebug independent of QtQmlUlf Hermann2018-04-245-65/+60
| | | | | | | | | | | | | | | | This means QtQmlDebug needs its own qqmlprofilerdefintions.h. This is a good thing because this way we notice if we change the definitions in an incompatible way. The test uses QtQmlDebug after all. Also, qqmldebugserviceinterfaces_p.h is not available anymore, which means the service names have to be spelled out. This, also, is beneficial as it prevents us from accidentally changing the names. In the context of QmlDebug we don't need to namespace the profiler definitions, either. This simplifies some code. Task-number: QTBUG-60996 Change-Id: Ibb39e48c9b758687d68b8ce4431f45eb26939a09 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-1/+1
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-122-0/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/shapes/qquickshape.cpp src/imports/shapes/qquickshape_p_p.h src/qml/compiler/qqmlpropertycachecreator_p.h src/qml/jsruntime/qv4value_p.h src/quick/items/qquickloader_p.h tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp tools/qmlprofiler/qmlprofilerapplication.cpp Change-Id: Iafc66ae84bf78630ed72a986acb678e9d19e3a69
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-02-052-0/+19
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp Change-Id: I64f7c1d776fab3cad4530f291b93afd2a8fb8533
| | * qmlprofiler tool: In attach mode, finish when connection dropsUlf Hermann2018-02-022-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | We won't have a process that terminates in this case and we don't want to wait forever. Task-number: QTBUG-66159 Change-Id: I5d0bbe2f8bc9c7cbc8732272ccca779d5f9bcc7d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Use better QmlProfiler client from Qt CreatorUlf Hermann2018-02-026-588/+387
|/ / | | | | | | | | | | | | | | | | | | | | | | This client can track locations itself, and thus doesn't require the server to send the event types over and over with each message. Once all our client implementations have this feature we can drop a lot of code. Furthermore, this way we can write regression tests for bugs that only occur when client side location tracking is active. Change-Id: I3735392452e20a7be98e92b900fadef04701d85f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Adjust QMAKE_TARGET_PRODUCT, QMAKE_TARGET_DESCRIPTIONKai Koehne2017-07-281-2/+1
| | | | | | | | | | | | | | | | | | | | The product should be Qt5 (the default). The QMAKE_TARGET_DESCRIPTION is actually less than a description but a beautified name, that is shown e.g. in the task manager, crash reporting tool etc. Make it title case, like most Windows applications do. Change-Id: I570aee2c2016e78fdb7a93c2d7a66b70fdcb0cff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove custom setting of qmake VERSION field in toolsKai Koehne2017-07-281-6/+0
| | | | | | | | | | | | | | | | qt_tool.prf sets the VERSION to MODULE_VERSION by default. Also, qmake automatically makes it a quadruple for the .rc file metadata. Change-Id: Ie2d0f2022c4416ce824a6786eef4a8c461ed70f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-05-023-0/+5
|\| | | | | | | Change-Id: I71275a2076c3d32ee2896571be882067320a2e9e
| * Run includemocs in qtdeclarativeThiago Macieira2017-04-263-0/+5
| | | | | | | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Migrate to QRegularExpressionSamuel Gaist2017-04-091-5/+5
|/ | | | | | | | This patch updates the code base to use QRegularExpression in the place of the deprecated QRegExp class. Change-Id: I3231ac9f7902a1cd16cd4ef5f26e6cdc05e2fa4b Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QRegExp include cleanupSamuel Gaist2017-03-171-0/+1
| | | | | | | | This patch adds missing include statement where the QRegExp class is used. Change-Id: I02d2995dd380f1e4db3777ae9759098c0e7757bd Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-241-0/+9
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/quick/accessible/qaccessiblequickview_p.h src/quick/items/qquickmousearea.cpp src/quick/util/qquickanimatorjob.cpp tools/qmlplugindump/main.cpp Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
| * Tools: Add product name, version and description to the .pro filesFriedemann Kleint2017-01-311-0/+9
| | | | | | | | | | | | | | | | This information will then be visible in Windows explorer. Change-Id: I9d2f936584308394b4e3246d57bed44083b3cbca Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | headers: Add missing override and remove redundant virtualAlexander Volkov2016-12-071-13/+13
| | | | | | | | | | | | Change-Id: Ifa816ebcd79372afca42dbd0dc0ecde006bb688a Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tools: use const (and const APIs) moreAnton Kudryavtsev2016-08-221-5/+5
|/ | | | | | | For CoW types, prefer const methods to avoid needless detach()ing. Change-Id: If9018391c001eba3b4b2061d06c4caa8136811ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tools: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-202-3/+3
| | | | | | | | | Mark some local variables or parameters as const to prevent detach()'ing. Use qAsConst where is not possible mark as const. Change-Id: I0a777c3bd855abd3bb1ad0907152360cf4a1050e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tools: use QStringRef moreAnton Kudryavtsev2016-08-122-6/+6
| | | | | | Change-Id: I4fccbfb2b965daf3a31846d1d51d39eb74ad944d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Tooling: Convert connects to Qt5 styleUlf Hermann2016-07-285-28/+30
| | | | | Change-Id: I6746b777f73d047f5cf610bfca9b320ac1e13676 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Updated license headersJani Heikkinen2016-01-2010-170/+120
| | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Tools: fix expensive iteration over QHash::keys()Anton Kudryavtsev2016-01-151-3/+6
| | | | | Change-Id: I902bafdbc2ddfceeacfc9ef274513a2b0a23aed7 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* QtDeclarative: use prefix ++/-- for iterator typesAnton Kudryavtsev2016-01-091-2/+2
| | | | | | | | ... because it's useful for non-primitive types. These were the only two remaining instances in QtDeclarative. Change-Id: I52eba66313e953762d87313ccbd7ee0be9039be1 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Extend QDebugMessageServiceUlf Hermann2015-11-171-1/+5
| | | | | | | | Add category and timestamp, and allow synchronizing the timestamps with QQmlProfilerService. Change-Id: I8dc67e43e1087e231167fc4cfdfb5f659e00c5b2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlDebug: Restructure QPacket and QPacketProtocolUlf Hermann2015-11-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | We cannot use the same data stream version for the client and server versions of QPacket and QPacketProtocol should not deal with QPackets but with simple byte arrays because the underlying QDataStream is hard to copy. The new QQmlDebugPacket picks its data stream version from QQmlDebugConnector now, which adjusts it when connecting. As there can only ever be one QQmlDebugConnector, we can keep the version static. The clients need to query the connection for the correct version. We may connect to several different servers sequentially or we may have a server running while using a client, and we don't want to confuse the versions between those. With this in place, all remaining occurrences of QDataStream are replaced with QPacket or QQmlDebugPacket. Change-Id: I3f6ba73fcbfad5e8df917c5feb9308116738a614 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlProfiler: Remove "Source code not available"Ulf Hermann2015-11-051-3/+1
| | | | | | | | | A missing tag is much better to express that piece of information. The original message would have to be parsed in order to figure out that it's actually not source code. Change-Id: I3cc7cad26c4fad84f5d1aa63c59a84523109dd2e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Move QML profiler client to qmldebugUlf Hermann2015-10-307-326/+168
| | | | | Change-Id: I506909b68be6cbad631d1645673c2d38460aed33 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlProfiler: Collect useful input eventsUlf Hermann2015-10-305-16/+62
| | | | | | | | | Just "Key" or "Mouse" as only attributes of input events are not very useful. This change adds some additional information and also collects input events from QQuickWindow. Change-Id: I062bbffeef3fa87776bc8be33f2321edf793faa2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* qmlprofiler: Use local socket connection by defaultUlf Hermann2015-10-302-14/+31
| | | | | | | This is faster and more reliable. Change-Id: I2eef4c7ffa99daf68d0f7a53a959f4fc788666c5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Move QQmlDebugClient into separate static libraryUlf Hermann2015-10-306-534/+13
| | | | | Change-Id: Ib3daf9da2cf6798bd022cfcf54d11e565c9cb4ca Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlProfiler: Remove binding typesUlf Hermann2015-10-281-14/+2
| | | | | | | | | There is only one type of binding left and as all clients check atEnd() before trying to get the bindingType from the stream we can just remove all of this. Change-Id: I4d50ef4a691630b521292cb622ef539b3494a970 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QmlProfiler: Fix lookup of type stringsUlf Hermann2015-10-281-2/+2
| | | | | | | sizeof(QString) == sizeof(char *), but only incidentally. Change-Id: I1d39825746f5c6a74b540be7f254afbf0fb375d0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* qmlprofiler: Clear trace client when trace is finishedUlf Hermann2015-10-151-0/+4
| | | | | | | | If the application was killed with -9 or similar there may be some open ranges left. We don't want them to influence the next session. Change-Id: I284086ff96d81a829f02e160ef8b82417fd51466 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* qmlprofiler: Simplify QmlProfilerClientUlf Hermann2015-10-154-84/+32
| | | | | | | We only need one class for it now. Change-Id: Iea2715993c0ce168a3ceeecbb694f1ad3585da68 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Put QPacketProtocol into its own static libraryUlf Hermann2015-10-154-644/+8
| | | | | | | | | | | | We need it in 3 places in qtdeclarative and we could also use it in QtCreator. We don't want to bundle it with the debug client code as it is also necessary for the server. QPacket replaces QQmlDebugStream as it has the same purpose. This also fixes the inconsitent handling of data stream versions. Change-Id: I650fae353f267511c551b427d9169f4d718aa7f2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-142-3/+3
|\ | | | | | | Change-Id: I11ea57222ba5aa683b7bfd7735fbc1d2cf86e875
| * Tools: Fix single-character string literals.Friedemann Kleint2015-10-132-3/+3
| | | | | | | | | | | | | | Use character literals where applicable. Change-Id: I55679dcc13c4c79567712c0dfaaabc2b84fee010 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | qmlprofiler: Improve output of event location and optional descriptionsUlf Hermann2015-09-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | Line and column information can be useful even without a file name. The file name can sometimes be inferred from the function being run and doesn't have to be stated again. Empty displayName and details tags are pretty useless, though. Change-Id: I0a65696d391e00d56f04acf646e3179dca163883 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | qmlprofiler: Remove V8 profiler clientUlf Hermann2015-08-286-264/+3
|/ | | | | | | It's been a long time since the last Qt version with V8. Change-Id: Iae36dd1c5bb6275254c6a64a8e6b843454139e2b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Ulf Hermann2015-08-182-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv4debugservice.cpp src/qml/jsruntime/qv4value_inl_p.h src/qml/jsruntime/qv4value_p.h src/qml/memory/qv4mm.cpp src/qml/memory/qv4mm_p.h src/qml/qml/qqmlnotifier_p.h src/qml/qml/qqmlproperty.cpp src/quick/items/qquickflickable.cpp src/quick/items/qquicktextedit.cpp tests/auto/quick/qquickwindow/BLACKLIST The extra changes in qqmlbinding.cpp are ported from changes to qqmlproperty.cpp that occurred in parallel with writeBinding() being moved to qqmlbinding.cpp. Change-Id: I16d1920abf448c29a01822256f52153651a56356
| * qmlprofiler: Add missing #include <limits>.Friedemann Kleint2015-07-282-0/+4
| | | | | | | | | | | | | | Fixes the build with VS 2008 (Desktop). Change-Id: I8c9682526754586ea6f597f540a4d5b42363f052 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | Allow specification of loadable debug services via command lineUlf Hermann2015-08-131-1/+2
| | | | | | | | | | | | | | | | | | We don't want to load the debugger when profiling and vice versa. This makes it easier to prevent unwanted services from getting loaded. Task-number: QTBUG-47623 Change-Id: I28893b6218110274a6d30b27805d89dbb443add3 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | qmlprofiler: Use QQmlProfilerDefinitions for accessing definitionsUlf Hermann2015-07-235-131/+144
| | | | | | | | | | Change-Id: I6def7dd8a0ce0db22ad4829029d8510f5869c813 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix inefficient usages of qDeleteAll()Sérgio Martins2015-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | No reason to iterate through all items to create a temporary QList we don't need. Change-Id: I3c5388f026ded0290afb9dd35fc7934011c4998d Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | qmlprofiler: Remove some dead codeUlf Hermann2015-06-152-7/+1
| | | | | | | | | | Change-Id: If1f542bc73d5af259ea3c0a5da40786f8d6f3dbf Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Allow specification of features to recordUlf Hermann2015-06-094-2/+120
| | | | | | | | | | | | Task-number: QTBUG-43066 Change-Id: I963a5a483f961dd150f00de3d96c723c8b62edb8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Record input eventsUlf Hermann2015-06-095-6/+43
| | | | | | | | | | Change-Id: Ib6413d97638b192377d7dbeb19ed0c2f733a06a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Output data after application quits in non-interactive modeUlf Hermann2015-06-073-1/+12
| | | | | | | | | | Change-Id: I38abed0d5af3bcc7be5fa9e21bde14be40a3ce1d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Redirect app stdout to qmlprofiler stderrUlf Hermann2015-06-071-1/+1
| | | | | | | | | | | | | | | | This seems to be a common technique for tools that wrap application execution and potentially have their own output. Change-Id: I4ca1bc5861d5b915b4ca07aec08ad06c8c73c8d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Improve options for trace outputUlf Hermann2015-06-064-50/+211
| | | | | | | | | | | | | | | | | | | | | | | | * Remove the auto-generation of file names. * Accept file names as parameters or from interactive commands * Output to stdout by default for better scripting and quick preview * Decouple output from clearing of data so that you can write the same data multiple times. Task-number: QTBUG-43066 Change-Id: Ia4cc3701cbac7c6f8948b11307130a5d6a2ff44c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmlprofiler: Only accept commands if we ask for themUlf Hermann2015-06-066-41/+20
| | | | | | | | | | | | | | | | This way we can shut down the input thread after the last command and we cannot get commands before we can process them. Change-Id: Ie1583a338da9c9df0e07c9e09ce185857c5ea66d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>