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

267 Commits

Author SHA1 Message Date
Victor Zarubkin
0166038e74 (profiler_gui) Enable/Disable statistics 2016-09-14 23:13:38 +03:00
Victor Zarubkin
89c2dc82c7 (profiler_gui) More icons 2016-09-14 23:12:41 +03:00
Victor Zarubkin
86314b89ba (profiler_core) Windows event tracing: if we can't get process name at the moment, write process id at least 2016-09-14 21:53:06 +03:00
Victor Zarubkin
acad6b6b37 (profiler_gui) Added icons and main logo 2016-09-14 21:52:11 +03:00
Victor Zarubkin
fdee7226f8 (profiler_gui) More information in popup; Right way to remove QGraphicsProxyWidget from scene (it does not delete widget by itself) 2016-09-13 23:44:20 +03:00
Victor Zarubkin
313f981cc9 Fix CMakeLists.txt 2016-09-13 23:13:11 +03:00
Victor Zarubkin
bf02f32482 small refactoring 2016-09-13 23:03:16 +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
Victor Zarubkin
f490641165 forgotten row 2016-09-13 22:53:07 +03:00
Victor Zarubkin
ef310af71d Colors tweaking 2016-09-13 22:51:06 +03:00
Sergey Yagovtsev
542783573d Linux build 2016-09-11 19:34:01 +03:00
Sergey Yagovtsev
18055c7616 test script change 2016-09-11 16:59:01 +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
c67bf1dda7 (EasyGraphicsView) Fixed wrong font width calculation issue; Fixed wrong resizeEvent behavior; 2016-09-11 16:53: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
Victor Zarubkin
5b620071b6 (profiler_gui) Adjust colors; Added keyboard handlers; Displaying additional info 2016-09-09 00:07:27 +03:00
Victor Zarubkin
248348ee05 (EasyGraphicsView) Added widget displaying thread names on scene. Double click on thread name makes it current selected thread.
(EasyGraphicsView) Selected item's text is now painted bold + removed selected item color, but made selected item's border more wide.
(profiler_gui) Colors adjustment.
2016-09-08 22:42:35 +03:00
Victor Zarubkin
40a8ee3d16 Material design colors 2016-09-07 22:37:05 +03:00
Sergey Yagovtsev
896662e67d Update README.md 2016-09-07 23:32:44 +04:00
Sergey Yagovtsev
1edb71a6eb Minor style fix 2016-09-07 22:25:32 +03:00
Sergey Yagovtsev
3ca2f9bc6e Update README 2016-09-07 22:12:25 +03:00
Sergey Yagovtsev
2cff79886d Merge branch 'event_tracing' into develop 2016-09-07 22:03:13 +03:00
Victor Zarubkin
68bbd0eef3 Merge branch 'event_tracing' of https://github.com/yse/easy_profiler into event_tracing 2016-09-07 21:52:40 +03:00
Sergey Yagovtsev
39e68b4adc ci clang compiler fix attempt number three =| 2016-09-07 21:50:42 +03:00
Victor Zarubkin
6e845eece2 Using Google Material Design colors;
* At last, fixed bug with text paint on very large scene scale. Now you can scale the scene up to 10 ns scale!
2016-09-07 21:48:50 +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
e1d95e0d3b clang some warning fix 2016-09-07 21:37:13 +03:00
Sergey Yagovtsev
19d757f231 gcc warning fix 2016-09-07 21:33:10 +03:00
Sergey Yagovtsev
cd39507389 Replace tab to whitespaces 2016-09-07 21:32:14 +03:00
Sergey Yagovtsev
d39fecaac1 Clang build 2016-09-07 21:29:37 +03:00
Victor Zarubkin
449610028a (profiler_core) Linux build: avoid gcc warning about unused variable 2016-09-06 23:16:15 +03:00
Victor Zarubkin
3699a07e41 Merge branch 'event_tracing' of https://github.com/yse/easy_profiler into event_tracing
# Conflicts:
#	src/profile_manager.cpp
2016-09-06 23:07:56 +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
Sergey Yagovtsev
68ee40a5ad Replace tab to whitespaces 2016-09-06 22:23:55 +03:00
Sergey Yagovtsev
ede383be3c Add licence text to some file 2016-09-06 22:15:50 +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
Victor Zarubkin
591f613ff6 License text + small clean-up 2016-09-06 21:49:32 +03:00
Victor Zarubkin
f25ba79636 (profiler_core) Event tracing clean-up 2016-09-06 00:24:21 +03:00
Victor Zarubkin
d8d9a2fd32 (EasyGraphicsView) Painting context switches with outlined rectangles 2016-09-06 00:23:46 +03:00
Victor Zarubkin
33946770bb (profiler_core) Windows build fix 2016-09-06 00:22:26 +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
342a95108c Merge branch 'new_api' of https://github.com/yse/easy_profiler into new_api 2016-09-01 22:24:59 +03:00
Victor Zarubkin
7086592e6b (profiler_gui) Typo fixed! 2016-09-01 22:24:42 +03:00
Victor Zarubkin
b90e13509e small refactoring 2016-09-01 22:24:13 +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