Victor Zarubkin
197a585307
(profiler core) Warning: .prof file format changed! New SerializedBlock format, less allocations and copy, only single allocation in fillTreesFromFile(). Memory consumption reduced. Also speed up statistics gathering by moving calculations into several threads.
2016-08-14 22:22:44 +03:00
Victor Zarubkin
13997f6187
(profiler core) revert variables order change (prevois change may affect file read/write)
2016-08-14 16:50:17 +03:00
Victor Zarubkin
d38c869330
Memory consumtion optimization (almost 2 times less memory used on Windows)
2016-08-14 16:05:10 +03:00
Victor Zarubkin
3fd0b77d16
(profiler core) Prepare for source file and line writing
2016-08-11 23:52:33 +03:00
Sergey Yagovtsev
98a3dd7114
Fix typo in SerializedBlock class name
2016-08-07 21:40:23 +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
b39057049e
(profiler) Proper color names and 6 new colors
2016-08-07 19:31:09 +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
bfe2e44456
(profiler Core fix) Thread-safety fixes
2016-08-02 21:44:11 +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
dd2deaf36f
Add macro for specifying thread name
2016-07-31 22:12:11 +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
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
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
Sergey Yagovtsev
82e9920e15
Add dumpBLocksToFile function
2016-07-04 22:53:02 +03:00
Victor Zarubkin
4b287b31fa
(BlocksTree) Reading total number of children (including grandchildren and so on)
2016-06-29 20:31:17 +03:00
Victor Zarubkin
30d9e7645f
(Graphics view) Disabled border lines painting because of vertical lines painting bug;
...
* (Graphics view) Changed height of blocks. Variable thread-block height;
* (Tree widget) Disabled sorting by name to save order of threads displayed on graphics view;
* (Profiler reader) Changed type of value returned by fillTreesFromFile().
2016-06-27 23:22:12 +03:00
Victor Zarubkin
36ec598697
statistics gathering
2016-06-26 02:15:39 +03:00
Victor Zarubkin
94add93883
const modifiers for const methods
2016-06-26 02:12:27 +03:00
Victor Zarubkin
66d8a1b8f1
using std::list instead of std::vector is near twice faster
2016-06-26 00:58:40 +03:00
Victor Zarubkin
bd09a0173f
statistics gathering
2016-06-26 00:56:24 +03:00
Victor Zarubkin
aa8fde2434
removed unnecessary memory allocation
2016-06-25 23:10:05 +03:00
Victor Zarubkin
f2a1c8bf30
fixed potential memory leak on move operator
2016-06-25 17:30:39 +03:00
Victor Zarubkin
06192258ed
statistics move
2016-06-25 17:27:36 +03:00
Victor Zarubkin
2a1b7acfb9
prepare for statistics gathering and small refactoring with namespaces and comments
2016-06-25 17:24:29 +03:00
Victor Zarubkin
dba149c1e6
refactoring: proper types
2016-06-25 17:17:44 +03:00
Sergey Yagovtsev
b26673b8ba
Build if profiler disabled
2016-06-20 22:43:45 +03:00
Victor Zarubkin
bc496f7ecf
Typedef for children array type
2016-06-19 23:57:58 +03:00
Sergey Yagovtsev
f0a0b51a85
Add reader in profiler lib
2016-06-19 23:46:42 +03:00
Victor Zarubkin
a506a717cd
Moved declaration of BlocksTree to profiler/reader.h
2016-06-19 23:01:49 +03:00
Sergey Yagovtsev
7713f91500
Create tree structure
2016-06-17 16:31:09 +03:00
Sergey Yagovtsev
dfa583f410
Simple tree view
2016-05-01 23:32:46 +03:00
Sergey Yagovtsev
691c2953a4
Change color type. Now color is 8bit instead of 16bit. Add helper function for converting to RGB
2016-03-04 11:59:36 +03:00
Sergey Yagovtsev
2266de8346
Add more colors
2016-03-03 16:22:48 +03:00
Sergey Yagovtsev
309da55899
Move colors enumenator to main header
2016-03-03 15:48:00 +03:00
Sergey Yagovtsev
9fa0b890d8
Add colors header
2016-03-03 15:35:23 +03:00
Sergey Yagovtsev
b422da141d
1) Add documentation
...
2) Fix win warnings
2016-03-03 14:55:38 +03:00
Sergey Yagovtsev
0d986a6464
Move serialized block in header
2016-02-24 06:31:05 +03:00
Sergey Yagovtsev
9cf3ca02b7
1) Removed Mark entity. Only Block with type
...
2) Added simple implementation of serializing blocks and storing it.
2016-02-20 05:24:12 +03:00
Sergey Yagovtsev
2bba307998
Added empty profiler macros. Enabled if defined FULL_DISABLE_PROFILER definition
2016-02-18 23:50:06 +03:00
Sergey Yagovtsev
dbe5af1125
Added logic of push/pop blocks
2016-02-18 19:27:17 +03:00
Sergey Yagovtsev
d643242885
Added function beginBlock
2016-02-18 00:45:13 +03:00
Sergey Yagovtsev
a5730169cc
Fixed some warnings
2016-02-17 23:43:37 +03:00
Sergey Yagovtsev
434622e282
Linux build
2016-02-17 23:24:35 +03:00
Sergey Yagovtsev
b5848ea7a6
Added new line in files
2016-02-16 23:25:12 +03:00
Sergey Yagovtsev
c60ac3ea85
Initial commit
2016-02-16 23:21:12 +03:00