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
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
7366defa63
Silly mistake
2016-08-06 14:48:01 +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
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
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
7bf8d871c1
Proper LONGLONG value
2016-08-01 22:16:31 +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
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
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
Sergey Yagovtsev
980edd631a
Optimized reader
2016-07-04 21:44:07 +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
Sergey Yagovtsev
415ef43bbb
Gather statistic for root nodes
2016-06-26 21:04:24 +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
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
Sergey Yagovtsev
281ba558ea
Warning fix
2016-06-22 23:58:07 +03:00
Sergey Yagovtsev
fb3837316c
Thread local for get current thread id
2016-06-22 23:57:11 +03:00
Sergey Yagovtsev
6999122455
Linux build
2016-06-21 00:13:45 +03:00
Sergey Yagovtsev
be11666ea3
Add inline function getCurrentThreadId
2016-06-20 23:21:54 +03:00
Sergey Yagovtsev
e61404c92c
Add function getThreadId
2016-06-20 23:10:14 +03:00
Sergey Yagovtsev
f0a0b51a85
Add reader in profiler lib
2016-06-19 23:46:42 +03:00
Sergey Yagovtsev
7713f91500
Create tree structure
2016-06-17 16:31:09 +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
4d1c6a0228
Set end of mark in constructor and test output to file on profile manager destructor
2016-02-20 18:17:00 +03:00
Sergey Yagovtsev
0d986a6464
Move serialized block in header
2016-02-24 06:31:05 +03:00
Sergey Yagovtsev
5dfb456176
Linux runtime fix
2016-02-24 00:08:13 +03:00
Sergey Yagovtsev
98f3da5122
Linux build
2016-02-20 19:21:14 +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
Smirnov Kirill
561f79e8e6
Some changes to Singleton implementation
2016-02-17 18:18:06 +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