Victor Zarubkin
bf7bf10b80
(GUI) Less buggy and more efficient recursive painting algorithm for blocks at diagram. Test mode.
...
Note: with recursive algorithm it is possible to iterate through blocks in parallel to make painting just more efficient - this is my future todo
2016-12-27 22:07:44 +03:00
Victor Zarubkin
5a14887ec8
Update Readme
2016-12-27 21:01:12 +03:00
Victor Zarubkin
8057154fe5
(EasyProfiler.ETW) Fixed typo in system process name
2016-12-27 20:54:10 +03:00
Victor Zarubkin
b3045c1b68
(GUI) Hystogram painting improvement
2016-12-27 20:53:16 +03:00
Sergey Yagovtsev
31f3bf142b
Update Readme
2016-12-25 13:04:25 +03:00
Sergey Yagovtsev
40a0590aff
Update Readme
2016-12-25 13:03:47 +03:00
Victor Zarubkin
179aee62fc
amend last commit
2016-12-21 23:21:35 +03:00
Victor Zarubkin
4078fe2a4a
(GUI) Blocks/files list widget search fix: files are highlighted too
2016-12-21 23:19:22 +03:00
Victor Zarubkin
6d59c53f7a
(GUI) Fixed wrong window size calculation for hystogram window
2016-12-21 22:40:06 +03:00
Victor Zarubkin
e9bed4c839
(Core) Major update (file format NOT affected). Description:
...
1) Added macro EASY_CONST_NAME(name) to make possible to force EasyProfiler think that given block name is const and not changed during application execution (this rely to compile-time strings saved into a run-time variable);
2) Starting from now, EasyProfiler will not store partially finished frames - first, this means that profiler enabled during frame execution will skip all blocks from this frame, and second, this means that when dumping profiled information profiler will wait until all frames finish before dumping blocks.
2016-12-21 21:59:40 +03:00
Victor Zarubkin
5977dbda11
(Core) ETW logging: replaced std::cerr with macro EASY_ETW_LOG to make possible to change output destination
2016-12-21 21:49:29 +03:00
Victor Zarubkin
649eda5641
(GUI) Small alignment fixes
2016-12-21 21:45:11 +03:00
Victor Zarubkin
829ca05e75
(GUI) Added new icon (:/Stop), increased default icon size
2016-12-18 19:16:21 +03:00
Victor Zarubkin
6c403ae4ba
(GUI) Asking before restore last connection if could not connect to the new address;
...
* (GUI) Automatically restore connection on "Start Capture" click if application was disconnected.
2016-12-18 18:27:19 +03:00
Victor Zarubkin
0a57ff381c
(GUI) Please, read NOTICE for that commit.
...
1) Added active time calculation (this is duration excluding context switch time).
2) Columns "Duration", "Self Dur.", "Self %", "% / Frame", "Active time", "Active %" in Plain mode shows total values per frame (sum of all values per frame).
2016-12-18 17:59:41 +03:00
Victor Zarubkin
e5dccfb8be
(GUI) Added hierarchy window mode: full hierarchy, plain mode (only functions list)
2016-12-18 15:56:08 +03:00
Victor Zarubkin
1ac9c5c2a0
(EasyHystogramItem) Do not check events when calculating block min duration for selected thread
2016-12-17 16:32:39 +03:00
Victor Zarubkin
bfb81a7db0
CMake: removed tabs from options print
2016-12-17 16:29:03 +03:00
Victor Zarubkin
d85f9864d6
(GUI) Added statistics gathering for context switches (calls number, total duration, % per thread or frame).
...
Known issue: if context switch events occur out of profiled blocks then percent/thread may be calculated wrong as it is calculating relative to thread profiled time (which may be a very low value).
2016-12-14 23:17:02 +03:00
Victor Zarubkin
8cfeb1b7f2
(Windows ETW) Added process names for pid=4 (System) and threadID=0 (System Idle)
2016-12-14 23:12:16 +03:00
Victor Zarubkin
7883371166
(GUI) Added calculation of thread wait time (sum of all context switches)
2016-12-14 22:16:14 +03:00
Victor Zarubkin
eafcb40970
(GUI) Added possibility to torn on/off decorated thread names (add/don't add "Thread" word info thread name. Example, "Render" convert to "Render Thread", "WorkerThread" "My thread" will not convert in any way). See Settings->View->Use decorated thread names.
...
* (GUI) Fixed lagging when painting very long block on large scale.
2016-12-14 21:47:33 +03:00
Victor Zarubkin
0304a55c15
(Core) Added macro USING_EASY_PROFILER which is defined when EasyProfiler is actually used.
2016-12-14 21:40:46 +03:00
Victor Zarubkin
7b63ae39d2
CMake + core: added options to CMakeLists.txt. TODO: maybe set them via CMake "option(...)" command
2016-12-13 21:53:29 +03:00
Victor Zarubkin
b67e078e55
(GUI) Fixed division by zero;
...
* (GUI) Displaying blocks number on hystogram for selected thread
2016-12-12 22:28:54 +03:00
Victor Zarubkin
d88b747c33
Valid version check
2016-12-12 22:26:50 +03:00
Victor Zarubkin
29f81d1244
(Core) Monitoring threads, removing threads without blocks, events and context switches;
...
* (Core) Context switch events also register threads for current process;
* (Core) Writing process id into output file (old files still could be opened);
2016-12-12 22:26:32 +03:00
Sergey Yagovtsev
039e0a6efa
Add next pid to context switch file
2016-12-12 22:01:33 +03:00
Victor Zarubkin
3f64b9fb1c
(GUI) Added average time into summary popup
2016-12-12 21:41:48 +03:00
Victor Zarubkin
d4877b59b8
(GUI) Added new regime "Hide min-size blocks" to hide blocks which screen size is less than 'Min blocks size';
...
(GUI) Slightly more memory effective arch.
2016-12-12 21:39:16 +03:00
Sergey Yagovtsev
58b1fdb8a3
Define alignment size
2016-12-12 03:13:07 +03:00
Sergey Yagovtsev
4cb7d90e49
Prevent crash on exited thread
2016-12-12 03:12:50 +03:00
Sergey Yagovtsev
9d3824fb50
Merge branch 'cdserg-develop' into develop
2016-12-12 02:25:20 +03:00
Sergey Yagovtsev
98b3ac3a8f
Merge pull-request
2016-12-12 02:24:36 +03:00
Victor Zarubkin
fd259d3948
(GUI) Removed Reload button
2016-12-12 01:10:54 +03:00
Victor Zarubkin
5e4193cb13
(ETW) setDebugPrivelege() rename
2016-12-11 03:31:22 +03:00
Victor Zarubkin
0dc944a877
(GUI) Remember 10 last opened files instead of one (added menu into "Reload last file" tool-button)
2016-12-11 03:27:42 +03:00
Victor Zarubkin
24e0ac261b
(GUI) Increased length of text edit - IP: [ ]
2016-12-10 12:58:16 +03:00
Victor Zarubkin
e5b1485cec
(GUI) Now you can use host name instead of ip-address
2016-12-10 12:54:17 +03:00
Victor Zarubkin
1984035d04
Update README.md
2016-12-09 20:51:15 +03:00
Sergey Grivskiy
63e036f11a
custom core library name (for cross-platform build, like easy_profiler_eabihf), ex: "cmake -DLIB_NAME=easy_profiler_x64 ../easy_profiler_core"
2016-12-09 15:01:47 +03:00
Sergey Grivskiy
4db9c82729
fix: wrong results for ARM: empty getCurrentTime() for ARM and other architectures
2016-12-09 15:01:47 +03:00
Victor Zarubkin
61271ff282
Amend last commit
2016-12-08 22:28:02 +03:00
Victor Zarubkin
6f14a4e97c
(GUI) Added possibility to re-connect to the profiled application or to connect to the new address/port
2016-12-08 22:22:09 +03:00
Victor Zarubkin
88dc699099
No need to check for nullptr while deleting
2016-12-08 22:19:45 +03:00
Victor Zarubkin
c9d3169dbf
(EasyGraphicsView) minor alignment fixes
2016-12-07 23:32:10 +03:00
Victor Zarubkin
d0c847da1d
(EasyGraphicsView) Additional 5% offset before first and after last block;
...
* (EasyGraphicsView) Scroll to the first block after opening file;
2016-12-07 23:28:15 +03:00
Victor Zarubkin
0a4f9b0f43
(GUI) similar blocks highlighting fix;
...
(EasyDescTreeWidget) tree build fix;
2016-12-07 22:40:45 +03:00
Victor Zarubkin
46c4867b2d
(EasyHystogramItem) updating image after window resize
2016-12-07 22:35:37 +03:00
Victor Zarubkin
b33faa571e
(EasyHystogramItem) Display hystogram mode (MODE: overview // MODE: zoom);
...
* (EasyHystogramItem) Changed colors calculation method;
2016-12-07 22:29:16 +03:00
Victor Zarubkin
159f7f5c7e
changed displayed version
2016-12-04 19:18:38 +03:00
Victor Zarubkin
3c72d5d94d
minor fixes
2016-12-04 19:17:28 +03:00
Victor Zarubkin
041ed6beab
(easy_profiler_core) reader: fixed uint64_t overflow while converting ticks to nanoseconds. TODO: maybe use 128-bit integers in future.
2016-12-04 18:42:32 +03:00
Victor Zarubkin
f9e8138c36
gcc warnings fix
2016-12-04 18:40:46 +03:00
Victor Zarubkin
e388c8e08e
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
2016-12-04 17:02:01 +03:00
Sergey Yagovtsev
4539addae2
warning fix
2016-12-04 16:59:34 +03:00
Victor Zarubkin
15f3c7fc87
(GUI) Added tooltips into Settings->View menu;
...
(GUI) More informative popup window view;
(GUI) Added hystogram for current selected block;
2016-12-04 16:51:27 +03:00
Sergey Yagovtsev
052bd47452
Set CXX standard by cmake
2016-12-04 16:50:58 +03:00
Sergey Yagovtsev
cbbf570fae
Define EASY_PRODUCT_VERSION by concatenating major, minor and patch strings
2016-12-04 16:40:00 +03:00
Sergey Yagovtsev
256f5f6041
Rename src and move include directory
2016-12-02 00:35:25 +03:00
Sergey Yagovtsev
052b37744e
Add to win solution include files
2016-12-02 00:14:28 +03:00
Sergey Yagovtsev
f4d4cbecfa
Merge branch 'develop' of github.com:yse/easy_profiler into develop
2016-12-02 00:09:31 +03:00
Sergey Yagovtsev
5537eb290d
More convenient build scripts.
2016-12-02 00:08:25 +03:00
Victor Zarubkin
ced93de1b3
(EasyGraphicsView) New popup window for blocks
2016-12-01 23:31:40 +03:00
Victor Zarubkin
e7db63e7d3
startListen fixes
2016-12-01 23:30:43 +03:00
Sergey Yagovtsev
80ebd76116
Interface changing:
...
1 - Rename startListeningToCature to startListen
2 - Specify listen port by startListen function parameter
2016-12-01 23:25:54 +03:00
Victor Zarubkin
acb197557f
(EasyGraphicsView) Added possibility to scroll thread names list with mouse wheel
2016-12-01 22:27:25 +03:00
Victor Zarubkin
33bd7256ab
(EasyGraphicsView) Scroll to main thread after file load
2016-12-01 22:20:34 +03:00
Victor Zarubkin
02e43a2b45
(EasyGraphicsScrollbar) Displaying text with minimum and maximum duration of frames
2016-12-01 21:55:11 +03:00
Victor Zarubkin
a2ae2dd051
(EasyGraphicsItem) Changed sync events minimum size
2016-12-01 21:53:06 +03:00
Victor Zarubkin
02349afe8b
(EasyGraphicsView) Fixed timeline scale indicator text;
...
* (EasyGraphicsView) Fixed longest thread selection;
2016-12-01 21:52:29 +03:00
Victor Zarubkin
4dcb769ba2
(EasyGraphicsScrollbar) Added possibility to scale minimap to the current visible area (click mouse right button on minimap)
2016-11-30 22:37:11 +03:00
Victor Zarubkin
045f464e1f
(EasyGraphicsView) Chronometer line style reset fix
2016-11-30 22:22:58 +03:00
Victor Zarubkin
69a326c06b
(EasyGraphicsView) Highlighting all similar blocks on diagram (only if they are visible!);
...
(GUI) Added possibility to select units in which time will be displayed
2016-11-30 21:59:40 +03:00
Sergey Yagovtsev
2ddfa4db68
win build
2016-11-28 22:58:16 +03:00
Sergey Yagovtsev
f0d0859cb1
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
2016-11-27 14:26:08 +03:00
Sergey Yagovtsev
f788071003
Check thread expired on linux and add new message in easy_net
2016-11-27 14:26:00 +03:00
Victor Zarubkin
90705af989
(GUI) Added flag "add zero blocks to hierarchy". If it is false then blocks with zero duration will not be added into hierarchy tree in hierarchy window. This saves a lot of memory.
2016-11-26 18:08:02 +03:00
Victor Zarubkin
b63cc382bd
(EasyGraphicsItem) increased events interval
2016-11-26 17:15:08 +03:00
Victor Zarubkin
0658540109
(EasyGraphicsView) Important fix: fixed wrong indexing on paint
2016-11-26 17:00:05 +03:00
Victor Zarubkin
a7ac056021
(GUI) Added flag for enabling zero length blocks on diagram (if NOT enabled then such blocks would be resized to minimum length which is 250 ns. Otherwise you probably will not see blocks with zero length on diagram, but such blocks are still available at hierarchy window)
2016-11-23 22:54:59 +03:00
Victor Zarubkin
53fd4df281
Amend last commit
2016-11-23 22:51:11 +03:00
Victor Zarubkin
0c332b9609
Correct checking for thread_name
2016-11-23 22:16:53 +03:00
Victor Zarubkin
f1017c3ed4
(GUI) Added possibility to do case sensitive search into blocks descriptions list and hierarchy window
2016-11-20 21:40:05 +03:00
Victor Zarubkin
92b2b27a3b
(GUI) Added search box into Hierarchy window;
...
(GUI) Added new option for building hierarchy for selected thread only (for memory economy)
2016-11-20 21:01:33 +03:00
Victor Zarubkin
a08b986418
(EasyDescTreeWidget) Expanded files in blocks list remain expanded after refresh
2016-11-20 18:34:31 +03:00
Victor Zarubkin
75fff29ba5
Fixed bug with increasing descriptions number on blocks list refresh
2016-11-20 18:33:56 +03:00
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
4d13e689f8
changed default value
2016-11-20 14:39:01 +03:00
Victor Zarubkin
d550b91e56
(ProfileManager) THREAD_STORAGE is not creating in endBlock
2016-11-20 14:37:42 +03:00
Victor Zarubkin
21a7898572
removed unnecessary lambdas
2016-11-20 14:11:46 +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
Sergey Yagovtsev
097723848f
Define EASY_PROFILER_PRODUCT_VERSION in cmake
2016-11-20 09:25:40 +03:00
Sergey Yagovtsev
648ec8676c
Rename PRODUCT_VERSION define
2016-11-19 19:29:57 +03:00
Sergey Yagovtsev
c00cfaa630
Add apache license text to some headers
2016-11-19 19:29:35 +03:00
Sergey Yagovtsev
62f53b855b
Remove broken pipe error code feom win build
2016-11-19 19:16:19 +03:00
Victor Zarubkin
141b0f99a4
GUI: Added drag and drop of files into GUI window. NOTICE: You have to launch gui NOT as Administrator on Windows, otherwise Windows will block drag and drops from explorer.
2016-11-19 05:39:41 +03:00
Victor Zarubkin
65be64fb51
GUI: Added new settings into settings toolbar -> View. You can change blocks minimum size, spacing and narrow width value.
2016-11-19 04:52:45 +03:00
Victor Zarubkin
ed3e26a59c
GUI: Blocks painting algorithm optimization for detailed mode
2016-11-19 03:46:52 +03:00