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

24 Commits

Author SHA1 Message Date
Victor Zarubkin
f00d731da4 (Core) Fixed main thread name compare 2017-04-09 09:12:27 +03:00
Victor Zarubkin
a9d13deb18 (Core) Fixed serious error caused by invoking endBlock() while dumping blocks to stream/file 2017-04-06 23:10:14 +03:00
Victor Zarubkin
654bfdf9da (Core) Fix incorrect storing 2017-04-06 22:59:33 +03:00
Victor Zarubkin
c8e97dac26 (Core) Fixed average frame duration calculation; Fixed addBlockDescription crash when dll/so has been unloaded and loaded again. 2017-04-05 22:36:06 +03:00
Victor Zarubkin
8b7a68266c (Core) Added new API functions for requesting local-average frame duration (like local-max) 2017-04-03 23:08:52 +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
Victor Zarubkin
8ae5139b87 (Core): Trying to reduce data copying while sending profiled information 2017-03-30 06:47:00 +03:00
Sergey Yagovtsev
15912970db replace double quotes to angle brackets - fixed #28 2017-03-05 23:50:38 +03:00
Victor Zarubkin
95ad72c9a7 A couple of fixes for pull-request 2017-03-03 00:29:45 +03:00
Rokas Kupstys
8f7ffa9102 Fix atomic memory model in setEventTracingEnabled() 2017-03-02 10:28:43 +02:00
Rokas Kupstys
e7f5cc0748 New API:
* bool isEnabled()
* bool isListening()
* bool isEventTracingEnabled()
* bool isLowPriorityEventTracing()
2017-03-02 10:26:13 +02:00
Victor Zarubkin
11fbfe65d4 Added more log messages (logging could be enabled via set(EASY_OPTION_LOG ON) in easy_profiler_core/CMakeLists.txt) 2017-02-08 23:20:09 +03:00
Victor Zarubkin
227a23c266 Added possibility to disable predefined colors palette to reduce binary size when user want to use own colors palette 2017-02-08 22:35:46 +03:00
Victor Zarubkin
105d8334e1 Removed redundant copying of data from std::stringstream to std::ofstream in dumpBlocksToFile() 2017-02-08 22:06:38 +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
Victor Zarubkin
e9bed4c839 (Core) Major update (file format NOT affected). Description:
1) Added macro EASY_CONST_NAME(name) to make possible to force EasyProfiler think that given block name is const and not changed during application execution (this rely to compile-time strings saved into a run-time variable);
2) Starting from now, EasyProfiler will not store partially finished frames - first, this means that profiler enabled during frame execution will skip all blocks from this frame, and second, this means that when dumping profiled information profiler will wait until all frames finish before dumping blocks.
2016-12-21 21:59:40 +03:00
Victor Zarubkin
7b63ae39d2 CMake + core: added options to CMakeLists.txt. TODO: maybe set them via CMake "option(...)" command 2016-12-13 21:53:29 +03:00
Victor Zarubkin
29f81d1244 (Core) Monitoring threads, removing threads without blocks, events and context switches;
* (Core) Context switch events also register threads for current process;
* (Core) Writing process id into output file (old files still could be opened);
2016-12-12 22:26:32 +03:00
Sergey Yagovtsev
4cb7d90e49 Prevent crash on exited thread 2016-12-12 03:12:50 +03:00
Victor Zarubkin
88dc699099 No need to check for nullptr while deleting 2016-12-08 22:19:45 +03:00
Sergey Yagovtsev
cbbf570fae Define EASY_PRODUCT_VERSION by concatenating major, minor and patch strings 2016-12-04 16:40:00 +03:00
Sergey Yagovtsev
256f5f6041 Rename src and move include directory 2016-12-02 00:35:25 +03:00