0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-30 02:16:55 +08:00

196 Commits

Author SHA1 Message Date
Sergey Yagovtsev
b257ef2c1d Merge commit 2016-08-08 22:54:20 +03:00
Sergey Yagovtsev
164eaa519d Warning fix 2016-08-08 22:45:57 +03:00
Victor Zarubkin
48e0906bf4 (ProfGraphicsView) using SELECTED_ITEM_COLOR constant 2016-08-08 22:35:21 +03:00
Victor Zarubkin
f0f82c01e2 (ProfGraphicsView) Selecting items on scene;
(ProfGraphicsView) Clickable indicators of ProfChronometerItem;
(ProfTreeWidget) Jump to items on scene from ProfTreeWidget;
(profiler GUI) Fixed typos and warnings;
2016-08-08 22:17:56 +03:00
Sergey Yagovtsev
00602398fb Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-08-07 21:40:49 +03:00
Sergey Yagovtsev
98a3dd7114 Fix typo in SerializedBlock class name 2016-08-07 21:40:23 +03:00
Victor Zarubkin
30f0261bae (ProfGraphicsView) refactoring 2016-08-07 20:16:15 +03:00
Victor Zarubkin
cae3ab989e (profiler reader app) Setting file name manually when launching application without arguments 2016-08-07 19:39:33 +03:00
Victor Zarubkin
3017be305a (profiler reader) Gathering per frame statistics + refactoring;
(profiler GUI) Lightening profiler::colors to be more bright;
(ProfTreeWidget) Displaying per frame and per thread statistics;
(ProfGraphicsView) Draw chronometer item text in Difference mode to be more readable.
2016-08-07 19:38:31 +03:00
Victor Zarubkin
888ea2e61c refactoring 2016-08-07 19:35:58 +03:00
Victor Zarubkin
b39057049e (profiler) Proper color names and 6 new colors 2016-08-07 19:31:09 +03:00
Victor Zarubkin
57654670f0 (ProfGraphicsView) Displaying additional chronometer item on mouse double click and move. This item is used just to measure time. This is not affecting tree displayed in ProfTreeWidget. 2016-08-06 14:50:31 +03:00
Victor Zarubkin
67ed94c774 (ProfMainWindow) Saving last opened file path into QSettings 2016-08-06 14:48:38 +03:00
Victor Zarubkin
7366defa63 Silly mistake 2016-08-06 14:48:01 +03:00
Victor Zarubkin
27ec6aee7e refactoring 2016-08-04 23:46:04 +03:00
Victor Zarubkin
aac410d9f8 Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-08-04 23:35:49 +03:00
Victor Zarubkin
340a787358 (ProfGraphicsView) Fixed borders painting 2016-08-04 23:35:38 +03:00
Sergey Yagovtsev
4b43bebc4a Remove obsolete code 2016-08-04 23:29:08 +03:00
Sergey Yagovtsev
8346e50688 (profiler GUI) Store settings for application. Now is main geometry and
columns settings in blocks tree widget and colorized settings.
2016-08-04 23:12:41 +03:00
Sergey Yagovtsev
57d8bc85e3 Set to windows application on win platform for profiler gui 2016-08-04 23:12:05 +03:00
Victor Zarubkin
4f0fabdfd6 (profiler Reader) Added block_index field and replaced pointers SerilizedBlock* to block indexes;
(profiler GUI) Added plain vector of ProfBlocks (additional information for gui) for fast access;
(ProfGraphicsView) Removed unnecessary methods; small refactoring;
(ProfTreeWidget) Removed unnecessary map of tree items;
(ProfGraphicsScrollbar) Added colorizing of minimap (green = low duration, red = long duration);
2016-08-04 22:38:45 +03:00
Victor Zarubkin
55cd5a5751 (profiler Reader) For memory consumption optimization created BlocksTreeRoot class and move thread_name field from BlocksTree to new created class;
(profiler Reader) Added self_duration field for statistics;
(profiler Reader) Removed #ifdef macros;
(profiler Reader) moved BlocksTree, BlocksTreeRoot and thread_blocks_tree_t types inside profiler namespace;
(profiler GUI) Added globals.h and globals.cpp containing global variables and signals; Added profiler_gui namespace;
(ProfTreeWidget) Added context menu "Select columns" to make it possible to hide columns;
(ProfTreeWidget) Added percent statistics for blocks (Self %, Parent % and Frame %); Added displaying of total thread duration;
(ProfGraphicsScrollbar) Added context menu to make it possible to choose which thread to display on minimap;
(ProfGraphicsView) Highlighting currently selected thread;
2016-08-03 23:00:04 +03:00
Victor Zarubkin
4db8d4fbb6 (GraphicsScrollbar) Added mini-map which shows duration of blocks relative to each other;
(GraphicsScrollbar) Also added displaying of chronometer item position in graphics scrollbar.
2016-08-03 00:06:36 +03:00
Victor Zarubkin
aa7996c1c5 (ProfGraphicsView) Chronometer item text is displaying correctly taking into account visibleSceneRect borders 2016-08-02 22:24:22 +03:00
Victor Zarubkin
773f978bdc (ProfTreeWidget) Displaying thread names in the tree 2016-08-02 22:22:41 +03:00
Victor Zarubkin
bfe2e44456 (profiler Core fix) Thread-safety fixes 2016-08-02 21:44:11 +03:00
Victor Zarubkin
5d6cf9e5b4 (ProfTreeWidget fix) Fixed compiler warning 2016-08-02 21:21:12 +03:00
Victor Zarubkin
4b0d8e5e63 (profiler Reader fix) Added thread_name assignment into BlocksTree::makeMove() 2016-08-02 21:20:38 +03:00
Victor Zarubkin
fd67a3d81b (profiler Optimizations) PROFILER_SET_THREAD_NAME uses static variable, so profiler::setThreadName() will be invoked only once;
(profiler Optimizations) removed unnecessary profiler::Block creation from profiler::setThreadName();
(profiler Optimizations) removed statics from getCurrentTime() function - more correct static usage.
2016-08-02 21:18:04 +03:00
Sergey Yagovtsev
6445be6e41 Add test for performance 2016-08-01 22:25:26 +03:00
Victor Zarubkin
bc44bec36d Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-08-01 22:22:23 +03:00
Victor Zarubkin
b0f6b3f268 (GraphicsView) Fixed test();
(GraphicsView) Added a lot of comments;
(GraphicsView) Changed base unit from milliseconds to microseconds;
(GraphicsScrollbar) Fixed fluttering on very small scale;
(GraphicsView)+(TreeWidget) Chronometer item behavior: if selection made from left to right - selecting all items by intersection with rectangle; if selection made from right to left - selecting all items which are strictly inside selection rectangle.
2016-08-01 22:21:59 +03:00
Victor Zarubkin
7bf8d871c1 Proper LONGLONG value 2016-08-01 22:16:31 +03:00
Victor Zarubkin
146b0ccdfc Sample dump to file 2016-08-01 22:15:40 +03:00
Sergey Yagovtsev
dd2deaf36f Add macro for specifying thread name 2016-07-31 22:12:11 +03:00
Sergey Yagovtsev
35faba94c9 Return current time in nanoseconds 2016-07-31 20:01:02 +03:00
Sergey Yagovtsev
2f833fc0a8 Add function getCurrentTime instead of std::chrono on windows 2016-07-31 19:21:09 +03:00
Victor Zarubkin
bb0f2d3cd4 Added chronometer graphics item which shows time interval on graphics scene (Press right mouse button and move mouse on graphics scene). Also, all items from selected interval will be shown in tree widget. 2016-07-31 18:48:41 +03:00
Victor Zarubkin
c943431104 (GraphicsView) Using GraphicsScrollbar with qreal values instead of standard QScrollBar with int values.
(GraphicsView) Does not use standard QGraphicsView::scale and QGraphicsView::centerOn methods, does not use standard QScrollBar because of it's fast value overflow. Using manual offset for all scene items instead of standard scrolling.
2016-07-31 13:13:48 +03:00
Victor Zarubkin
ac484a1ae4 unnecessary include 2016-07-27 23:12:05 +03:00
Victor Zarubkin
5b7364b0bd Flicker functionality for profiler gui on QWidgets 2016-07-27 22:52:13 +03:00
Victor Zarubkin
03fb3f271f Scene paint fixes and optimization 2016-07-27 21:50:11 +03:00
Victor Zarubkin
9a616fc693 Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
# Conflicts:
#	profiler_gui/main_window.cpp
#	src/reader.cpp
2016-07-10 01:36:02 +03:00
Victor Zarubkin
3978535a99 Added GraphicsScrollbar (still in development phase) for big graphics scene. Standard QScrollBar's int value gets overflow very fast when doing zoom-in for graphics scene. So it is necessary to create a Scrollbar with double value. 2016-07-10 01:31:45 +03:00
Victor Zarubkin
f734104280 (GraphicsView) New draw method with one GraphicsItem for the whole scene (testing) 2016-07-10 01:31:29 +03:00
Victor Zarubkin
8b4bd91147 (profiler reader) Added calculation of maximum depth of the BlocksTree;
* Also added header into reader.cpp and added comments.
2016-07-10 01:31:06 +03:00
Victor Zarubkin
2939f07c2a changed random seed 2016-07-10 01:15:41 +03:00
Sergey Yagovtsev
d4b052127a Add command line parameters for reader. First parameters is file for reading and second is file for profiling dumping 2016-07-04 22:55:04 +03:00
Sergey Yagovtsev
23a94d94e2 Add profiling blocks for reader 2016-07-04 22:53:48 +03:00
Sergey Yagovtsev
82e9920e15 Add dumpBLocksToFile function 2016-07-04 22:53:02 +03:00