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

30 Commits

Author SHA1 Message Date
Sergey Yagovtsev
bf74e673fc Move getCurrentTime function in separate header 2016-09-26 23:23:38 +03:00
Victor Zarubkin
30de452113 Trying to fix problem with c++11 magic statics (there is no support for visual studio 2013 and earlier, gcc < 4.3 and clang < 2.9);
Wrapped "final" keyword for different compilers support;
Block descriptors now stored in unordered_map to make it easy to control theirs visibility level and to make it safe to unload dll/so during application execution.
2016-09-22 23:06:43 +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
Victor Zarubkin
f490641165 forgotten row 2016-09-13 22:53:07 +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
Victor Zarubkin
9294ddb61b (profiler_core) Prepare for blocks enable/disable;
(profiler_core) Changed order of read/write of context switches as a preparation work to statistics gathering taking into account context switches duration.
2016-09-09 00:09:47 +03:00
Sergey Yagovtsev
cd39507389 Replace tab to whitespaces 2016-09-07 21:32:14 +03:00
Sergey Yagovtsev
ede383be3c Add licence text to some file 2016-09-06 22:15:50 +03:00
Victor Zarubkin
05b56dcec0 First debuggable version of system event tracing for visualizing thread context switches 2016-09-04 14:48:35 +03:00
Victor Zarubkin
937f7d8fec (profiler_core) Correcting: checking built-in "_WIN32" instead of compiler dependant "WIN32" 2016-09-01 22:22: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
439e1cfb44 Remastering profiler API (not compiling yet) 2016-08-28 02:41:02 +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
3fd0b77d16 (profiler core) Prepare for source file and line writing 2016-08-11 23:52:33 +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
Sergey Yagovtsev
be11666ea3 Add inline function getCurrentThreadId 2016-06-20 23:21:54 +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
9cf3ca02b7 1) Removed Mark entity. Only Block with type
2) Added simple implementation of serializing blocks and storing it.
2016-02-20 05:24:12 +03:00
Sergey Yagovtsev
dbe5af1125 Added logic of push/pop blocks 2016-02-18 19:27:17 +03:00
Sergey Yagovtsev
a5730169cc Fixed some warnings 2016-02-17 23:43:37 +03:00
Sergey Yagovtsev
434622e282 Linux build 2016-02-17 23:24:35 +03:00
Sergey Yagovtsev
b5848ea7a6 Added new line in files 2016-02-16 23:25:12 +03:00
Sergey Yagovtsev
c60ac3ea85 Initial commit 2016-02-16 23:21:12 +03:00