Commit Graph

30 Commits

Author SHA1 Message Date
Ulf Hermann
385237dbbd Use Utils::Port where possible
This solves the ambiguity between 0 and -1 being the "invalid" port.

Change-Id: I3bac11dd4117bb1820fbd58186699925b73df1c5
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-20 11:06:34 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Ulf Hermann
a841dcebfc QmlProfiler: Deobfuscate connection mechanism
Whenever we create the connection we as well try connectToHost()
immediately instead of deferring it until the next timeout. The
else branch in tryToConnect() would never be executed because if
the connection is there and not connecting or connected, then
the socketState must be != ConnectedState.

Change-Id: I6736b35348671961fbb3a48edb5e9c6c1d7ce915
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-12-02 09:24:34 +00:00
Ulf Hermann
ffc11d5e9e QmlProfiler: allow for multiple sequential traces to be aggregated
Task-number: QTCREATORBUG-13317
Change-Id: Ic7d1d5c94d8d522741b6c4207a21a43f521da5fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:44 +00:00
Ulf Hermann
030acfdf73 QmlProfiler: Send the client recording state to new engines
Otherwise some engine can stop recording by sending a "Complete" event
and that will be the state we send to any new engines, although the
recording button was checked when the recording started.

Also, don't redirect state changes and the associated recording state
sending through a signal and slot. This allows us to remove the
"enabled" property of QmlProfilerTraceClient and adapt the signature
of sendRecordingStatus() to facilitate the redirection of newEngine()
through the client manager.

Task-number: QTCREATORBUG-13317
Change-Id: Ie9dc6785eb761514bc96aaf5724f7b23d3c2932e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:41 +00:00
Ulf Hermann
7b4e253a1e QmlProfiler: Support local connections on Qt >= 5.6
This removes the need to receive messages from the application via
stderr. The "Connecting to socket" is still parsed, but only for
diagnostic purposes. If it doesn't arrive, the profiling will still
work.

Change-Id: I022691293da2a1e671ba1263bc76e4044bf1a5b7
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:20 +00:00
Ulf Hermann
81eea72d44 QmlDebug: Simplify error and state signaling
There is no point in sending two signals for every state change and
error. Also, the signals only reflect events in the socket, not in the
logical connection.

Change-Id: I617a925c69164aa1a02a7781b9da7dca55daa304
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:46 +00:00
Ulf Hermann
ccc4fe54e5 QmlProfiler: Delete debug connection on error or if params change
Now that we don't recreate the debug connection anymore when (re)trying
to connect, we have to do it explicitly when changing the connection
parameters or when a connection attempt fails and we need to cancel the
"Connecting" state.

Change-Id: Ib2b6b4fb1e39e64fe3c9f2bf90b6e43043d05a9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-03 10:44:56 +00:00
Ulf Hermann
fe2d9e2a3b QmlProfiler: Remove QmlProfilerClientManager::serverRecordingChanged
It doesn't do anything useful. Also the qmlDataReady member is
write-only and can be removed.

Change-Id: I667b05611cfc5960eb2fd73254a7b3c621ae98a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 12:26:49 +00:00
Ulf Hermann
fdbed834fa QmlProfiler: Refactor complete() methods
The complete() methods do something more specific. We should call them
by what they do. Also, we don't need to signal the finishing of data
acquisition via a signal and most of the postprocessing can happen in
the worker thread.

Change-Id: Iae986aefb8e7e7d4327c481d7a85325bbff7fa48
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-11 12:26:45 +00:00
Ulf Hermann
408ac55741 QmlProfiler: Remove OST connection mode
Whatever that is, it definitely didn't work.

Change-Id: Ib15b9dcad6e22d52285a253b234989e55d817268
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-10 13:10:30 +00:00
Ulf Hermann
f1ede40500 QmlProfiler: Expose flush interval to user
Flushing data while the application is running can distort the results
because the flushing itself takes time. However, not flushing leads to
longer load times in the end and higher memory usage. The best strategy
depends on the application being analyzed and the users should decide
if they want to flush or not.

The settings infrastructure also paves the way for preserviing the
layout of the timeline and statistics views as well as the category
filters across sessions.

Change-Id: I2cdc37c7fc7eb9b05b6870955ddffaa712d6c956
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-08-31 09:19:32 +00:00
Joerg Bornemann
3e8a40c382 QmlProfiler: remove V8 tab
V8 is gone long enough to stop supporting it.

Change-Id: If086925359097a69ffab2b2eba4de6f63bd5195e
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-05-27 11:55:26 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Ulf Hermann
a7012c5a87 QmlDebugClient: hide all the socket details from clients
Like this no one will get the idea that the socket state represents
the connection state and we can safely replace the underlying
implementation with something not derived from QAbstractSocket.
All the logging is retained but the connection creates the messages
now.

Change-Id: If84ff42f1fa9785254fbd49c75be867b9f663c83
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-05-08 15:23:56 +02:00
Ulf Hermann
12f5bbcceb QmlProfiler: Guess the trace end time if we don't receive EndTrace
Task-number: QTCREATORBUG-11952
Change-Id: Ie55b616a1fc54e0cccac5560ec66fb7cc496c8e2
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-04 11:47:35 +02:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Christiaan Janssen
0a3b20f5f9 QmlProfiler: reworked
Change-Id: I66a236a024d76e7bef6edfb91ae30b5dd098b76b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-09 17:19:32 +02:00
hjk
9cf65cfd80 QmlProfiler: clean up QmlProfiler{State,Client}Manager
Change-Id: I538fbae5be9750b9b00f82d467136a8500e8f8e6
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-01 10:33:11 +02:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Christiaan Janssen
84b4b52aed QmlProfiler: manage premature disconnection when app killed
The profiler tool was assuming that the socket would get
disconnected after the application was stopped by the user.
Sometimes it is not the case.  This patch manages the
oposite situation gracefully.

Change-Id: I4ae439bf2ce6caece37e97f735e980d18c446df0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-11 17:27:01 +02:00
Christiaan Janssen
ba9c802e1e QmlProfiler: manage receiving trace after app stopped
Change-Id: I97409748ebac3ee8af3690f2d84d3038638a3419
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-09 11:19:46 +02:00
Christiaan Janssen
2afa559c2a QmlProfiler: show binding types
Change-Id: Iea469aa3e0fb7c4e5146163f049c930df6fc2b7d
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-04 15:09:18 +02:00
Kai Koehne
4d3395b990 QmlDebug: Rename library and (most) classes
Rename the QmlJSDebugClient lib to QmlDebug (shorter names, easier differentiation with the shared/qmljsdebug lib).

Also rename
 - QDeclarativeDebug* classes to QmlDebug*
 - QDeclarativeOutputParser class to QmlOutputParser

To clarify the features,
 - Debugger::QmlDebuggerClient is now Debugger::BaseQmlDebuggerClient
 - QmlEngineDebugClient is now BaseEngineDebugClient
 - QmlDebuggerClient is now QmlEngineDebugClient
 - QDeclarativeEngineDebugClient is now DeclarativeEngineDebugClient

Change-Id: Ie15713730a614c8ab4b637fad0924f95b54e633f
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-04-18 14:31:36 +02:00
Christiaan Janssen
6ff4a0b586 QmlProfiler: flush on new trace
Discard pending data if a new trace arrives while an old one
was still being processed.  If we don't, the data of both
traces gets mixed, leading to a possible crash.

Change-Id: Ibba7df06f6a4b7e93d00f6fa1fa4802baf3a1731
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-26 16:46:41 +02:00
Christiaan Janssen
b7304e2f2e QmlProfiler: Refactor
The code of the qmlprofiler client has become a bit too complex,
this patch reorganizes the modules in a more sensible way,
having the modules communicate with each other through a
state machine instead of the excess of signals and slots
from before.

Change-Id: I76f7313779888a1bd07a1cdb1acbf2e47aacf42a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-14 11:38:25 +01:00