aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ctfvisualizer/ctftracemanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CtfVisualizer: Do some cleanupJarek Kobus2023-10-021-6/+3
| | | | | | | | | | | | | Remove unused headers. Use using namespace and drop unneeded namespace scopes. Replace QVector with QList. Return default constructed objects in default return statements. Avoid empty arg brackets in some lambdas. Use default member initializers. Change-Id: I11e62a291be3fa5bde4156e7a316765ee697b852 Reviewed-by: <[email protected]> Reviewed-by: Alessandro Portale <[email protected]>
* CtfVisualizer: Do not crash on unexpected types againEike Ziller2023-09-281-40/+51
| | | | | | | | | | And print a nicer error message. Amends c05f9cacc6be1038a1a9ecee0af07ac84c01738c Task-number: QTCREATORBUG-29659 Change-Id: I1db6bea0bedf1fae034fecbbbeae56bb2fee49ed Reviewed-by: Jarek Kobus <[email protected]>
* CtfVisualizer: Fix multithreading issuesJarek Kobus2023-09-271-70/+1
| | | | | | | | | | | | Simplify the CtfVisualizerTool::loadJson(). Don't create a QThread manually, but use TaskTree with AsyncTask instead. Move pure parsing into the separate thread, and leave the nlohmann::json event handling in the main thread. Avoid moving m_modelAggregator between threads. Fixes: QTCREATORBUG-29657 Change-Id: I0c6a9a4ea8298dbbdbafcddd338d39ad73c3f82b Reviewed-by: Alessandro Portale <[email protected]>
* CtfVisualizer: Allow strings for process and thread idEike Ziller2023-09-121-9/+22
| | | | | | | | | | | While the format document only uses numbers for these in its examples, the data type is not really specified there and chrome://tracing itself handles strings for them without complaint. On trace-generating side std::thread::id can't easily be serialized as a number, and strings can easily be supported in the viewer. Change-Id: I36c8497049d4933058b9f72a28f24e1d1cf0d5bb Reviewed-by: Alessandro Portale <[email protected]>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | 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 <[email protected]>
* 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 <[email protected]>
* CtfVisualizer: Convert to using Tr::trAlessandro Portale2022-09-221-5/+6
| | | | | Change-Id: Ide0c6556642c20a200fd72ec8e9596950af823b4 Reviewed-by: hjk <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-08-261-25/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <[email protected]>
* 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 <[email protected]>
* Don't allocate unneeded temporary containersJarek Kobus2020-12-141-4/+7
| | | | | | | | | | Fix clazy warnings: allocating an unneeded temporary container [clazy-container-anti-pattern] Change-Id: I4b4c2c634eea650bbdf3c12d982a17f899fc94ec Reviewed-by: Alessandro Portale <[email protected]> Reviewed-by: David Schulz <[email protected]> Reviewed-by: hjk <[email protected]>
* Use dialogParent() instead of mainWindow()Eike Ziller2020-06-021-5/+8
| | | | | | | | | | 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 <[email protected]>
* Merge remote-tracking branch 'origin/4.11'Eike Ziller2019-11-111-1/+1
|\ | | | | | | | | | | | | | | | | | | 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-041-1/+1
| | | | | | | | | | | | Change-Id: Ib0cbb96a1a4857db5724f9d1e316b97bf2827dbd Reviewed-by: Leena Miettinen <[email protected]> Reviewed-by: Christian Stenger <[email protected]>
* | Tracing: CtfVisualizer: Add percentage of total time to statisticsTim Henning2019-10-241-0/+1
| | | | | | | | | | | | | | | | 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 <[email protected]>
* | Tracing: CtfVisualizer: Apply thread restrictions to statistics, tooTim Henning2019-10-241-3/+22
| | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | Tracing: CtfVisualizer: Add menu to restrict view to certain threadsTim Henning2019-10-241-5/+32
|/ | | | | | | | | | 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 <[email protected]>
* Tracing: Add Chrome Trace Format Visualizer pluginTim Henning2019-08-291-0/+256
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 <[email protected]>