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

116 Commits

Author SHA1 Message Date
Victor Zarubkin
493000cef4 v1.0.0 2016-11-13 16:48:50 +03:00
Sergey Yagovtsev
e5041a9b2b Multi-licensing in source codes 2016-11-13 16:39:59 +03:00
Sergey Yagovtsev
d692234f99 Add apache license text 2016-11-13 16:31:27 +03:00
Sergey Yagovtsev
f8ab7f0d91 Merge remote-tracking branch 'origin/develop' into rename_to_easy 2016-10-21 22:15:32 +03:00
Victor Zarubkin
dc01c49020 Saving network data using temporary cache file + Question box when clicked on "Clear all" 2016-10-02 12:13:12 +03:00
Sergey Yagovtsev
76defe2372 Rename directory profiler to easy 2016-09-29 23:29:57 +03:00
Victor Zarubkin
817083d3ff Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-09-29 23:20:48 +03:00
Sergey Yagovtsev
477e643040 Disable EasyProfiler by default. For building with profiler define macro BUILD_WITH_EASY_PROFILER 2016-09-29 23:08:20 +03:00
Sergey Yagovtsev
c4e553c4bb Same interface for win and linux 2016-09-29 22:54:54 +03:00
Victor Zarubkin
3b7266fb37 Prepare for saving profiled data (does not work yet);
* Remastered tool-bars and menus;
* Added new painting regime (Settings->View->Hide narrow children)
2016-09-29 22:40:19 +03:00
Victor Zarubkin
eca7061fd0 Added menu Settings->Remote to control profiler event tracing and other future options 2016-09-28 00:37:20 +03:00
Sergey Yagovtsev
fd9a172b9b Connect by non-blocking socket 2016-09-27 23:00:49 +03:00
Victor Zarubkin
4a05cafab4 Writing signature and version into file to let reader check if file is valid;
* Added output messages
2016-09-27 22:28:04 +03:00
Victor Zarubkin
8fd70c5420 Many new features:
* Reading blocks from stream without temporary file;
* Reading blocks description from stream;
* Control blocks statuses over network: connect to the application, refresh blocks list, change block's status, launch profiling.
2016-09-25 11:49:49 +03:00
Victor Zarubkin
583410c929 (profiler_gui) Added events indicators (like context switch events at the bottom of each thread) 2016-09-23 23:50:43 +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
7f5b7c00a8 (profiler_gui) Added tool-button "Clear all";
(profiler_gui) Prepare for append blocks
2016-09-21 22:09:04 +03:00
Victor Zarubkin
d6269f17fe Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-09-20 22:57:52 +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
Sergey Yagovtsev
4c73886233 common code for linux and windows 2016-09-20 00:57:47 +03:00
Sergey Yagovtsev
38eecc722d Refactoring of sockets 2016-09-19 23:59:55 +03:00
Sergey Yagovtsev
0ca2a4aef7 Add files 2016-09-18 19:11:22 +03:00
Sergey Yagovtsev
85e7145bf1 Merge commit 2016-09-18 19:02:12 +03:00
Sergey Yagovtsev
2d4e22cc23 Add init and flush functions for EasySocket 2016-09-18 18:08:47 +03:00
Sergey Yagovtsev
6939f053c9 Add checkResult function for socket 2016-09-18 16:43:43 +03:00
Victor Zarubkin
ef7469a880 (profiler_gui) First version of displaying and controlling blocks enable status 2016-09-17 15:39:31 +03:00
Victor Zarubkin
5d95cbd83b (profiler_core) Added log messages output for Windows event tracer 2016-09-17 12:54:47 +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
c316734e8f Fix disconnect problem on downloading 2016-09-16 22:51:15 +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
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
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
ef310af71d Colors tweaking 2016-09-13 22:51:06 +03:00
Sergey Yagovtsev
3181b867b1 Windows socket connection 2016-09-12 22:10:45 +03:00
Sergey Yagovtsev
0fe6690545 Add server function for EasySock 2016-09-12 21:28:15 +03:00
Sergey Yagovtsev
542783573d Linux build 2016-09-11 19:34: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
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
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
Sergey Yagovtsev
20d3fb47a6 First steps in network. Work on linux 2016-09-08 21:03:40 +03:00
Victor Zarubkin
40a8ee3d16 Material design colors 2016-09-07 22:37:05 +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
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
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
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