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

94 Commits

Author SHA1 Message Date
Victor Zarubkin
7ae518e1d0 (profiler core) Manually check if thread exist or not. Changed EASY_THREAD behavior: it does not create ThreadGuard and can be invoked from every function you like. Added macro EASY_THREAD_SCOPE which behaves like an old EASY_THREAD macro (creates ThreadGuard). 2016-11-20 17:09:50 +03:00
Victor Zarubkin
63f77efcf1 (ProfileManager) Fixed stack logic mistake 2016-11-20 15:18:51 +03:00
Victor Zarubkin
d550b91e56 (ProfileManager) THREAD_STORAGE is not creating in endBlock 2016-11-20 14:37:42 +03:00
Victor Zarubkin
752f0c08a8 Added possibility to build easy_profiler with empty API implementation to avoid whole solution rebuild if you want to build without profiler;
* resources.rc changes: proper macro names + copyright sign;
2016-11-20 13:42:05 +03:00
Victor Zarubkin
1af4fa0887 profile_manager.cpp: removed unused trash 2016-11-19 02:27:25 +03:00
Victor Zarubkin
07b78ea92f Moved version definition to CMakeLists.txt, added functions for getting profiler version 2016-11-16 22:17:39 +03:00
Sergey Yagovtsev
e5041a9b2b Multi-licensing in source codes 2016-11-13 16:39:59 +03:00
Victor Zarubkin
9b0e7fabc5 g++ warnings fix 2016-11-13 15:20:25 +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
8054c3ab6f init thread storage on end block 2016-10-19 22:21:04 +03:00
Sergey Yagovtsev
76defe2372 Rename directory profiler to easy 2016-09-29 23:29:57 +03:00
Sergey Yagovtsev
5b6c9210c7 For previous commit 2016-09-29 22:57:14 +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
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
46a9caddb8 Merge branch 'develop' of https://github.com/yse/easy_profiler into develop 2016-09-26 23:52:05 +03:00
Sergey Yagovtsev
bf74e673fc Move getCurrentTime function in separate header 2016-09-26 23:23:38 +03:00
Sergey Yagovtsev
f9b594918f Add function for x86 and x64 arch 2016-09-26 23:11:25 +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
e600c2f5cd begin/end time for Linux too 2016-09-24 00:15:33 +03:00
Victor Zarubkin
c96a8c3a18 (profiler_core) Added "ThreadFinished" event 2016-09-23 23:51:49 +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
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
85e7145bf1 Merge commit 2016-09-18 19:02:12 +03:00
Victor Zarubkin
b81779eaf6 refactoring 2016-09-17 15:37:16 +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
52a9862963 Correct receiving 2016-09-16 02:11:11 +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
Sergey Yagovtsev
d5f6aa94b1 Add checking for empty sync list.
(cherry picked from commit ef60d553c064341ab714a79e8e12d5363b35081e)
2016-09-16 00:19:03 +03:00
Sergey Yagovtsev
ef60d553c0 Add checking for empty sync list. 2016-09-15 23:30:36 +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
Sergey Yagovtsev
80892e636e Receive by EasySocket 2016-09-14 22:04:15 +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
6d6ad61a18 Add connect button 2016-09-13 21:42:38 +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
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
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
f95d88bb1a Add interface for EasySocket 2016-09-08 23:34:04 +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
1edb71a6eb Minor style fix 2016-09-07 22:25:32 +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