summaryrefslogtreecommitdiff
path: root/src/monitor-lib
Commit message (Collapse)AuthorAgeFilesLines
* Port from qAsConst to std::as_constMarc Mutz2023-01-151-1/+1
| | | | | | | | | QT_NO_AS_CONST is now globally enabled in qtbase. Change-Id: Ifc2eab1c902e75f5dbfc38ef9a62b29b5c91bc61 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 1544f245bb22194a22c6eeb75d3b99b82cee15c1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix include style to what's mandated for public headersAlexandru Croitor2022-12-123-9/+9
| | | | | | | | | | This fixes errors for the developer-build. Task-number: QTBUG-109337 Change-Id: I145e5eb5074f6e8b03e3304f58f0dd57ee1dfe95 Reviewed-by: Zoltan Gera <zoltan.gera@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Some tests cannot be built for AndroidRobert Griebl2022-07-071-1/+1
| | | | | | Pick-to: 6.4 Change-Id: Ie97dd699e49119514652ca9d97ba7de80a90a544 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Prevent linking of AppMan modules into user pluginsRobert Griebl2022-06-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | As the AppMan modules are static libraries, linking any of them into a QML plugin (that later gets loaded into the system-ui) will lead to a bunch of problems: 1) due to symbol duplication and duplicate static data, a lot of singletons may exist twice 2) all static constructors (logging, crash-handling, etc.) are run a second time, overriding any custom configuration that was applied after config parsing. If you are legitimately building a custom appman binary, a custom launcher or a native app using launcher-lib, you need to flag this via compile-time defines now: Either AM_COMPILING_APPMAN or AM_COMPILING_LAUNCHER AM_COMPILING_LAUNCHER is also used for native apps using launcher-lib. Change-Id: I0c1a3fb7e0c7121f92d44c764c2c1eeb720e7041 Pick-to: 6.4 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Fix QScopedPointer::take deprecation warningRobert Griebl2022-06-154-12/+13
| | | | | | | | Also replaced the remaining usages of QScopedPointer with std::unique_ptr for consistency. Change-Id: Ic63d1b3ea03a4562e4e40c3e9c7992459fde716e Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Use SPDX license identifiersDominik Holland2022-06-156-180/+24
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I09660e42dea769d720ff30e652485d9861cea965 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix unused member warning on non-Linux platformsRobert Griebl2021-11-301-1/+1
| | | | | | | Change-Id: I234cfcf0c913a7548a405d8720805a43f32c1101 Fixes: QTBUG-98418 Pick-to: 6.2 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Clazy: fix srcRobert Griebl2021-08-201-1/+0
| | | | | Change-Id: I043882780fac7bed5d9dd75424ede46b54caa187 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: remove all comments from the pro2cmake tool conversionRobert Griebl2021-06-301-5/+0
| | | | | Change-Id: Id162a38debf7c801dfefb519274a7761e742b7f1 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: remove qmake build system (except in examples/)Robert Griebl2021-06-301-29/+0
| | | | | Change-Id: I8d00047f8e03bb77863041eaa99f1bba13a15a32 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Convert SystemReader to using QFile for easier auto-testingRobert Griebl2021-06-302-27/+9
| | | | | | | | | This way we can ship the test data as resources. Using QFile in unbuffered mode should make sure that the functionality and performance is still the same. Change-Id: I6709cfdfd339028a31ef913331c735808791bec2 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: Nearly full cmake buildRobert Griebl2021-06-182-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Had to rename a lot of things to conform with the standard Qt module layout that the cmake system expects: - all non-manual tests were moved to a sub-dir named auto/ - the benchmark was moved to tests/ - the 3rdparty folder was moved into src/ Other changes: - libyaml was updated to 2.2.5 while fixing a weird build issue that led to crashes on 64bit systems. - fixed build issues with the new 8.1 MingW compiler. - added support for QT_NO_OPENGL builds. The remaining issues are: - examples still don't build with qmake due to a potential bug in module.pri generation. - tests do run, but the test data is not generated yet dynamically. - qml-only tests are not built and run yet. - qml-only examples are not built yet. Fixes: AUTOSUITE-1632 Change-Id: Ic5fe0148e738b05835c73bed78e624b55861b75e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Update copyright headers to 2021 an finally switch to the GPLRobert Griebl2021-06-016-144/+78
| | | | | | | | | Also removed all the SPDX tags and -QTAS license extensions. Change-Id: Ibd10fe37afcbba832831d027cf2f1891ca0226c0 Fixes: AUTOSUITE-1648 Fixes: AUTOSUITE-1646 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Remove legacy functionality: headless, pssdp and pshellserverRobert Griebl2020-11-282-10/+11
| | | | | Change-Id: Iffeaa944cce5d09d0a1d1af2d85aa5f5034b7f71 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Build optimization: include all moc cpps directly in the main cpp fileRobert Griebl2020-08-112-0/+4
| | | | | | | | This is a Qt module policy and helps a lot with build times -- especially on CI setups. Change-Id: I90574deb7e7b215054a5037b99ee4e7c7a040568 Reviewed-by: Thomas Senyk <thomas.senyk@qt.io>
* Fix bogus CPU load display on app restartRobert Griebl2020-02-201-1/+3
| | | | | | Fixes: AUTOSUITE-1490 Change-Id: I5b45f58ace718dbcc88554248dea816c40ef363b Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Merge remote-tracking branch 'gerrit/5.13' into 5.14Robert Griebl2020-01-222-80/+63
|\ | | | | | | Change-Id: Ie68503ed10899400ceb2ba93932cfdcbb2537be9
| * Revert back to using a mutex for process readingsBernd Weimer2020-01-212-80/+63
| | | | | | | | | | | | | | | | | | Get rid of wanring "load() is deprecated". Besides, one mutex should perform better than ten atomic ints. On my machine it's roughly twice as fast. Change-Id: I35254604b7739f44011b3799c5400a5d0140949a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | Merge remote-tracking branch 'gerrit/5.13' into 5.14Robert Griebl2020-01-212-25/+33
|\ \ | |/ | | | | Change-Id: I3e8a149be99266ad6438759fda9acb1c9dd12448
| * Fix issues in ProcessStatusBernd Weimer2019-11-112-27/+33
| | | | | | | | | | | | | | | | | | | | - Moved smaps parsing to dedicated thread - Made memory reporting optional - Support CPU loads greater than 1.0 Task-number: AUTOSUITE-1310 Change-Id: Ic7e647a5270b1be2e3ec19c5122dd29156ea0a88 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | Fix compiler and code-model warningsRobert Griebl2019-11-083-20/+22
| | | | | | | | | | Change-Id: I3bdc402537bd284b70e03fc88fc30840d681a320 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* | Merge remote-tracking branch 'gerrit/5.13' into devRobert Griebl2019-08-091-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gerrit/5.13: Bump version to 5.13.1 Ignore $WAYLAND_DISPLAY when starting on Wayland desktop environments Cleanup application lifecycle in single-process mode Bump version to 5.12.4 Fix app start/stop in single-process mode Destroy QDBusServer instance when an application quits Fix applications reusing a runtime object that is about to be destructed Fix broken Wayland socket name detection Fix crashes when trying to start blocked apps Wait for apps to stop before actually uninstalling them Make sure the app-db is flushed after writing Fix possibly crashing qml/simple tests Only calculate the hardwareId once [intents] add intents list to read/write of ApplicationInfo to stream Fix headless compilation Change-Id: Iaa7026852e5d3ab48140aae09b4159ad9939eba2
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-081-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake-features/am-config.prf src/main-lib/main.cpp src/manager-lib/applicationmanager.cpp src/monitor-lib/monitor-lib.pro Change-Id: I4aa0f2c901480d1f04f4260fe4ab1e005369432e
| | * Fix headless compilationRobert Griebl2019-08-013-4/+16
| | | | | | | | | | | | | | | | | | | | | (backported from 5.13) Change-Id: I4eb3fae767066dcfb64f3f6fc126680768a10ecc Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | | Rename from Luxoft AM to Qt AMRobert Griebl2019-08-056-6/+6
|/ / | | | | | | | | | | Change-Id: I84bbd9e7f735ed1864804a9887d3a02b7c925e53 Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* | Fix CI compilationRobert Griebl2019-07-251-0/+1
| | | | | | | | | | Change-Id: I9ebb9f0d51a2e874bcb0cdd45844042fdecd566c Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* | Fix headless compilationRobert Griebl2019-07-081-1/+2
| | | | | | | | | | Change-Id: I4eb3fae767066dcfb64f3f6fc126680768a10ecc Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Fix deprecation warnings against Qt 5.13Robert Griebl2019-06-051-1/+2
| | | | | | | | | | Change-Id: I8be4a8a0e70fcca09b13d30217876c8f5cb769b3 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Untangle the broken monitoring dependenciesRobert Griebl2019-05-2818-2489/+1144
| | | | | | | | | | | | | | | | | | | | | | | | | | After the last refactoring of the monitoring components, we ended up with a monitor_lib that pulled in nearly all of the other AM components. The end result was that the qml runtime had all the appman system-ui code compiled in as well. Downgraded the monitor_lib to just read values from the system and moved the QML API classes to shared_main_lib, manager_lib and main_lib respectively. Change-Id: Ic205153c6d8c221793b0f2546b2f31f4e1ede53d Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Fix and enhance documentationBernd Weimer2019-05-212-4/+8
| | | | | | | | | | Change-Id: I571bacc6da00fcb53d45b27dac04cac0d19d34c0 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* | Port benchmark code to new 5.12 APIBernd Weimer2019-03-253-6/+32
| | | | | | | | | | | | | | | | | | | | | | - Adapted window management and monitoring code to new 5.12 API - Added method to retrieve specific MonitorModel data - Fixed GPU utilization measurement Change-Id: I6b589eae027d0efa2a55046c44c2b1790e2adb37 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Merge branch '5.12' into devRobert Griebl2019-03-127-0/+7
|\ \ | |/ | | | | Change-Id: Ie31810e4d695566db2ccf44bbbd6c585dcc5c790
| * Update the appman-dumptypes toolRobert Griebl2019-01-167-0/+7
| | | | | | | | | | | | | | | | | | - Added all the missing classes - Split the generated types definition the same way we split the QML import namespace earlier - otherwise QtCreator cannot use this information Change-Id: I8259f7fe0598c54a75b125aac44f189177e7046b Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Merge remote-tracking branch 'origin/5.12' into devDominik Holland2018-12-2116-30/+46
|\ \ | |/ | | | | Change-Id: I384f95c153217890fdd76790aa3b5938dcdc00b2
| * Fix qdoc warningsRobert Griebl2018-12-181-1/+1
| | | | | | | | | | Change-Id: I42fa365268d5fe01cb41e519146cd3e6c138a89b Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
| * Update copyright statementsRobert Griebl2018-12-1816-16/+32
| | | | | | | | | | | | | | | | - added 2019 - everything is (c) Luxoft instead of Pelagicore from now on Change-Id: I82f874f0b0601deae1bb39347821edaf3c4cc6d8 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
| * Bump all QtApplicationManager QML imports to 2.0Robert Griebl2018-12-187-15/+15
| | | | | | | | | | | | | | Change-Id: I98bab2070b7a35cefae46bca8a06bac4a1cf1487 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Ilya A, Galkin <igalkin@luxoft.com> Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
| * Introduce MonitorModel & friendsDaniel d'Andrada2018-12-0722-2806/+2729
| | | | | | | | | | | | | | | | | | | | A better, more flexible, API for monitor-lib. Fixes: AUTOSUITE-692 Fixes: AUTOSUITE-250 Fixes: AUTOSUITE-686 Change-Id: Ib672e6a19beca4e83a51bcdca530c50be1bf00b7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix qdoc warningsRobert Griebl2018-12-061-1/+1
| | | | | | | | | | Change-Id: I74c89b216fad970ab0366e53e36bd885540adf4d Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* | Introduce MonitorModel & friendsDaniel d'Andrada2018-12-0722-2806/+2729
|/ | | | | | | | | | A better, more flexible, API for monitor-lib. Fixes: AUTOSUITE-692 Fixes: AUTOSUITE-250 Fixes: AUTOSUITE-686 Change-Id: Ib672e6a19beca4e83a51bcdca530c50be1bf00b7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Have a sensible default for SystemMonitor.reportingIntervalDaniel d'Andrada2018-11-071-1/+1
| | | | | Change-Id: I3f075d86a5525ea509ebe4e150588dd4d4592108 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Stop SystemMonitor updates when all reporting is disabledDaniel d'Andrada2018-11-072-123/+90
| | | | | | | | | | | | | | | | | When all reports are disabled, stop updating the model since there's no work to be done. Once reporting is enabled back again, reset the model and restart the update timer. The previous behavior would keep the update timer running, filling the model with blank data row-by-row until the model was completely empty, at which point it would finally stop the update timer. That was a waste of resources and caused many unnecessary wake ups. Task-number: AUTOSUITE-688 Change-Id: I41a56b0cab7516b2e4545ca5faeae84c8c015d0d Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Move SystemMonitorPrivate to its own headerDaniel d'Andrada2018-11-073-235/+308
| | | | | | | To make it possible for test code to access it. Change-Id: I014bbcb6db9b8d90c0c1bcfd383f1cf6c5d6e972 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Update SystemMonitor documentation as it's no longer a singletonDaniel d'Andrada2018-10-311-9/+9
| | | | | | | | | Updated the parts that commit ee203c58142c05ac8ef848124be4e62f468e0620 missed. Task-number: AUTOSUITE-682 Change-Id: Ia222a4f4b48531d0f4bd7a6b25deb07f3ba10b79 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Split the QtApplicationManager qml moduleDaniel d'Andrada2018-10-302-5/+5
| | | | | | | | | Into QtApplicationManager, QtApplicationManager.SystemUI and QtApplicationManager.Application Task-number: AUTOSUITE-671 Change-Id: I09eb914e026e230280c426dd00884f2883b5e7bd Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Multiple cleanupsRobert Griebl2018-10-301-1/+0
| | | | | Change-Id: I8f0df05d2d1cf7555ac7cd9ab681012953351f6a Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* Call registerCompositorView on all windows automaticallyDaniel d'Andrada2018-09-251-3/+0
| | | | | | | | | | | | | The overhead of calling this function is negligible (so it won't hurt calling it on a window that won't do any compositing) and saves appman users the trouble of having to know about it and calling it themselves. Thus we no longer need WindowManager::registerCompositorView in the public API. Change-Id: If1feb59612bc9f046ef573ce9731fc2ec2749132 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Get rid of QProcess in the internal and external APIRobert Griebl2018-08-232-3/+3
| | | | | | | | | | | | | | | | Just using whatever enums QProcess already defined seemed like a good idea initially, but this falls short on platforms that do not support QProcess at all (e.g. iOS). Still, removing QProcess enums from header files helps with consolidating 3 different enums that were being used for process state handling. The only downside is, that containerinterface.h needs to duplicate the enum definitions in order to not reply on external header files (we might want to remove that restriction eventually, but this will be a separate patch) Change-Id: I5c79b660127e9ab7196d68dd258c3ec696150520 Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* ProcessMonitor: expose current resource usage as propertiesDaniel d'Andrada2018-08-214-3/+63
| | | | | | | | Instead of just as signals, so that code using ProcessMonitor can be more declarative. Change-Id: I6f4a51ca4b0810cf6fba71c548de74e5a2a18d51 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Make SystemMonitor instantiable from QMLDaniel d'Andrada2018-08-212-35/+2
| | | | | | | | | | | | | Instead of a being a singleton. Advantages: - Cleaner QML code as it's easier to declare bindings on SystemMonitor properties if it's an instance declared in QML. - Better control the object lifecycle - Faster start up times Change-Id: I9f642f5b9bbb26ca2ab2db6c33a088798a9c8acf Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>