summaryrefslogtreecommitdiff
path: root/src/plugins/ctfvisualizer
Commit message (Collapse)AuthorAgeFilesLines
* Utils: Centralize style-related property names as constantsAlessandro Portale2023-05-101-1/+3
| | | | | | | | | | This introduces string constants in Utils::StyleHelper. They are used by code all over in Qt Creator to tell ManhattanStyle how to paint certain widgets. Change-Id: Iecca36103f80084cd5fe93fcb6b18b8fbb3a32bb Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix lots of tr.h files not being mentioned in CMakeLists.txtEike Ziller2023-04-011-0/+1
| | | | | | | Change-Id: I63d364ac50d9587339b10a5571870cb9a81c54ee Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* Translations: Change translation context prefix from "::" to "QtC::"Alessandro Portale2023-02-102-2/+2
| | | | | | | lupdate would be confused by translation contexts starting with :: Change-Id: Ie95e73436fd3cafc80a8e89f908efadc747e644c Reviewed-by: hjk <hjk@qt.io>
* Translations: Use QCoreApplication::translate() instead of tr()Alessandro Portale2023-02-091-2/+2
| | | | | | | | | | QCoreApplication::translate() takes a context parameter, tr() does not. We want the first one. Amends: 48affa1889ab7285ac84a50bd2df34f50c2b1bfb Change-Id: Ibca327a39097dfcdb81a30e561161d3275c61d1d Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Qbs: Update some qbs filesChristian Stenger2023-02-081-1/+2
| | | | | | | | List respective tr files and while at it shuffle some of the listed files to match common sort order. Change-Id: I73845ad1dae5e8c86d3741067f40b7b2b37e2a6e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Translations: Remove header includes of *tr.h in .h filesAlessandro Portale2023-02-082-2/+4
| | | | | | | | | The wrong Tr::tr could be executed by code indirectly including a *tr.h file from another module. To Translate in a header file, use QCoreApplication::tr(). Change-Id: I30e67245991d2c2f0eeb01ab356555bdb9841af0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use simpler Plugin::initialize() when feasiblehjk2023-01-202-6/+3
| | | | | Change-Id: I567965d266f20526bda9f823e31a04b354d53fb1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Prefix Tr::tr contexts with ::hjk2023-01-131-1/+1
| | | | | | | To make outliers better visible in Linguist Change-Id: Ic35ea2a858b7e3576d9a416fb494fddb616eaaa1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-0616-16/+16
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Use version-less Qt targetsEike Ziller2023-01-051-1/+1
| | | | | | | | | Since we do not support Qt < 5.15 anymore, and as a first step for getting rid of our special FindQt5.cmake. Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix lupdate issuesEike Ziller2022-10-141-1/+1
| | | | | | | | | | - missing Q_DECLARE_TR_FUNCTIONS - some full qualifications needed for confused lupdate - avoid breaking some translations from former TaskListPlugin, VcsCommand and highlighter settings refactoring Change-Id: Ia3b34095512a7bad6903f0aff6095313ee39e3e4 Reviewed-by: hjk <hjk@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-3/+3
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@qt.io>
* CtfVisualizer: Convert to using Tr::trAlessandro Portale2022-09-225-40/+49
| | | | | Change-Id: Ide0c6556642c20a200fd72ec8e9596950af823b4 Reviewed-by: hjk <hjk@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-2616-399/+32
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Tracing/Qml|PerfProfiler/CtfVisualizer: Move QML modules to :/qt/qmlAlessandro Portale2022-07-201-2/+3
| | | | | | | | We don't want to dedicate the whole resource file system to QML. Change-Id: I4c7e4af7aeeab00f44c5244e99949a90abb032cf Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing/QmlProfiler/PerfProfiler/CtfVisualizer: Remove pre Qt 6.2 codeAlessandro Portale2022-07-181-11/+0
| | | | | | | | | | | - Remove code for Qt below 6.2 from c++ sources and CMakeLists.txt - Remove Qml code from .qrc files - Qbs: Add qt.core.resource_data Groups for Qml code - Remove OpenGL shader .frag and .vert files - Remove Qml import version numbers Change-Id: I3bd1cd95381e66c98ee3af4259e89b0b1eff0709 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add plugintr.h files to all pluginshjk2022-06-271-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Except FakeVim, which had it before. for i in [a-eg-z]*/*.json ; do upper=${i##*/} upper=${upper/.json/} lower=${i%/*} trfile=$lower/${lower}tr.h cat << EOT > $lower/${lower}tr.h /**************************************************************************** ** ** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ namespace $upper { struct Tr { Q_DECLARE_TR_FUNCTIONS($upper) }; } // namespace $upper EOT git add $trfile perl -pi -e "s/(${lower}_global.h)/\1\n ${lower}tr.h/" $lower/CMakeLists.txt perl -pi -e "s/(\"${lower}_global.h\",)/\1 \"${lower}tr.h\",/" $lower/$lower.qbs done Change-Id: I15ebbaaa9443c57b391b9e143f592d8a0c9208a9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove qmake build filesEike Ziller2022-01-202-42/+0
| | | | | | | | | | Removes qmake as a build system for building Qt Creator itself. Keep them for some tests that are not completely moved to CMake yet. Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Tracing: Add qml, register types via qt_add_qml_moduleAlessandro Portale2021-06-221-1/+3
| | | | | | | | | | | Use the CMake-based qml API to create the "QtCreator.Tracing" module. This uses qt_add_qml_module, which was introduced with Qt 6.2. For Qt 6.1 and below, everything compiles and runs like before this change. Change-Id: I4d63f9f724d0628cfaab9d1164c0d575f15d15aa Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing/QmlProfiler/CtfVisualizer/PerfProfiler: Compile with Qt 6Alessandro Portale2021-06-091-1/+1
| | | | | | | | | | | | | | | | | | | This makes the tracing lib, its tests and the three plugins which depend on the lib compile with Qt 6. The rectangles are not yet shown most likely because some OpenGL specific code was #ifdef-ed for Qt 6. That code needs to be reimplemented on top of the new Scenegraph API, using the RHI instead of direct OpenGL in a follow-up patch. An assertion failure in QQuickWidget::createFramebufferObject() needs to be fixed as-well. The code still builds and runs assertion free (and the autotests pass) when built against Qt 5. Task-number: QTCREATORBUG-20575 Change-Id: I47ebb477823de2f0d27329dac7c292a466cea1d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing/QmlProfiler/Perfprofiler: Merge modulesAlessandro Portale2021-06-081-5/+5
| | | | | | | | | | | | Move Tracing Qml Types into the "QtCreator.Tracing" module. Move QmlProfiler Qml Types into the "QtCreator.QmlProfiler" module. Move PerfProfiler Qml Types into the "QtCreator.PerfProfiler" module. And tst_flamegraphview ones into QtCreator.TstTracingFlameGraphView. ... in preparation to register the types declaratively. Change-Id: Ic0e3863d09b3426fa5b7419116625ad49b817dcf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake build/Qt6: Automatically disable build of profilersEike Ziller2021-03-051-0/+1
| | | | | | | | | | Tracing library does not build with Qt 6. Disable that automatically and also the plugins that depend on it. Add some feature info for the Tracing library, though we usually do not add feature information for libraries in general. Change-Id: I51b6993e30ec69d63a031c7bf404ea3887e14d84 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Use qAsConst with non-const Qt containers in range-loopsAlessandro Portale2021-02-171-3/+3
| | | | | | | ... in various places Change-Id: Ic6c0c1b9437a1ed402105c7a14a1f5f9454a68d4 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Don't allocate unneeded temporary containersJarek Kobus2020-12-142-5/+10
| | | | | | | | | | Fix clazy warnings: allocating an unneeded temporary container [clazy-container-anti-pattern] Change-Id: I4b4c2c634eea650bbdf3c12d982a17f899fc94ec Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Fix clang warnings about copies in range-for constructsChristian Kandeler2020-06-151-1/+1
| | | | | Change-Id: If50553964483626e72a816b1d23fa81b45ed9ca7 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Various places: performance-for-range-copyAlessandro Portale2020-06-151-1/+1
| | | | | Change-Id: I475990d32a5211d31a77782667a2dfedba134137 Reviewed-by: hjk <hjk@qt.io>
* Use dialogParent() instead of mainWindow()Eike Ziller2020-06-022-7/+10
| | | | | | | | | | There are very few reasons to use mainWindow() directly. Especially for modal dialogs, using dialogParent() is important, since that guarantees the stacking order in case of other dialogs currently being open. Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6 Reviewed-by: hjk <hjk@qt.io>
* Remove unused QTC_PLUGIN_REVISION macrosEike Ziller2020-04-091-1/+0
| | | | | | | These were used when the plugins were in separate repositories Change-Id: Iba06bb1e197e96271f6157b70ffb382b016147f1 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* CTF Vizualizer: Fix UI text according to the guidelinesLeena Miettinen2020-03-161-1/+1
| | | | | | | | https://doc.qt.io/qtcreator-extending/qtcreator-ui-text.html Task-number: QTCREATORBUG-23683 Change-Id: I9778dd6af9322d068ac1715876774d4ff5efe161 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Provide an empty default IPlugin::extensionsInitialized()hjk2020-02-072-5/+0
| | | | | | | And remove all empy re-implementations. Change-Id: I19f0b4e55c042c96693ecb89766f97f0a97b54ae Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/4.11'Eike Ziller2019-11-112-1/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/genericprojectmanager/genericprojectplugin.cpp src/plugins/projectexplorer/environmentaspect.cpp src/plugins/projectexplorer/environmentaspect.h src/plugins/projectexplorer/environmentaspectwidget.cpp Change-Id: Id21d62cf14419febd1e06c9b429fcdf4501c0eaf
| * Fix lupdate issuesEike Ziller2019-11-042-1/+2
| | | | | | | | | | | | Change-Id: Ib0cbb96a1a4857db5724f9d1e316b97bf2827dbd Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Tracing: CtfVisualizer: Add percentage of total time to statisticsTim Henning2019-10-243-0/+24
| | | | | | | | | | | | | | | | Adds a column for the percentage of the time of an event to the total measurement time in percent. Change-Id: Ic3298b4ef6f34cb893edd987e645c7cfb67458b5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tracing: CtfVisualizer: Apply thread restrictions to statistics, tooTim Henning2019-10-246-8/+37
| | | | | | | | | | | | | | | | | | The statistics are now also filtered by the selected threads. If no thread is selected, the statistics are presented for all threads combined. This fixes a bug with double counted events, too. Change-Id: I9afa0bf5bc85ccf363e00600e75001c0ab3f2e8a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tracing: CtfVisualizer: Add menu to restrict view to certain threadsTim Henning2019-10-246-7/+87
| | | | | | | | | | | | | | | | | | | | Add a new dropdown menu to select which threads should be displayed. If no threads are selected, all are shown (this is why the word 'restriction' was chosen). At the moment this only affects the timeline view, see the follow up for the statistics view. Change-Id: Ib3b08ea895e852189156e23feb8dea5f843cceb3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tracing: CtfVisualizer: Fix and extend counter detailsTim Henning2019-10-241-0/+8
|/ | | | | | | | | | Add more information in the details popup for counters (e.g. CPU usage) like current value, min and max values. Also fixes that the start time of a counter element wasn't displayed. Change-Id: If6e605205c680efe0f1be9a97b1cc01a762276ff Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CtfVisualizer: Avoid compile warningUlf Hermann2019-10-211-0/+3
| | | | | | | | Column::COUNT should not show up as actual column, but the compiler doesn't know. Change-Id: I68eea5c73a95bd45378f88c505f0cefed62ce8ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Don't link against QtSupport in CTF Visualizer pluginMilian Wolff2019-09-303-4/+2
| | | | | Change-Id: I03e4e3d4a2c687ba5841987318eee569c3fa15c4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Compile ctfvisualizer plugin with CMake tooMilian Wolff2019-09-191-0/+22
| | | | | | Change-Id: I746bda8bae7104dc79ebe0873cb75b052500174d Reviewed-by: Tim Henning <tim.henning@kdab.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CtfVisualizer: Fix qbs build windowsDavid Schulz2019-09-031-0/+1
| | | | | Change-Id: I6be07728475e8bf3197babbeff548ef86a5d6a11 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CtfVisualizer: Remove unused signalhjk2019-09-032-4/+0
| | | | | Change-Id: I29c47b279dcf1002fa1ffabcb0cd1f2865d4c683 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Add Qbs build file for CtfVisualizer pluginChristian Stenger2019-09-024-3/+30
| | | | | Change-Id: I90de2ebbcd7e8fae351b7a4a6241bf64b45a7904 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing: Add Chrome Trace Format Visualizer pluginTim Henning2019-08-2918-0/+1892
This new plugin adds a viewer for Chrome Trace Format (CTF) files (aka Trace Event Format). It uses the same UI components as the QML Profiler timeline and the Perf Profiler. The Trace Event Format is generated by different kinds of tracing tools. Usually the files are display with the trace-viewer, built into Chrome (chrome://tracing). This plugin was developed because of the high memory usage of trace-viewer, which makes it difficult to use with trace files bigger than 100 MB. The plugin fully supports all event types used in data generated by LTTng, converted to CTF by https://github.com/KDAB/ctf2ctf. Some of the more advanced event types used for example in Android system traces, though, are not supported. The viewer will silently ignore unsupported event types. Supported Event Types: - Begin, End, Duration and Instant events - Counter events (graphs) - Metadata events (process and thread name) The plugin uses nlohmann/json instead of QJson because of the ~128 MB object size limit by QJson. [ChangeLog][Tracing][CtfVisualizer] Added Chrome Trace Format Visualizer plugin Change-Id: I5969f7f83f3305712d4aec04487e2403510af64b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>