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

34 Commits

Author SHA1 Message Date
Sergey Yagovtsev
39e68b4adc ci clang compiler fix attempt number three =| 2016-09-07 21:50:42 +03:00
Sergey Yagovtsev
9eb02316ba ci clang compiler fix attempt number two =) 2016-09-07 21:45:25 +03:00
Sergey Yagovtsev
26fe3ca7e0 ci clang compiler fix attempt 2016-09-07 21:40:40 +03:00
Sergey Yagovtsev
cd39507389 Replace tab to whitespaces 2016-09-07 21:32:14 +03:00
Victor Zarubkin
10bb3da45b (profiler_core) !! Non-blocking API using Thread-Local-Storage (threal_local or __declspec(thread) or __thread) 2016-09-06 23:03:05 +03:00
Victor Zarubkin
31705d5daf (profiler_core) Better way of declaring generic stack 2016-09-06 22:00:53 +03:00
Victor Zarubkin
e4db8cabe4 (profiler_core) Measure core functions work time 2016-09-06 21:52:56 +03:00
Sergey Yagovtsev
9521f8ac02 Store context switch timestamp on linux.
It's need to run systemtap util for loading kernel module. This kernel module capture context switch timestamp and systemtap store it in the temp file.
Before running profiling application you should run systemtap script with root privileges as following:
\# stap -o /tmp/cs_profiling_info.log scripts/context_switch_logger.stp name APPLICATION_NAME
where APPLICATION_NAME is profiling application
2016-09-05 22:11:03 +03:00
Sergey Yagovtsev
6d1b9915d2 Get thread id on linux by syscall instead of std::this_thread 2016-09-05 22:02:32 +03:00
Victor Zarubkin
f5ed51e13a Event tracing fixes! Now working :) 2016-09-04 19:35:58 +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
4ff13053ec Remastering profiler API. Fixed read/write 2016-08-28 21:06:23 +03:00
Victor Zarubkin
439e1cfb44 Remastering profiler API (not compiling yet) 2016-08-28 02:41:02 +03:00
Victor Zarubkin
3e1b8ce46f (profiler core) The right way of avoiding static analyzer warnings ^_^ No need to insert unnecessary checks 2016-08-21 14:46:16 +03:00
Sergey Yagovtsev
9f6ca63440 (profiler core) fix clang static analyzer warnings 2016-08-19 00:35:45 +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
Sergey Yagovtsev
98a3dd7114 Fix typo in SerializedBlock class name 2016-08-07 21:40:23 +03:00
Sergey Yagovtsev
dd2deaf36f Add macro for specifying thread name 2016-07-31 22:12:11 +03:00
Sergey Yagovtsev
82e9920e15 Add dumpBLocksToFile function 2016-07-04 22:53:02 +03:00
Sergey Yagovtsev
fb3837316c Thread local for get current thread id 2016-06-22 23:57:11 +03:00
Sergey Yagovtsev
6999122455 Linux build 2016-06-21 00:13:45 +03:00
Sergey Yagovtsev
be11666ea3 Add inline function getCurrentThreadId 2016-06-20 23:21:54 +03:00
Sergey Yagovtsev
e61404c92c Add function getThreadId 2016-06-20 23:10:14 +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
Smirnov Kirill
561f79e8e6 Some changes to Singleton implementation 2016-02-17 18:18:06 +03:00
Sergey Yagovtsev
d643242885 Added function beginBlock 2016-02-18 00:45:13 +03:00
Sergey Yagovtsev
a5730169cc Fixed some warnings 2016-02-17 23:43:37 +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