0
0
mirror of https://github.com/yse/easy_profiler.git synced 2025-01-14 16:47:55 +08:00

151 Commits

Author SHA1 Message Date
Victor Zarubkin
f0a588eec5 #106 [Core][UI] Fixed reading bookmarks with empty text; Fixed overriding and restoring mouse cursor shape when hovering bookmark at the Diagram widget;
#0 [UI] Waiting until saving file is finished when closing the UI.
2018-06-14 02:57:12 +03:00
Victor Zarubkin
c85d15a4e2 #106 [UI] Rising a tooltip when passing cursor over a bookmark; #0 [UI] Minor fixes 2018-06-13 21:43:16 +03:00
Victor Zarubkin
0ae430410d #106 [Core][UI] Added possibility to add user bookmarks with double-clicking on a timeline in the Diagram window.
#112 [UI] Fixed losing focus (and getting under MainWindow) for Blocks widget.
#0 [UI] UI styling, added custom window header and dialogs (could be turned off/on and adjusted position at [Settings -> Appearance] menu).
2018-06-09 02:18:39 +03:00
Victor Zarubkin
2b75e65535 #0 [UI] refactoring 2018-05-24 02:19:48 +03:00
Victor Zarubkin
983085157e # [UI] Styles and refactoring 2018-05-19 23:41:01 +03:00
Victor Zarubkin
91724bfe20 #0 [UI] refactoring 2018-05-07 21:58:37 +03:00
Victor Zarubkin
f665478830 #91 [Core][UI] functions profiler::writeTreesToFile(), profiler::writeTreesToStream() are now working. Snapshot feature is now working: select an area on Diagram (with right mouse button or double-click) and press Snapshot button to save it to separate file. 2018-04-25 21:37:18 +03:00
Victor Zarubkin
ef7b41fd0d #91 [UI] Added snapshot tool stub; Working on saving blocks to file from UI 2018-04-22 03:34:26 +03:00
Victor Zarubkin
cb8e66e9ae #0 [UI] Diagram tool-tips fix: no tool-tips if mouse cursor is over another widget (opened settings for example) 2018-03-31 19:01:47 +03:00
Victor Zarubkin
7981a8f4ce #31 [UI] Added tooltip for arbitrary values to the Diagram 2018-03-29 01:56:21 +03:00
Victor Zarubkin
212502578f #100 [UI] Implemented zoom-in button 2018-03-18 03:12:10 +03:00
Victor Zarubkin
dd5af5350b #31 [UI] Open several arbitrary values viewer windows 2018-03-13 01:28:58 +03:00
Victor Zarubkin
769236c35a #31 [Gui] Double click on arbitrary value on the Diagram will open values viewer and will select appropriate arbitrary value 2018-03-12 01:47:20 +03:00
Victor Zarubkin
5e632bedee #31 [Core] Arbitrary values: replaced size_t with uint16_t; [Gui] Added support of arrays to arbitrary values tree 2018-03-07 20:52:39 +03:00
Victor Zarubkin
49f000d11a #0 [Gui] Windows styling fix 2018-03-03 03:01:41 +03:00
Victor Zarubkin
4fb35b2099 #0 [Gui] Fixed popup and double click on thread names on Diagram 2018-02-20 22:14:21 +03:00
Victor Zarubkin
677a138fa3 #89 Trying to fix high-dpi displays problem 2018-02-01 23:17:01 +03:00
Victor Zarubkin
091d5447ce #0 Updated copyright dates; [Gui] thread_pool.cpp MSVC build fix; [Core] Renamed getCurrentTime() to profiler::clock::now() + renamed profiler::currentTime() to profiler::now() 2018-01-29 23:29:43 +03:00
Victor Zarubkin
1a333e4f01 #0 [Gui] Large portion of refactoring; Replaced bunch of threads with thread pool; Small fixes for arbitrary values viewer 2018-01-28 20:52:17 +03:00
Victor Zarubkin
230f7d1463 #0 [Gui] Saving dialog geometry; Added refresh button to arbitrary values widget; Fixed zoom-in algorithm 2018-01-25 23:21:56 +03:00
Victor Zarubkin
a7a58acd1d #31 [Gui] Big update for arbitrary values viewer. It is now viable and can be used to inspect user metrics. Currently arbitrary values viewer is built into blocks list widget. 2018-01-21 19:37:44 +03:00
Victor Zarubkin
694497b5ca Release 2.0 further work. Intermediate commit. 2018-01-20 15:23:28 +03:00
Victor Zarubkin
4406664a7d #31 Basic arbitrary values viewer chart 2017-12-28 00:23:14 +03:00
Victor Zarubkin
123358b798 #31 [GUI] Arbitrary values viewer begin. Refactoring. 2017-12-07 22:36:53 +03:00
Victor Zarubkin
3b6986aa36 #0 [GUI] Appearance progress 2017-12-04 20:29:22 +03:00
Victor Zarubkin
df93c146b2 #0 [GUI] Windows styling and consterxpr fix for some Qt versions 2017-11-27 22:43:01 +03:00
Victor Zarubkin
e4305bf10b #0 [GUI] Styling and optimization 2017-11-27 22:02:15 +03:00
Victor Zarubkin
109c5fc47c #0 [GUI] Styling 2017-11-23 22:01:44 +03:00
Victor Zarubkin
aa1ddb44ca #0 [GUI] Styling 2017-11-16 22:32:28 +03:00
Victor Zarubkin
b3fd7c7837 #31 Single arbitrary values can be displayed in GUI as events + value converted to text 2017-11-15 21:43:52 +03:00
Victor Zarubkin
530eb2446c #0 [Core] A lot of code refactoring 2017-11-09 23:12:54 +03:00
Oliver Daniell
f241444f1d Moved QFonts into EASY_GLOBALS and deferred instantiation of EASY_GLOBAS
until after QApplication.
2017-08-10 09:12:33 +01:00
Victor Zarubkin
8c4e26e3ec (GUI) Fix compiler warning 2017-06-07 01:47:05 +03:00
Victor Zarubkin
93c3066095 update #42 : Slightly better solution with less amount of black magic - different data structures for context switch events. Core API changed! 2017-06-07 01:39:45 +03:00
Victor Zarubkin
4a9daf3bb4 update #42 : fixed possible statistics display bug; work around storing 64-bit thread id for context switch events (requires testing);
* (GUI) Added popup window when moving mouse cursor to thread name in Diagram window;
2017-06-06 20:46:06 +03:00
Victor Zarubkin
089fcf1e31 (GUI) Added an option to display thread ids in HEX mode;
* (GUI) Fixed problem with searching selected blocks in histogram when selecting block from BlocksList widget
2017-06-05 21:26:10 +03:00
Sergey Yagovtsev
35b4796a62 *nix build 2017-06-05 13:18:28 +03:00
Josh Engebretson
a01187cf55 Networking fixes for MacOS
Qualify type for std::abs
2017-05-23 19:47:29 +03:00
Victor Zarubkin
bf308dc299 (GUI) Fixed displaying unicode text in popup and at histogram window 2017-05-02 23:22:36 +03:00
Victor Zarubkin
4f941294fd (GUI) #37 replaced std::abs() with abs();
(GUI) Changed popup position on Diagram - now it is better positioned for small window also.
2017-04-30 01:09:06 +03:00
Victor Zarubkin
2e74f83569 (GUI) Displaying "total self %" (duration % excluding all children) per thread/frame/parent 2017-04-20 22:30:05 +03:00
Victor Zarubkin
c202bd8cac (GUI) Added additional field "Self" to the popup on Diagram. Self stands for "self duration" (duration excluding all children). 2017-04-17 22:14:51 +03:00
Victor Zarubkin
c7ba19cb4d (GUI) Fixed warnings 2017-04-10 22:04:09 +03:00
Victor Zarubkin
cbb298dc19 (GUI) Added possibility to adjust selection boundaries with dragging (available for both rulers: black and blue) 2017-04-10 21:33:56 +03:00
Victor Zarubkin
08372ac136 Update license 2017-03-30 06:55:15 +03:00
Victor Zarubkin
1af9c1bacc GUI.Diagram: changed timeline scale color from gray to darkGray 2017-03-13 00:38:31 +03:00
Victor Zarubkin
ffca37d06d GUI.GraphicsView: Removed unused code 2017-03-07 19:53:09 +03:00
Victor Zarubkin
5e0180f399 amend last commit (adjusted width) 2017-03-07 01:33:43 +03:00
Victor Zarubkin
5efe8c1132 GUI: Changed current-scale indicator appearance (bottom right of the screen) 2017-03-07 01:30:48 +03:00
Sergey Yagovtsev
d564b6ef4e Saving files before refreshing line endings 2017-02-08 00:14:49 +03:00
Victor Zarubkin
bf7bf10b80 (GUI) Less buggy and more efficient recursive painting algorithm for blocks at diagram. Test mode.
Note: with recursive algorithm it is possible to iterate through blocks in parallel to make painting just more efficient - this is my future todo
2016-12-27 22:07:44 +03:00
Victor Zarubkin
6d59c53f7a (GUI) Fixed wrong window size calculation for hystogram window 2016-12-21 22:40:06 +03:00
Victor Zarubkin
649eda5641 (GUI) Small alignment fixes 2016-12-21 21:45:11 +03:00
Victor Zarubkin
0a57ff381c (GUI) Please, read NOTICE for that commit.
1) Added active time calculation (this is duration excluding context switch time).
2) Columns "Duration", "Self Dur.", "Self %", "% / Frame", "Active time", "Active %" in Plain mode shows total values per frame (sum of all values per frame).
2016-12-18 17:59:41 +03:00
Victor Zarubkin
e5dccfb8be (GUI) Added hierarchy window mode: full hierarchy, plain mode (only functions list) 2016-12-18 15:56:08 +03:00
Victor Zarubkin
d85f9864d6 (GUI) Added statistics gathering for context switches (calls number, total duration, % per thread or frame).
Known issue: if context switch events occur out of profiled blocks then percent/thread may be calculated wrong as it is calculating relative to thread profiled time (which may be a very low value).
2016-12-14 23:17:02 +03:00
Victor Zarubkin
7883371166 (GUI) Added calculation of thread wait time (sum of all context switches) 2016-12-14 22:16:14 +03:00
Victor Zarubkin
eafcb40970 (GUI) Added possibility to torn on/off decorated thread names (add/don't add "Thread" word info thread name. Example, "Render" convert to "Render Thread", "WorkerThread" "My thread" will not convert in any way). See Settings->View->Use decorated thread names.
* (GUI) Fixed lagging when painting very long block on large scale.
2016-12-14 21:47:33 +03:00
Victor Zarubkin
3f64b9fb1c (GUI) Added average time into summary popup 2016-12-12 21:41:48 +03:00
Victor Zarubkin
d4877b59b8 (GUI) Added new regime "Hide min-size blocks" to hide blocks which screen size is less than 'Min blocks size';
(GUI) Slightly more memory effective arch.
2016-12-12 21:39:16 +03:00
Victor Zarubkin
c9d3169dbf (EasyGraphicsView) minor alignment fixes 2016-12-07 23:32:10 +03:00
Victor Zarubkin
d0c847da1d (EasyGraphicsView) Additional 5% offset before first and after last block;
* (EasyGraphicsView) Scroll to the first block after opening file;
2016-12-07 23:28:15 +03:00
Victor Zarubkin
f9e8138c36 gcc warnings fix 2016-12-04 18:40:46 +03:00
Victor Zarubkin
15f3c7fc87 (GUI) Added tooltips into Settings->View menu;
(GUI) More informative popup window view;
(GUI) Added hystogram for current selected block;
2016-12-04 16:51:27 +03:00
Victor Zarubkin
ced93de1b3 (EasyGraphicsView) New popup window for blocks 2016-12-01 23:31:40 +03:00
Victor Zarubkin
acb197557f (EasyGraphicsView) Added possibility to scroll thread names list with mouse wheel 2016-12-01 22:27:25 +03:00
Victor Zarubkin
33bd7256ab (EasyGraphicsView) Scroll to main thread after file load 2016-12-01 22:20:34 +03:00
Victor Zarubkin
02349afe8b (EasyGraphicsView) Fixed timeline scale indicator text;
* (EasyGraphicsView) Fixed longest thread selection;
2016-12-01 21:52:29 +03:00
Victor Zarubkin
045f464e1f (EasyGraphicsView) Chronometer line style reset fix 2016-11-30 22:22:58 +03:00
Victor Zarubkin
69a326c06b (EasyGraphicsView) Highlighting all similar blocks on diagram (only if they are visible!);
(GUI) Added possibility to select units in which time will be displayed
2016-11-30 21:59:40 +03:00
Victor Zarubkin
0658540109 (EasyGraphicsView) Important fix: fixed wrong indexing on paint 2016-11-26 17:00:05 +03:00
Victor Zarubkin
a7ac056021 (GUI) Added flag for enabling zero length blocks on diagram (if NOT enabled then such blocks would be resized to minimum length which is 250 ns. Otherwise you probably will not see blocks with zero length on diagram, but such blocks are still available at hierarchy window) 2016-11-23 22:54:59 +03:00
Victor Zarubkin
92b2b27a3b (GUI) Added search box into Hierarchy window;
(GUI) Added new option for building hierarchy for selected thread only (for memory economy)
2016-11-20 21:01:33 +03:00
Victor Zarubkin
21a7898572 removed unnecessary lambdas 2016-11-20 14:11:46 +03:00
Victor Zarubkin
ed3e26a59c GUI: Blocks painting algorithm optimization for detailed mode 2016-11-19 03:46:52 +03:00
Sergey Yagovtsev
e5041a9b2b Multi-licensing in source codes 2016-11-13 16:39:59 +03:00
Victor Zarubkin
eca7061fd0 Added menu Settings->Remote to control profiler event tracing and other future options 2016-09-28 00:37:20 +03:00
Victor Zarubkin
c53a8d4cb9 (EasyGraphicsView) additional offset before first block and after last block for ease of view 2016-09-25 11:50:57 +03:00
Victor Zarubkin
6cae6901de (profiler_gui) Removed unnecessary signals (rebuild may be needed) 2016-09-24 00:00:31 +03:00
Victor Zarubkin
7f5b7c00a8 (profiler_gui) Added tool-button "Clear all";
(profiler_gui) Prepare for append blocks
2016-09-21 22:09:04 +03:00
Victor Zarubkin
cb6da49b3d (EasyGraphicsView) clang build fix 2016-09-15 23:20:37 +03:00
Victor Zarubkin
d8296ad43a (profiler_gui) Project hierarchy change: moved sources to separate files 2016-09-15 22:30:32 +03:00
Victor Zarubkin
f0ee9215bd Warnings fix 2016-09-14 23:34:56 +03:00
Victor Zarubkin
9748d7274f (profiler_gui) Bold and colorized font in EasyTreeWidget header 2016-09-14 23:14:24 +03:00
Victor Zarubkin
fdee7226f8 (profiler_gui) More information in popup; Right way to remove QGraphicsProxyWidget from scene (it does not delete widget by itself) 2016-09-13 23:44:20 +03:00
Victor Zarubkin
1b33ad788d (profiler_core) Further work with run-time enable/disable blocks;
(profiler_core) Fixed bug with memory corruption in chunk_allocator;
(profiler_core) Event tracing now gathering info about process which owns thread;
(profiler_core) Thread names are stored before other blocks now;
(profiler_core) Removed unused block types: context switch and thread sign;
(profiler_core) Added some description for API;
(profiler_gui) Context switch events now painted in different colors: red = switch to another process, coral = switch to registered thread in the same process, black = switch to kernel mode (thread id == 0).
(profiler_gui) Added popup windows with information about context-switch or block under mouse cursor;
2016-09-13 23:03:01 +03:00
Victor Zarubkin
c67bf1dda7 (EasyGraphicsView) Fixed wrong font width calculation issue; Fixed wrong resizeEvent behavior; 2016-09-11 16:53:34 +03:00
Victor Zarubkin
5b620071b6 (profiler_gui) Adjust colors; Added keyboard handlers; Displaying additional info 2016-09-09 00:07:27 +03:00
Victor Zarubkin
248348ee05 (EasyGraphicsView) Added widget displaying thread names on scene. Double click on thread name makes it current selected thread.
(EasyGraphicsView) Selected item's text is now painted bold + removed selected item color, but made selected item's border more wide.
(profiler_gui) Colors adjustment.
2016-09-08 22:42:35 +03:00
Victor Zarubkin
68bbd0eef3 Merge branch 'event_tracing' of https://github.com/yse/easy_profiler into event_tracing 2016-09-07 21:52:40 +03:00
Victor Zarubkin
6e845eece2 Using Google Material Design colors;
* At last, fixed bug with text paint on very large scene scale. Now you can scale the scene up to 10 ns scale!
2016-09-07 21:48:50 +03:00
Sergey Yagovtsev
e1d95e0d3b clang some warning fix 2016-09-07 21:37:13 +03:00
Victor Zarubkin
591f613ff6 License text + small clean-up 2016-09-06 21:49:32 +03:00
Victor Zarubkin
d8d9a2fd32 (EasyGraphicsView) Painting context switches with outlined rectangles 2016-09-06 00:23:46 +03:00
Victor Zarubkin
f5ed51e13a Event tracing fixes! Now working :) 2016-09-04 19:35:58 +03:00
Victor Zarubkin
05b56dcec0 First debuggable version of system event tracing for visualizing thread context switches 2016-09-04 14:48:35 +03:00
Victor Zarubkin
9560c5b5cf (profiler_gui) Memory consumption optimization + File reading speed-up. 2016-08-30 22:51:18 +03:00
Victor Zarubkin
245bc6c386 (EasyChronometerItem) Fixed an error of displaying text on large scale 2016-08-30 20:47:49 +03:00
Victor Zarubkin
61c40c2512 (EasyGraphicsView) Design tweaking 2016-08-28 23:40:51 +03:00
Victor Zarubkin
aa0d96d0e6 Remastering profiler API. All projects are compiled successfully, but there is an error occured during read/write .prof file 2016-08-28 18:22:45 +03:00