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

44 Commits

Author SHA1 Message Date
Victor Zarubkin
92a5ca4a75 Big bunch of changes:
* update copyright
* fix css parsing
* fix block name search
* add matching text highlighing for find results
* add calculation of block statistics for selected area
* new action: right-click on a block on "Diagram" selects region using left and right bounds of this block
* other optimizations
2019-10-20 16:12:37 +03:00
Victor Zarubkin
f0a588eec5 #106 [Core][UI] Fixed reading bookmarks with empty text; Fixed overriding and restoring mouse cursor shape when hovering bookmark at the Diagram widget;
#0 [UI] Waiting until saving file is finished when closing the UI.
2018-06-14 02:57:12 +03:00
Victor Zarubkin
0ae430410d #106 [Core][UI] Added possibility to add user bookmarks with double-clicking on a timeline in the Diagram window.
#112 [UI] Fixed losing focus (and getting under MainWindow) for Blocks widget.
#0 [UI] UI styling, added custom window header and dialogs (could be turned off/on and adjusted position at [Settings -> Appearance] menu).
2018-06-09 02:18:39 +03:00
Victor Zarubkin
84b391b6cc #0 [Core] refactoring 2018-05-08 21:14:46 +03:00
Victor Zarubkin
8c90ee7ef5 #0 [Core] refactoring 2018-05-07 21:42:17 +03:00
Victor Zarubkin
f665478830 #91 [Core][UI] functions profiler::writeTreesToFile(), profiler::writeTreesToStream() are now working. Snapshot feature is now working: select an area on Diagram (with right mouse button or double-click) and press Snapshot button to save it to separate file. 2018-04-25 21:37:18 +03:00
Victor Zarubkin
21bcefcb75 #91 [UI] .prof serializator (intermediate commit) 2018-04-23 21:23:47 +03:00
Victor Zarubkin
ae5c46477d #91 [UI] Snapshot feature further progress (intermediate commit) 2018-04-22 16:15:10 +03:00
Victor Zarubkin
ef7b41fd0d #91 [UI] Added snapshot tool stub; Working on saving blocks to file from UI 2018-04-22 03:34:26 +03:00
Victor Zarubkin
3253fe2633 #48 [Core] Rearranged file header members order to minimize padding;
[Core] Changed version to 2.0.0;
2018-04-02 01:53:29 +03:00
Victor Zarubkin
5ff6acd422 Merge remote-tracking branch 'origin/develop' into release_2_0_dev 2018-02-24 23:25:51 +03:00
derevnja
647eced7d2 Add command line tool (profiler_converter) for converting to json format
related to #67
2018-02-07 19:11:12 +03:00
Victor Zarubkin
192ab87e4c #0 Simplified some lambdas 2018-01-29 23:42:18 +03:00
Victor Zarubkin
091d5447ce #0 Updated copyright dates; [Gui] thread_pool.cpp MSVC build fix; [Core] Renamed getCurrentTime() to profiler::clock::now() + renamed profiler::currentTime() to profiler::now() 2018-01-29 23:29:43 +03:00
Victor Zarubkin
694497b5ca Release 2.0 further work. Intermediate commit. 2018-01-20 15:23:28 +03:00
Victor Zarubkin
2c008b77ed Merge remote-tracking branch 'origin/develop' into release_2_0
# Conflicts:
#	easy_profiler_core/block.cpp
#	easy_profiler_core/profile_manager.cpp
#	easy_profiler_core/reader.cpp
#	profiler_gui/common_types.h
#	profiler_gui/descriptors_tree_widget.cpp
2018-01-04 17:59:21 +03:00
Victor Zarubkin
f9a132e9ee #0 [Core] Minor cosmetic changes 2018-01-04 17:38:59 +03:00
uykusuz
50cd560722 #0: various fixes for windows build (#84)
* #0: various fixes for windows build

* remove warnings that definition of a variable hides previously defined ones
* remove warnings that function argument is not used
* remove warnings that statements are not reached
* event_trace_win: fix compilation with UNICODE

* #0 various windows fixes: react to PR comments

* localize unicode handling of process info to ProcessInfo
* fix compilation error in Properties constructor

* event_trace_win: fix bug in ProcessInfo initialization

We didn't retry setting the name when GetModuleBaseName() didn't succeed,
even though we did that before the last refactoring.

* Revert "event_trace_win: fix bug in ProcessInfo initialization"

This reverts commit c4ce6cf488be5489fa0a1a9c24e92dd39bbc42a1.

* Revert "#0 various windows fixes: react to PR comments"

This reverts commit cae31a25371e53a3645ddab82372c3772138d658.

* #0 various windows fixes: react to PR comments again

* keep number of allocations minimal
* add getProcessName() to retrieve the process name as char always (i.e. not UNICODE)
2018-01-04 17:15:02 +03:00
Victor Zarubkin
4406664a7d #31 Basic arbitrary values viewer chart 2017-12-28 00:23:14 +03:00
Victor Zarubkin
b73044fddd #31 [Core] Fixed issue with storing arbitrary value while dumping. // [GUI] Further values viewer progress. 2017-12-14 23:12:27 +03:00
Victor Zarubkin
b3fd7c7837 #31 Single arbitrary values can be displayed in GUI as events + value converted to text 2017-11-15 21:43:52 +03:00
Victor Zarubkin
ae4c6c4e9f #0 [Core][GUI] refactoring 2017-11-09 23:34:17 +03:00
Victor Zarubkin
530eb2446c #0 [Core] A lot of code refactoring 2017-11-09 23:12:54 +03:00
Victor Zarubkin
2e85a7b6f4 #0 [GUI] fixed bug with missing empty threads on diagram 2017-10-04 21:37:11 +03:00
Victor Zarubkin
93c3066095 update #42 : Slightly better solution with less amount of black magic - different data structures for context switch events. Core API changed! 2017-06-07 01:39:45 +03:00
Victor Zarubkin
4a9daf3bb4 update #42 : fixed possible statistics display bug; work around storing 64-bit thread id for context switch events (requires testing);
* (GUI) Added popup window when moving mouse cursor to thread name in Diagram window;
2017-06-06 20:46:06 +03:00
Victor Zarubkin
65ac892e32 Fixing problems after changing thread_id_t to uint64_t from uint32_t: There is still a big problem with target-thread ids of context-switch events on *nix systems (it has been stored in block_id_t which is uint32_t and now it requires Core API changes to support new thread_id_t). Also there is a problem with statistics displaying (for top-level blocks parent_index had value of thread-id, it requires a work around now). 2017-06-05 21:24:01 +03:00
Sergey Yagovtsev
1c5084c6de for #41: minor beautifulize 2017-06-05 13:11:02 +03:00
Sergey Yagovtsev
ccd0626bf8 backward compatibility with old size of thread_id_t. For #41 2017-06-05 12:57:12 +03:00
Victor Zarubkin
d1e68e0cec (Core) Calculating total children duration per thread/frame/parent 2017-04-20 22:29:02 +03:00
Victor Zarubkin
08372ac136 Update license 2017-03-30 06:55:15 +03:00
Sergey Yagovtsev
15912970db replace double quotes to angle brackets - fixed #28 2017-03-05 23:50:38 +03:00
Victor Zarubkin
9d88b3d831 prepare for v1.0.3 2017-02-25 14:33:45 +03:00
Victor Zarubkin
d54ef45c3a MinGW adaptation first try 2017-02-13 20:19:41 +03:00
Victor Zarubkin
105d8334e1 Removed redundant copying of data from std::stringstream to std::ofstream in dumpBlocksToFile() 2017-02-08 22:06:38 +03:00
Holger Rapp
7641951247 Fixes for clang 3.8.
- Disables warnings for no-braced-scalar-init which shows up for ATOMIC_VAR_INIT.
- Fixes compile warnings, mostly "moving a temporary objects prevents
  copy elision" (-Wpessimizing-move) and unused variables.
- Adds some necessary fields to make the sample compile after having
  build the core library.
2017-02-07 17:19:58 +01:00
Sergey Yagovtsev
d338c022fb v1.0.2 2017-02-07 06:22:34 +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
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
7883371166 (GUI) Added calculation of thread wait time (sum of all context switches) 2016-12-14 22:16:14 +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
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
Sergey Yagovtsev
256f5f6041 Rename src and move include directory 2016-12-02 00:35:25 +03:00