aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
Commit message (Collapse)AuthorAgeFilesLines
* TaskTree: Switch to qt-ified QtTaskTreeJarek Kobus2025-10-311-3/+3
| | | | | | | Remove the old Tasking lib. Change-Id: Iacb4939cc873e25d6039efae7dd23510a7baa5f9 Reviewed-by: hjk <hjk@qt.io>
* CtfVisualizer: Disable empty modelsChristian Stenger2025-10-171-0/+1
| | | | | Change-Id: I7baf3c379f7dcf3521c685777180b09d241155db Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CtfVisualizer: Deselect current event on filteringChristian Stenger2025-10-171-0/+10
| | | | | | | | | | | | Using the filter invalidates the order or may even remove the model used by the current selected event. Using next or previous afterwards can result in crashes when accessing the model or item by id as these now point to different models or items or even non-existing objects. Invalidate event selections to avoid these crashes. Change-Id: Ia80fa289f9ecbfd4bceabd60688a40149ac6324d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* TaskTree: Rename TaskTreeRunner into SingleTaskTreeRunnerJarek Kobus2025-08-121-2/+2
| | | | | | | | Introduce AbstractTaskTreeRunner base class. Add a test for SingleTaskTreeRunner. Change-Id: I344aa8545f62f9e2e8fbbb741205d61ebbfe2d35 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* CtfVisializer: Remove unused methodJarek Kobus2025-02-061-5/+0
| | | | | | | Detected by Axivion plugin. Change-Id: I10769709c6a451595b39bbbb740dfa3376ef13ca Reviewed-by: hjk <hjk@qt.io>
* Debugger: Merge analyzerconstants.h into debuggerconstants.hhjk2024-12-201-1/+1
| | | | | Change-Id: Id092c8d0bedad987e963b36b0e9b46e7182209a2 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* CtfVisualizer: Reuse TaskTreeRunnerJarek Kobus2024-01-171-33/+30
| | | | | | Change-Id: If893cdd260943a5e72b05595f15c3133e4340f8f Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* CtfVisualizer: Destroy CtfTool earlier againhjk2024-01-121-4/+5
| | | | | | | | | | Amends 796053d7. After all, the defaulted destructor of the class did some actual work via the destructors of the QScopedPointer members. Change-Id: If6dc8a3d57961ec263fced11f9fa9f7e9f8c54cc Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* CtfVisualizer: Convert to new standard plugin setuphjk2024-01-121-0/+5
| | | | | Change-Id: Iaed31278cdbaf2933b325a3424d3c64e91f48d1c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* TaskTree: Unify done / errorOccurred signalsJarek Kobus2023-11-071-22/+19
| | | | | | | | | | Get rid of TaskTree::errorOccurred signal. Provide additional DoneResult arg for done signal. Task-number: QTCREATORBUG-29834 Change-Id: I31a3a0701a14246b01f65303a1295f014c855ecf Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* CtfVisualizer: Do some cleanupJarek Kobus2023-10-021-25/+18
| | | | | | | | | | | | | 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: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CtfVisualizer: Do not crash on unexpected types againEike Ziller2023-09-281-0/+4
| | | | | | | | | | And print a nicer error message. Amends c05f9cacc6be1038a1a9ecee0af07ac84c01738c Task-number: QTCREATORBUG-29659 Change-Id: I1db6bea0bedf1fae034fecbbbeae56bb2fee49ed Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* CtfVisualizer: Fix multithreading issuesJarek Kobus2023-09-271-38/+92
| | | | | | | | | | | | 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 <alessandro.portale@qt.io>
* CMakePM: Add CMake Profiler actionCristian Adam2023-09-211-7/+12
| | | | | Change-Id: I17f258834724c37f0933d18b6214851be1965913 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CtfVisualizer: Allow strings for process and thread idEike Ziller2023-09-121-1/+1
| | | | | | | | | | | 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 <alessandro.portale@qt.io>
* Merge remote-tracking branch 'origin/11.0' into HEADDavid Schulz2023-09-121-2/+5
|\ | | | | | | Change-Id: I3b6a4bd860c11324d989818d9010f07faaac677a
| * CtfVisualizer: Never crash with uncaught exception when loading JSONEike Ziller2023-09-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | If we retrieve a value of a type that doesn't match the actual type in the JSON, the JSON library throws an exception. We should have checks to avoid this, but as a global measure never let exceptions through to Qt Creator. Change-Id: Ibfe830d745a94810f874ccca82b83d57ea72f31e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* | Various Plugins: Add context object into connectionsJarek Kobus2023-08-021-2/+1
|/ | | | | | Change-Id: I360677bebfef16a3233b3b8177cff6da57ec7c31 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* 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>
* Translations: Remove header includes of *tr.h in .h filesAlessandro Portale2023-02-081-0/+1
| | | | | | | | | 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>
* 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 <eike.ziller@qt.io>
* CtfVisualizer: Convert to using Tr::trAlessandro Portale2022-09-221-11/+11
| | | | | Change-Id: Ide0c6556642c20a200fd72ec8e9596950af823b4 Reviewed-by: hjk <hjk@qt.io>
* 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 <eike.ziller@qt.io>
* Use dialogParent() instead of mainWindow()Eike Ziller2020-06-021-2/+2
| | | | | | | | | | 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>
* 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>
* Tracing: CtfVisualizer: Add menu to restrict view to certain threadsTim Henning2019-10-241-0/+33
| | | | | | | | | | 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>
* CtfVisualizer: Remove unused signalhjk2019-09-031-1/+0
| | | | | Change-Id: I29c47b279dcf1002fa1ffabcb0cd1f2865d4c683 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Tracing: Add Chrome Trace Format Visualizer pluginTim Henning2019-08-291-0/+187
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>