0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-29 10:05:48 +08:00

71 Commits

Author SHA1 Message Date
Victor Zarubkin
5977dbda11 (Core) ETW logging: replaced std::cerr with macro EASY_ETW_LOG to make possible to change output destination 2016-12-21 21:49:29 +03:00
Victor Zarubkin
0a57ff381c (GUI) Please, read NOTICE for that commit.
1) Added active time calculation (this is duration excluding context switch time).
2) Columns "Duration", "Self Dur.", "Self %", "% / Frame", "Active time", "Active %" in Plain mode shows total values per frame (sum of all values per frame).
2016-12-18 17:59:41 +03:00
Victor Zarubkin
e5dccfb8be (GUI) Added hierarchy window mode: full hierarchy, plain mode (only functions list) 2016-12-18 15:56:08 +03:00
Victor Zarubkin
bfb81a7db0 CMake: removed tabs from options print 2016-12-17 16:29:03 +03:00
Victor Zarubkin
d85f9864d6 (GUI) Added statistics gathering for context switches (calls number, total duration, % per thread or frame).
Known issue: if context switch events occur out of profiled blocks then percent/thread may be calculated wrong as it is calculating relative to thread profiled time (which may be a very low value).
2016-12-14 23:17:02 +03:00
Victor Zarubkin
8cfeb1b7f2 (Windows ETW) Added process names for pid=4 (System) and threadID=0 (System Idle) 2016-12-14 23:12:16 +03:00
Victor Zarubkin
7883371166 (GUI) Added calculation of thread wait time (sum of all context switches) 2016-12-14 22:16:14 +03:00
Victor Zarubkin
0304a55c15 (Core) Added macro USING_EASY_PROFILER which is defined when EasyProfiler is actually used. 2016-12-14 21:40:46 +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
58b1fdb8a3 Define alignment size 2016-12-12 03:13:07 +03:00
Sergey Yagovtsev
4cb7d90e49 Prevent crash on exited thread 2016-12-12 03:12:50 +03:00
Sergey Yagovtsev
98b3ac3a8f Merge pull-request 2016-12-12 02:24:36 +03:00
Victor Zarubkin
5e4193cb13 (ETW) setDebugPrivelege() rename 2016-12-11 03:31:22 +03:00
Sergey Grivskiy
63e036f11a custom core library name (for cross-platform build, like easy_profiler_eabihf), ex: "cmake -DLIB_NAME=easy_profiler_x64 ../easy_profiler_core" 2016-12-09 15:01:47 +03:00
Sergey Grivskiy
4db9c82729 fix: wrong results for ARM: empty getCurrentTime() for ARM and other architectures 2016-12-09 15:01:47 +03:00
Victor Zarubkin
88dc699099 No need to check for nullptr while deleting 2016-12-08 22:19:45 +03:00
Victor Zarubkin
041ed6beab (easy_profiler_core) reader: fixed uint64_t overflow while converting ticks to nanoseconds. TODO: maybe use 128-bit integers in future. 2016-12-04 18:42:32 +03:00
Sergey Yagovtsev
052bd47452 Set CXX standard by cmake 2016-12-04 16:50:58 +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