Commit Graph

46 Commits

Author SHA1 Message Date
hjk
aaf05f5acd Move analyzerbase to debugger
This is the first mechanical step to execute on the 'shared pool of
debugger/analyzer views' idea.

Future steps would be providing infrastructure for the view pool,
making all analyzer/debugger views use the pool and then re-extract
a sensible base for a 'analyzer-and/or-debugger' tool plugin interface.

Change-Id: I1bb392e6dd3084fc56937956bee1d6fd9530335d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-25 12:31:06 +00:00
Ulf Hermann
6980ccf8e1 QmlProfiler: Fix Qt version comparison for connection type
The previous code would fail on Qt versions n.0 to n.5 with n > 5.

Change-Id: I7e9d512bab269137862370db86e0da19e250059e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-10 13:35:02 +00:00
hjk
f1139b1d51 QmlProfiler: Remove some dead code in RunControlFactory::create
The check is covered by canRun().

Change-Id: Id2360a5d2cb2fd915e164a6b5a533f008fe670f1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-02 14:00:19 +00:00
hjk
249a36b573 Analyzer: Remove AnalyzerRunControl::runnable() and .connection()
These re-implementations are conceptually "too specific". Rather let
the indiviual tools handle there expectations themselves.

Change-Id: I0bbea407b2241816a40d19eb1dbb0a7589cbda7b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-29 09:39:47 +00:00
Christian Stenger
76ef8e3c75 QmlProfiler: Fix missing environment for profiling Quick UI
Change-Id: I006802132db3a2d970f028306def16f953fabf53
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-28 09:45:35 +00:00
hjk
07332eecb3 QmlProfiler: Use StandardRunnable in LocalQmlProfilerRunner
Change-Id: I8c59f9dfe562717edd86453b0154b7f2811a06f3
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 08:08:19 +00:00
hjk
f2012bca8f Analyzer: Remove explicit working directory storage in run control
Instead, use the one in its (Standard)Runnable.

The change is mechanical except to the fallback to the project directory
which was introduced in 8150209f to keep some compatibility with the previous
setup of the Android runner which created and copied the fallback value around
and ignored it in the end. Not producing the fallback value is less effort.

Change-Id: Ie04da570f0f9fbc1d048f2eacaed522f7253afa3
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-27 16:34:01 +00:00
hjk
61709e9266 Analyzer: Use a StandardRunnable instead of an AnalyzerRunnable
... with a lot potential to code consolidation.

Change-Id: I4d3a7fcc1cc6ae8763799f18cf9701695f387791
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-27 15:29:11 +00:00
hjk
9ae2ce7629 ProjectExplorer: Drop LocalApplicationRunConfiguration
The functionality can be provided by producing a suitable Runnable
in the derived classes directly.

Change-Id: I7b8e8fe33fffd2b00176b6cf6633eca4e152e466
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-26 10:09:29 +00:00
Ulf Hermann
434b51dca6 QmlProfiler: finalize setup when starting
Change-Id: If7cf8158bf4c0cd6a2ffff2d5157a98f2d8c0f50
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-21 09:05:52 +00:00
hjk
5dad96e3b7 QmlProfiler: Adapt QmlProfilerRunControlFactory to Analyzer changes
Change-Id: I8047cdb3fc65df2139c1a5770218c48e83ef5f5a
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-20 16:08:07 +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
hjk
8150209ff7 Analyzer: Slim down AnalyzerStartParameters
* SysRoot can always be determined from kit.
* Pass around RunMode as extra parameter
  not as part of AnalyzerStartParameters.
  That's closer to the pattern used elsewhere.
* Environment was always initialized from the runconfig's
  EnvironmentAspect. The tools can do that directly.
* Provide setter for display name for cases where
  it is not equal to RunConfiguration::displayName

Change-Id: I811a0d7cdeb55cc37a16a593b3942abb567a2150
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-07 18:11:09 +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
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
Ulf Hermann
bc6b81fb50 Consistently rename QmlProfilerEngine to QmlProfilerRunControl
It's always a pain to search for the only RunControl that's called
"engine" half of the time.

Change-Id: I4cece9f8958ff989925d9efaaf6fb41731842647
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-07-08 14:00:05 +00:00
BogDan Vatra
2182ded57b ProjectExplorer: Use Core::Id as RunMode "enum values"
This provides a way for third-party plugins to implement run
modes without the need to add a value to the central enum or
using manual workarounds like RunMode(*(int*)&someUniqueObject).

Instead of centrally defined enum values this uses Core::Id that could
be defined anywhere.

Change-Id: Ic350e3d8dbb8042c61b2d4ffec993ca151f53099
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-30 06:20:54 +00:00
Ulf Hermann
df40ebde3c QmlProfiler: Remove some dead code.
Change-Id: I21f26bd40b78d760e72a6cc135a06a368c31eaf2
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-18 08:48:31 +00:00
hjk
bea726e8e2 Analyzer: Replace StartMode with a useStartupProject boolean
This is what it is on the top level. The change makes it obvious
that in the valgrind(-derived) plugins the value is later wrongly
used to make a decision on whether to run the valgrind process
locally or remotely. But that's isolated in valgrind now and
can be fixed there.

Change-Id: I6fa5e669dec1f9e2cdebe42a1591d15144082a21
Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2015-06-17 09:39:21 +00:00
Benjamin Zeller
9321967d84 QmlProfiler: Make creation of local RunControls more flexible
In order for plugins to create a RunControl for locally running
applications that do not use LocalApplicationRunConfiguration it is
required to export an API that takes care of the internal setup. Also this
removes the hard dependency on LocalApplicationRunConfiguration.

We don't want to expose Internal classes in public API, so we have to
make QmlProfiler::Internal::QmlProfilerRunControl and
QmlProfiler::Internal::QmlProfilerStateManager public.

Also, AbstractQmlProfilerRunner doesn't do anything useful and can be
removed.

Change-Id: I0403e5b17e14ac894addd818ad7b249c51a8ed8d
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-06-15 16:55:54 +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
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
Aurindam Jana
0cf3ef5926 QmlProfiler: Use LocalApplicationRunConfiguration
QmlProjectRunConfiguration is now derived from
LocalApplicationRunConfiguration.

Change-Id: Ieddac63ff9832771ed141c3f0aff1bcc0313f6bf
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-15 17:53:09 +02:00
Aurindam Jana
fc0da55e1f QmlProjectRunConfiguration: Derive from LocalApplicationRunConfiguration
Change-Id: I4a7c29f2f679e62bae6fa3d01983851207e532c8
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-15 17:51:50 +02:00
Oswald Buddenhagen
c2e90c360b Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/cpptools/cpptoolsplugin.h
	src/plugins/projectexplorer/customtoolchain.cpp
	src/plugins/vcsbase/command.cpp

Change-Id: Ie7b3c9e136c0748b41320227c757471259339b48
2013-08-21 14:39:18 +02:00
hjk
20d7d5e5b7 ProjectExplorer/Analyzer: Merge RunConfigurationAspects
The Analyzer implementation is now simple and still generic enough
to serve as general base.

Change-Id: I050a21919bf128929b77a64da1f46d157691d849
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-08-16 16:20:45 +02:00
hjk
835ef9507b Analyzer: Use the run mode stored in the parameters instead of a copy
Change-Id: I045622efa22bfcb26f9161556ccbbfb3df08599d
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-08-05 15:10:47 +02:00
Aurindam Jana
e61c797c6d QmlProfiler: Use StartLocal instead of StartQml start mode.
Change-Id: Iee7895e9cafc373c32749f3dcc44a690dfc551bc
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-05 13:19:44 +02:00
hjk
62af817175 Analyzer: Remove some unused code
Change-Id: Ifa1468e357cae873df6a34380957100521317471
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-08-05 09:51:17 +02:00
hjk
213cb601af Analyzer: Use AnalyzerManager for run control creation
Less code.

Change-Id: Ic26d291ada7efd05899623738d89c52b4175716c
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-08-05 09:50:08 +02:00
hjk
baed8a12ff Analyzer: Remove unused AnalyzerStartParameter::toolId member
Change-Id: I34e713ec1c9de99584ba206cfa1e38cd46e880fc
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-08-01 13:18:54 +02:00
hjk
cad3b13bbd Analyzer: Remove IAnalyzerTool::canRun
That's taken care of the run control factories directly now

Change-Id: I1cd7470e78a93459bee878f5e32594e7cf339a91
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-08-01 12:54:49 +02:00
hjk
3de45d8c55 Analyzer: Merge IAnalyzerEngine and AnalyzerRunControl
Change-Id: I74edaef59600a44924d2692c1ebc7f98d8581115
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-01 10:33:01 +02:00
hjk
2ba88d1c18 Analyzer: Remove IAnalizerTool::createStartParameters
That's a needless indirection. The run control factories know pretty
well what kind of start parameters they need.

Change-Id: Ia2d92beb6512cd99254fe22e215950cc67d5d0ed
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-01 10:32:24 +02:00
Aurindam Jana
f12a864488 Analyzer: Remove duplicate Analyzer run configuration aspects
QML Profiler does not make use of the run configuration aspect.
Return the run configuration aspect for only Valgrind.

Regression introduced in Ic8279755f0188ab53253a62322fcccf1c17b6aaf

Change-Id: I568e309e72f7e7f0107bd720acc9dbbda78acfc1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-07-30 17:18:40 +02:00
Aurindam Jana
05c6a5724f Revert back copyright headers
The copyright was changed in
Ic8279755f0188ab53253a62322fcccf1c17b6aaf

Change-Id: If4251d13b6e653d49913d1c50044177491326edc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-07-30 14:25:45 +02:00
Aurindam Jana
02fef59c0f Analyzer: Remove duplicate Analyzer run configuration aspects
QML Profiler does not make use of the run configuration aspect.
Return the run configuration aspect for only Valgrind.

Regression introduced in Ic8279755f0188ab53253a62322fcccf1c17b6aaf

Change-Id: I568e309e72f7e7f0107bd720acc9dbbda78acfc1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-07-30 13:48:45 +02:00
Aurindam Jana
d53609d27b QmlProfiler: Separate out LocalQmlProfilerRunner from engine
Change-Id: I6f9245179090bebb98b6d9849a7a696105e43a3a
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-07-23 16:19:21 +02:00
Aurindam Jana
c57160eda6 Analyzer: Separate out run control factories
Separating out the run control factories is the initial
step towards separation of run control from QML profiler
engine. The goal is to to make the engine agnostic of
the run control.

Change-Id: Ic8279755f0188ab53253a62322fcccf1c17b6aaf
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-07-23 16:17:21 +02:00
Nicolas Arnaud-Cormos
4a8432112a Analyzer: create a run control factory for all tools.
Having one factory per tool (or plugin) created some bugs:
 * analyzer project settings being created twice
 * per-project analyzer settings widget duplicated
Also, most of the code from the run control factory were copied.

Now, the Analyzer only creates one run control factory shared among all tools, and the IAnalyzerTool
has two new virtual method: canRun and createStartParameters. It simplify the code a bit, and
creating a new analyzer tool is easier (only two classes to subclass: IAnalyzerTool and IAnalyzerEngine).

Change-Id: I4e180846a26b74b2b77cb99bc97534d680a80a4d
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-28 18:25:56 +01:00
hjk
8e236db9f5 mostly core and analyzer: more id-fication
Change-Id: Ic794fdc6a582f4a03d84b6220c59111044c753b9
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-15 18:25:19 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Kai Koehne
95eb3dbd97 QmlProfiler: Fix profiling Symbian apps over WLAN
Use IP address from deploy configuration, not localhost

Change-Id: I1a5fcf6dc07a0d98404fdfb3a230c04f4062a57e
Reviewed-on: http://codereview.qt.nokia.com/2268
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2011-07-27 17:15:53 +02:00
Thomas Murach
a4c4d67772 corrected license headers
Change-Id: I56fa50745a80abf52488bebe6a5a72cf26932a8b
Merge-request: 352
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1251
2011-07-06 17:56:15 +02:00
Christiaan Janssen
8b964f9641 QmlProfiler: renamed runcontrol factory
Change-Id: I1d857d5cf63c01d766874469e7edde6a2c591dca
Reviewed-on: http://codereview.qt.nokia.com/1162
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-07-05 13:20:38 +02:00