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

72 Commits

Author SHA1 Message Date
Sergey Yagovtsev
ccd0626bf8 backward compatibility with old size of thread_id_t. For #41 2017-06-05 12:57:12 +03:00
Rokas Kupstys
08ae417931 Few more MacOS fixes.
Thread id changed to size_t, required for MacOS because older versions do not have integral thread ids and we must use a pointer returned by pthread_self()/
2017-05-23 19:49:21 +03:00
Josh Engebretson
a01187cf55 Networking fixes for MacOS
Qualify type for std::abs
2017-05-23 19:47:29 +03:00
Sergey Yagovtsev
f988cd4809 v1.2.0 2017-05-08 12:32:56 +03:00
Sergey Yagovtsev
ecbe7780e6 (Core) close #39 Add following cmake options to easy_profiler_core CMakeLists:
BUILD_WITH_CHRONO_STEADY_CLOCK - use std::chrono::steady_clock as a timer. By default is OFF
BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK - use std::chrono::high_resolution_clock as a timer. By default is OFF

If both is set to ON - use std::chrono::high_resolution_clock.
If both is set to OFF - use QueryPerformanceCounter/rtdsc timer.

Note: Do not forget clean CMakeCache file if you've changed an option.
2017-05-06 11:54:24 +03:00
Victor Zarubkin
714e4e0bab (Core) #39 Added macros for possibility to choose std::chrono timer type: EASY_CHRONO_HIGHRES_CLOCK for high_resolution_clock and EASY_CHRONO_STEADY_CLOCK for steady_clock - Use it in CMakeLists.txt 2017-05-04 21:40:48 +03:00
Victor Zarubkin
50b3cc8b7a (Core) Fixed old typo in ProfileManager::setBlockStatus() 2017-05-03 21:18:14 +03:00
Victor Zarubkin
e1bc731570 #37 enclosed MinGW specific 2017-05-01 04:03:26 +03:00
Victor Zarubkin
593395a4aa (Core) #37 No manual ~string() call 2017-04-30 00:17:15 +03:00
Victor Zarubkin
d1e68e0cec (Core) Calculating total children duration per thread/frame/parent 2017-04-20 22:29:02 +03:00
Victor Zarubkin
dff1d8b2a4 (Core) Update #29 : fixed potential memory leak for NonscopedBlock + linux build 2017-04-17 23:31:07 +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
Sergey Yagovtsev
d02e568dae v1.1.0 2017-04-10 23:39:00 +03:00
Victor Zarubkin
f17aa956cd (Core) Add main thread check 2017-04-09 10:23:59 +03:00
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
7f085ef8ac Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2017-03-30 06:49:06 +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
297174942f Relicense under dual MIT/Apache 2.0 2017-03-30 06:18:29 +03:00
Sergey Yagovtsev
15912970db replace double quotes to angle brackets - fixed #28 2017-03-05 23:50:38 +03:00
Sergey Yagovtsev
55000a6325 fixed #27 2017-03-05 22:59:03 +03:00
Sergey Yagovtsev
072fb91467 fixes 26 2017-03-04 13:39:42 +03:00
Victor Zarubkin
95ad72c9a7 A couple of fixes for pull-request 2017-03-03 00:29:45 +03:00
Victor Zarubkin
a9dea6faa6 Merge branch 'rokups-feature/getters' into develop 2017-03-03 00:19:12 +03:00
Sergey Yagovtsev
a0e1ce459f Android build 2017-03-02 16:13:59 +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
Sergey Yagovtsev
d89e5ff590 Add select function for checking connection 2017-03-01 20:56:43 +03:00
Rokas Kupstys
88c14e25f6 Fix multiple defined symbols of DEFAULT_ADDRESS on gcc+linux. 2017-03-01 11:12:35 +02:00
Sergey Yagovtsev
b5c1e69f8b v1.0.3 2017-02-28 06:38:30 +03:00
Sergey Yagovtsev
ba0f73bcf6 Install cmake into lib subdir.
Set public target compile definition to BUILD_WITH_EASY_PROFILER.
Install to system directory
2017-02-28 06:32:31 +03:00
Victor Zarubkin
9d88b3d831 prepare for v1.0.3 2017-02-25 14:33:45 +03:00
Victor Zarubkin
0e6f12e6a2 Icons refactoring and change company name 2017-02-14 22:22:16 +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
d54ef45c3a MinGW adaptation first try 2017-02-13 20:19:41 +03: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
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
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
d338c022fb v1.0.2 2017-02-07 06:22:34 +03:00
Sergey Yagovtsev
7ef004e400 CMake package layout for core 2017-02-07 06:01:26 +03:00
Victor Zarubkin
8057154fe5 (EasyProfiler.ETW) Fixed typo in system process name 2016-12-27 20:54:10 +03:00