Sergey Yagovtsev
85e7145bf1
Merge commit
2016-09-18 19:02:12 +03:00
Victor Zarubkin
34bb8d8119
(profiler_core) Fixed potential problem with unloading dll/so during application work
2016-09-17 11:10:25 +03:00
Sergey Yagovtsev
f4676ced6f
sleep for 1 second
2016-09-16 01:37:50 +03:00
Sergey Yagovtsev
4b71a64363
Merge commit
2016-09-16 00:53:27 +03:00
Victor Zarubkin
4a40872183
(profiler_core) Added possibility to control event tracing priority level and to enable/disable event tracing at all.
2016-09-15 23:15:07 +03:00
Sergey Yagovtsev
61589c1154
Merge commit
2016-09-15 22:49:56 +03:00
Victor Zarubkin
f0ee9215bd
Warnings fix
2016-09-14 23:34:56 +03:00
Victor Zarubkin
795d347d2a
Linux build
2016-09-14 23:23:09 +03:00
Victor Zarubkin
1b33ad788d
(profiler_core) Further work with run-time enable/disable blocks;
...
(profiler_core) Fixed bug with memory corruption in chunk_allocator;
(profiler_core) Event tracing now gathering info about process which owns thread;
(profiler_core) Thread names are stored before other blocks now;
(profiler_core) Removed unused block types: context switch and thread sign;
(profiler_core) Added some description for API;
(profiler_gui) Context switch events now painted in different colors: red = switch to another process, coral = switch to registered thread in the same process, black = switch to kernel mode (thread id == 0).
(profiler_gui) Added popup windows with information about context-switch or block under mouse cursor;
2016-09-13 23:03:01 +03:00
Sergey Yagovtsev
0a98d032d0
Windows almost work
2016-09-11 18:23:47 +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
Sergey Yagovtsev
03765b08bc
Not compiling version of windows sock
2016-09-09 06:14:34 +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
a422f69deb
More stability in networking
2016-09-08 23:15:01 +03:00
Sergey Yagovtsev
20d3fb47a6
First steps in network. Work on linux
2016-09-08 21:03:40 +03:00
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