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

58 Commits

Author SHA1 Message Date
Sergey Yagovtsev
99d6a21a4a minor changes in sample 2017-05-08 12:32:07 +03:00
Sergey Yagovtsev
0d8396b43a travis 2017-05-05 20:38:58 +03:00
Sergey Yagovtsev
98bcb8ce24 Add test for calculating cost of block 2017-05-05 20:30:01 +03:00
Sergey Yagovtsev
9184efb589 Add linux-specific test for calculating cost of gettime functions. Build with:
$ c++ -std=c++11 -O3 main_clock.cpp -o test_clock
2017-05-05 19:50:42 +03:00
Sergey Yagovtsev
3f0ceec589 fixed #34 it was frozen cause manual block was added without finish 2017-04-25 16:36:21 +03:00
Victor Zarubkin
c2b3a8f5dc (Core) Update #29 - added non-scoped block functionality for beginning and ending block manually from different functions.
(Core) Added new API functions for getting current time (ticks) and converting it to nano- and microseconds.
2017-04-17 22:27:10 +03:00
Victor Zarubkin
beba74d559 (GUI) Added real-time FPS Monitor which shows current max/avg frame time in GUI even if profiler is disabled. You just need to connect to the profiled app. You can close (hide) FPS Monitor and it would not send network requests to the profiled application anymore. You can increase/decrease FPS Monitor requests interval in "Settings -> FPS Monitor -> Request interval, ms". Right click on FPS Monitor window to show context menu in which you can clear contents or hide FPS Monitor. 2017-04-03 23:16:36 +03:00
Victor Zarubkin
edcf23e268 Amend last commit 2017-04-02 14:25:46 +03:00
Victor Zarubkin
a2b62613a2 (Core) Frame counter: significantly simplified interface - there is no need to start frame counter explicitly. Top block is frame. 2017-04-02 14:23:11 +03:00
Victor Zarubkin
10b04a4748 (Core) First step for getting frame time at run-time.
Now you can use EASY_FRAME_COUNTER (which is only frame-counter) or EASY_FRAME (which is EASY_FRAME_COUNTER + EASY_BLOCK) or EASY_FRAME_FUNCTION (which is EASY_FRAME_COUNTER + EASY_FUNCTION) to measure frame time even if profiler is disabled.
To get frame time you can use profiler::main_thread::frameTimeLocalMax to get maximum frame duration since last call or profiler::main_thread::frameTime to get last frame time.
--- NOTE: You have to put EASY_MAIN_THREAD to your main thread to be able to use profiler::main_thread functions.
If you do not want to then you can use same functions from profiler::this_thread, but you will have to call them from your main thread.
2017-03-31 21:17:08 +03:00
Victor Zarubkin
08372ac136 Update license 2017-03-30 06:55:15 +03:00
Sergey Yagovtsev
15912970db replace double quotes to angle brackets - fixed #28 2017-03-05 23:50:38 +03:00
Victor Zarubkin
6d3a4a0aed MinGW build fixes: Thanks to https://github.com/Nitrotoluol for help! 2017-02-14 21:22:26 +03:00
Victor Zarubkin
c0a23866ed Cross-compiler way of C++11 standard requirement (NOTICE: Need to test on Unix systems) 2017-02-08 21:47:20 +03:00
Sergey Yagovtsev
d564b6ef4e Saving files before refreshing line endings 2017-02-08 00:14:49 +03:00
Sergey Yagovtsev
68a05942fa Unix section for sample 2017-02-07 23:42:43 +03:00
Holger Rapp
7641951247 Fixes for clang 3.8.
- Disables warnings for no-braced-scalar-init which shows up for ATOMIC_VAR_INIT.
- Fixes compile warnings, mostly "moving a temporary objects prevents
  copy elision" (-Wpessimizing-move) and unused variables.
- Adds some necessary fields to make the sample compile after having
  build the core library.
2017-02-07 17:19:58 +01:00
Sergey Yagovtsev
80ebd76116 Interface changing:
1 - Rename startListeningToCature to startListen
2 - Specify listen port by startListen function parameter
2016-12-01 23:25:54 +03:00
Sergey Yagovtsev
f8ab7f0d91 Merge remote-tracking branch 'origin/develop' into rename_to_easy 2016-10-21 22:15:32 +03:00
Sergey Yagovtsev
76defe2372 Rename directory profiler to easy 2016-09-29 23:29:57 +03:00
Sergey Yagovtsev
477e643040 Disable EasyProfiler by default. For building with profiler define macro BUILD_WITH_EASY_PROFILER 2016-09-29 23:08:20 +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
8fd70c5420 Many new features:
* Reading blocks from stream without temporary file;
* Reading blocks description from stream;
* Control blocks statuses over network: connect to the application, refresh blocks list, change block's status, launch profiling.
2016-09-25 11:49:49 +03:00
Victor Zarubkin
e49b6179ef New flexible block statuses instead of ENABLED, DISABLED: OFF, ON, FORCE_ON, OFF_RECURSIVE, ON_WITHOUT_CHILDREN, FORCE_ON_WITHOUT_CHILDREN 2016-09-20 22:57:34 +03:00
Sergey Yagovtsev
61589c1154 Merge commit 2016-09-15 22:49:56 +03:00
Sergey Yagovtsev
80892e636e Receive by EasySocket 2016-09-14 22:04:15 +03:00
Victor Zarubkin
bf02f32482 small refactoring 2016-09-13 23:03:16 +03:00
Sergey Yagovtsev
6d6ad61a18 Add connect button 2016-09-13 21:42:38 +03:00
Victor Zarubkin
d5d75d6340 (profiler_core) Further work with real-time enable/disable of blocks;
(profiler_core) Optimized storeBlock() algorithm, removed unnecessary std::vector;
(profiler_core) Writing to std::stringstream and then to file (prepare for streaming over WAN/LAN);
(profiler_core) Moved hached_cstr into separate header.
2016-09-11 16:57:35 +03:00
Sergey Yagovtsev
a422f69deb More stability in networking 2016-09-08 23:15:01 +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
Sergey Yagovtsev
20d3fb47a6 First steps in network. Work on linux 2016-09-08 21:03:40 +03:00
Victor Zarubkin
40a8ee3d16 Material design colors 2016-09-07 22:37:05 +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
68ee40a5ad Replace tab to whitespaces 2016-09-06 22:23:55 +03:00
Victor Zarubkin
f5ed51e13a Event tracing fixes! Now working :) 2016-09-04 19:35:58 +03:00
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
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
bcfa8d362d (profiler sample) Default value changed for OBJECTS 2016-08-14 16:05:40 +03:00
Sergey Yagovtsev
6df717781a Sample with more real blocks 2016-08-10 22:38:55 +03:00
Victor Zarubkin
b39057049e (profiler) Proper color names and 6 new colors 2016-08-07 19:31:09 +03:00
Sergey Yagovtsev
6445be6e41 Add test for performance 2016-08-01 22:25:26 +03:00
Victor Zarubkin
146b0ccdfc Sample dump to file 2016-08-01 22:15:40 +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
c5b7399eab removed condition variable waiting because all threads were aligned into one chain, waiting each other.
* modified sample functions: added heavy memory allocation operations.
2016-06-26 12:47:39 +03:00
Victor Zarubkin
9d9cbc4413 long loops instead of sleep for test.prof 2016-06-26 02:16:50 +03:00
Sergey Yagovtsev
0e26850408 New target with disabled profiler 2016-06-22 23:59:49 +03:00
Sergey Yagovtsev
4d1d66a405 More info in reader 2016-06-20 23:33:14 +03:00
Sergey Yagovtsev
f1cff4e4a1 Remove sleep in sample 2016-06-20 22:17:12 +03:00
Sergey Yagovtsev
f0a0b51a85 Add reader in profiler lib 2016-06-19 23:46:42 +03:00