0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-28 01:04:41 +08:00

60 Commits

Author SHA1 Message Date
Victor Zarubkin
71f95f2c87 (profiler_core) Simplifying API: there are ~1.5 times lower macros number for using profiler. 2016-08-28 23:40:23 +03:00
Victor Zarubkin
4ff13053ec Remastering profiler API. Fixed read/write 2016-08-28 21:06:23 +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
Victor Zarubkin
439e1cfb44 Remastering profiler API (not compiling yet) 2016-08-28 02:41:02 +03:00
Victor Zarubkin
3e1b8ce46f (profiler core) The right way of avoiding static analyzer warnings ^_^ No need to insert unnecessary checks 2016-08-21 14:46:16 +03:00
Sergey Yagovtsev
9f6ca63440 (profiler core) fix clang static analyzer warnings 2016-08-19 00:35:45 +03:00
Victor Zarubkin
be54030b1a Merge branch 'serialized_optimize' of https://github.com/yse/easy_profiler into serialized_optimize 2016-08-18 23:26:54 +03:00
Victor Zarubkin
8f30948105 (profiler_gui) Reading file (MainWindow) and building blocks hierarchy (TreeWidget) in separate threads + displaying read progress;
(profiler_gui) Moving sources into separate files;
(profiler_gui) Rename Prof* classes into Easy*;
(EasyGraphicsView) Optimized performance by not painting items which were not expanded in TreeWidget. While there are no range selected for TreeWidget, only top-level blocks are painted on scene.
2016-08-18 23:26:41 +03:00
Victor Zarubkin
8c53d65362 (profiler core) Remove clang warning. Remove useless 2 bytes in memory per block 2016-08-14 23:13:18 +03:00
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