Commit Graph

31 Commits

Author SHA1 Message Date
Ulf Hermann 79ed2f70f0 Move QQmlDebugClient into separate static library
Change-Id: Ib3daf9da2cf6798bd022cfcf54d11e565c9cb4ca
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-10-30 19:05:07 +00:00
Ulf Hermann 35fa7aed1d qmlprofiler: Clear trace client when trace is finished
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>
2015-10-15 08:23:43 +00:00
Ulf Hermann d56286283d qmlprofiler: Simplify QmlProfilerClient
We only need one class for it now.

Change-Id: Iea2715993c0ce168a3ceeecbb694f1ad3585da68
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-10-15 08:23:29 +00:00
Liang Qi 7063fefe4b Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I11ea57222ba5aa683b7bfd7735fbc1d2cf86e875
2015-10-14 15:48:12 +02:00
Friedemann Kleint 16154fba86 Tools: Fix single-character string literals.
Use character literals where applicable.

Change-Id: I55679dcc13c4c79567712c0dfaaabc2b84fee010
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2015-10-13 13:40:44 +00:00
Ulf Hermann 9713146cbc qmlprofiler: Remove V8 profiler client
It's been a long time since the last Qt version with V8.

Change-Id: Iae36dd1c5bb6275254c6a64a8e6b843454139e2b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-08-28 08:59:30 +00:00
Ulf Hermann fbdc01f141 Allow specification of loadable debug services via command line
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>
2015-08-13 08:30:47 +00:00
Ulf Hermann 30ead66c62 qmlprofiler: Use QQmlProfilerDefinitions for accessing definitions
Change-Id: I6def7dd8a0ce0db22ad4829029d8510f5869c813
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-07-23 08:26:04 +00:00
Ulf Hermann 58a5aa3a09 qmlprofiler: Remove some dead code
Change-Id: If1f542bc73d5af259ea3c0a5da40786f8d6f3dbf
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-15 09:31:13 +00:00
Ulf Hermann db69cd87d3 qmlprofiler: Allow specification of features to record
Task-number: QTBUG-43066
Change-Id: I963a5a483f961dd150f00de3d96c723c8b62edb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-09 18:31:55 +00:00
Ulf Hermann 08533d2659 qmlprofiler: Record input events
Change-Id: Ib6413d97638b192377d7dbeb19ed0c2f733a06a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-09 18:31:47 +00:00
Ulf Hermann 6247e30afb qmlprofiler: Output data after application quits in non-interactive mode
Change-Id: I38abed0d5af3bcc7be5fa9e21bde14be40a3ce1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-07 08:26:19 +00:00
Ulf Hermann aa68eab142 qmlprofiler: Redirect app stdout to qmlprofiler stderr
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>
2015-06-07 05:48:46 +00:00
Ulf Hermann cd0b001ec8 qmlprofiler: Improve options for trace output
* 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>
2015-06-06 21:13:25 +00:00
Ulf Hermann c402f59359 qmlprofiler: Only accept commands if we ask for them
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>
2015-06-06 15:20:33 +00:00
Ulf Hermann 583543ebda qmlprofiler: In interactive mode, don't quit if application quits
We might want to inspect or save the pending data in some special way.

Change-Id: I235b1f948ad4a9ddd100332991243231119bcf08
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-05-21 15:19:38 +00:00
Ulf Hermann 864b1c498c qmlprofiler: Add non-interactive mode and make it the default.
If you just run a test application through the profiler without any
further parameters, you want it to record the data the application
generates and then terminate itself.

[ChangeLog][QtQml][Behavior Change] Make qmlprofiler command line
interface better suited for scripting.

Task-number: QTBUG-43066
Change-Id: I831e714b9c7b4b984b6450ad5c78ba4fdae6b8f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-05-21 12:54:48 +00:00
Ulf Hermann 455e9153eb qmlprofiler: Clean up recording state mess
The recording state is a global property of the profiler client, it has
to match the application's recording status as well as possible, and
the user can set an initial target value with a command line parameter.

This way we don't get strange error messages when the application quits
by itself and properly sends all the data before.

Task-number: QTBUG-43066
Change-Id: Id93aa7fb940f870c8f16cea8427c38aab450f864
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-05-21 12:54:42 +00:00
Ulf Hermann bb085ff927 qmlprofiler: Add some sanity to command line parsing.
Use QCommandLineParser to allow for double-dash options and improve the
help text.

Task-number: QTBUG-43066
Change-Id: Iac772cbbf750016a9058658c9b4b275faf8fb62f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-05-21 12:54:40 +00:00
Jani Heikkinen c5796292ad Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
2015-02-12 10:28:11 +00:00
Jani Heikkinen e7ceacda70 Update license headers and add new licenses
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL

Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
2014-08-25 11:28:46 +02:00
Ulf Hermann 74f483f231 Write memory events into tracefiles generated by qmlprofiler
Change-Id: Ic01505194f29967ed1aad16fe36e14dc5532ae25
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-08-12 10:16:40 +02:00
Ulf Hermann 2371ec96da Properly support all events in trace files and clean up a bit.
In particular, use both message and range type to identify events so
that we can get rid of the messy type aliasing.

Task-number: QTBUG-36953
Change-Id: I691a7501aa285f78f7ce5b7017ef50628f44fcf7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-06-06 09:51:33 +02:00
Ulf Hermann d7ea461fde Save painting events in Qt5 style with thread ID from qmlprofiler
This is necessary to support https://codereview.qt-project.org/80391
and to make the trace files consistent with Qt Creator's.

Change-Id: I45490c33ae9bd8fbbb6bace08bdc2f44c76bf966
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-03-18 12:02:48 +01:00
Sergio Ahumada 83deab8d1b Update copyright year in Digia's license headers
Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 19:52:37 +01:00
Iikka Eklund 46010aa7a2 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-09-23 08:22:24 +02:00
Christiaan Janssen 3b66a38e58 QmlProfiler: storing binding type
Change-Id: If1f02e1e6f6ce6aba9874a63d01a08d57571f991
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-04 15:19:25 +02:00
Christiaan Janssen 1f76525c5f QmlProfiler: updated standalone app
Using a stripped-down version of the profiler data structure.

Change-Id: I93a0b12462edea0ca8a1d0db42aa892aa2afc919
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-13 09:39:03 +01:00
Matthew Vogt 0284817d6c Merge master <-> api_changes
Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
2012-03-05 11:39:54 +10:00
Matthew Vogt b855240b78 Rename QDeclarative symbols to QQuick and QQml
Symbols beginning with QDeclarative are already exported
by the quick1 module.

Users can apply the bin/rename-qtdeclarative-symbols.sh
script to modify client code using the previous names of the
renamed symbols.

Task-number: QTBUG-23737
Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-02-24 04:51:31 +01:00
Aurindam Jana 6c24d2feb4 QmlProfilerTool: add tool to QDeclarative
qmlprofiler is a standalone tool used to record
profiling data of QML apps. The data is stored
in a file which can be loaded in QtCreator for
investigation.

Change-Id: I308f4c40bc3876933bd0d32c336cef6cd6f5fb4a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-20 17:59:32 +01:00