Victor Zarubkin
89c2dc82c7
(profiler_gui) More icons
2016-09-14 23:12:41 +03:00
Sergey Yagovtsev
80892e636e
Receive by EasySocket
2016-09-14 22:04:15 +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
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
c67bf1dda7
(EasyGraphicsView) Fixed wrong font width calculation issue; Fixed wrong resizeEvent behavior;
2016-09-11 16:53:34 +03:00
Sergey Yagovtsev
03765b08bc
Not compiling version of windows sock
2016-09-09 06:14:34 +03:00
Victor Zarubkin
5b620071b6
(profiler_gui) Adjust colors; Added keyboard handlers; Displaying additional info
2016-09-09 00:07:27 +03:00
Sergey Yagovtsev
a422f69deb
More stability in networking
2016-09-08 23:15:01 +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
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
68ee40a5ad
Replace tab to whitespaces
2016-09-06 22:23:55 +03:00
Victor Zarubkin
591f613ff6
License text + small clean-up
2016-09-06 21:49:32 +03:00
Victor Zarubkin
d8d9a2fd32
(EasyGraphicsView) Painting context switches with outlined rectangles
2016-09-06 00:23:46 +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
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
Victor Zarubkin
cbcfe4c184
(EasyMainWindow) Memory leak issue
2016-08-30 23:15:16 +03:00
Victor Zarubkin
9560c5b5cf
(profiler_gui) Memory consumption optimization + File reading speed-up.
2016-08-30 22:51:18 +03:00
Victor Zarubkin
245bc6c386
(EasyChronometerItem) Fixed an error of displaying text on large scale
2016-08-30 20:47:49 +03:00
Victor Zarubkin
61c40c2512
(EasyGraphicsView) Design tweaking
2016-08-28 23:40:51 +03:00
Victor Zarubkin
988d9da391
(EasyTreeWidget) Trying to fix slow clear()
2016-08-28 21:10:16 +03:00
Victor Zarubkin
4ff13053ec
Remastering profiler API. Fixed read/write
2016-08-28 21:06:23 +03:00
Victor Zarubkin
aa0d96d0e6
Remastering profiler API. All projects are compiled successfully, but there is an error occured during read/write .prof file
2016-08-28 18:22:45 +03:00
Victor Zarubkin
3a2c8aaef1
(profiler_gui) Small design tweaking;
...
(profiler_gui) Added possibility to change where chronometer (time-meter) item text will be painted: at the top of the scene, in the center or at the bottom of the scene. See menu View -> Chronometer text.
2016-08-24 01:00:24 +03:00
Victor Zarubkin
bb7e288c1c
(EasyMainWindow) Separated loading of settings and geometry;
...
(profiler_gui) Added flag of connecting items expand status on scene and in the tree.
2016-08-23 23:50:30 +03:00
Victor Zarubkin
8b0f99ced0
(EasyGraphicsScrollbar) Displaying indicators for sliders at the top and the bottom of the mini-map view
2016-08-23 22:44:59 +03:00
Victor Zarubkin
3d8a120502
(profiler_gui) New flags for expanding all items on file open and for collapsing all items after closing tree (Blocks hierarchy dock-window);
...
(EasyTreeWidget) Fix of invisible progress bar;
2016-08-23 22:44:04 +03:00
Victor Zarubkin
355e3f519b
(EasyGraphicsView) High painting performance optimization. No lags on 10 million blocks scene. (of course, not all 10 mil. of blocks are visible at the same moment)
2016-08-23 22:42:20 +03:00
Victor Zarubkin
004c4a257f
(EasyGraphicsView) Second click on selected item on graphics scene makes it expanded or collapsed;
...
(EasyGraphicsView) Scale indicator rework;
(EasyMainWindow) Added menu "View" with actions "Expand all" nad "Collapse all";
(EasyGraphicsScrollbar) Fixed wrong mouse position calculation when scaling (with mouse wheel) on minimap.
2016-08-21 22:44:03 +03:00
Victor Zarubkin
4e5305ee74
(EasyGraphicsView) Refused of using QPainter::setClipRect() because of it is buggy when used with very big coordinates;
...
(EasyGraphicsView) New items borders drawing style.
2016-08-21 18:04:38 +03:00
Victor Zarubkin
1b3806ded2
(EasyGraphicsView) Removed debug output; Added vertical scrolling to the current thread on mouse wheel from EasyGraphicsScrollbar
2016-08-21 17:12:28 +03:00
Victor Zarubkin
721c145450
(profiler_gui) Added possibility of changing current scale using mouse wheel on minimap under graphics scene
2016-08-21 16:48:42 +03:00
Victor Zarubkin
beadd01c0c
Merge remote-tracking branch 'origin/serialized_optimize' into develop
2016-08-21 14:48:36 +03:00
Victor Zarubkin
e40da7921d
(EasyGraphicsView) Revert code analyzer fix: No need to check for nullptr because if it is null then there are no free memory in the system and the program will crash anyway.
2016-08-21 14:33:22 +03:00
Victor Zarubkin
9804378b1a
Merge branch 'serialized_optimize' of https://github.com/yse/easy_profiler into serialized_optimize
2016-08-21 14:28:09 +03:00
Victor Zarubkin
5ab152620c
(profiler_gui) Better way of setting fixed size of windows
2016-08-21 14:26:36 +03:00
Victor Zarubkin
d4ebdeeda8
(EasyGraphicsView) Added painting of time scale on the bottom of the graphics scene;
...
(EasyGraphicsItem) Fixed algorithmic error in paint() (this fix has improved paint() performance);
(profiler_gui) Color mathing
2016-08-21 14:26:04 +03:00
Sergey Yagovtsev
7d542cadda
Ubuntu build
2016-08-19 01:40:14 +03:00
Sergey Yagovtsev
485c2a64ac
(profiler gui) fix potencial zero pointer
2016-08-19 00:35:20 +03:00
Sergey Yagovtsev
7a87d681a1
(profiler gui) fix style warning by cppcheck analizer
2016-08-19 00:35:05 +03:00
Sergey Yagovtsev
fa15edf2ea
Linux build
2016-08-18 23:50:53 +03:00
Victor Zarubkin
8f30948105
(profiler_gui) Reading file (MainWindow) and building blocks hierarchy (TreeWidget) in separate threads + displaying read progress;
...
(profiler_gui) Moving sources into separate files;
(profiler_gui) Rename Prof* classes into Easy*;
(EasyGraphicsView) Optimized performance by not painting items which were not expanded in TreeWidget. While there are no range selected for TreeWidget, only top-level blocks are painted on scene.
2016-08-18 23:26:41 +03:00
Victor Zarubkin
197a585307
(profiler core) Warning: .prof file format changed! New SerializedBlock format, less allocations and copy, only single allocation in fillTreesFromFile(). Memory consumption reduced. Also speed up statistics gathering by moving calculations into several threads.
2016-08-14 22:22:44 +03:00
Victor Zarubkin
d38c869330
Memory consumtion optimization (almost 2 times less memory used on Windows)
2016-08-14 16:05:10 +03:00
Victor Zarubkin
cdd74503eb
(ProfGraphicsScrollbar) overflow guard (it seems that this is because of floating point precision)
2016-08-11 23:48:29 +03:00
Victor Zarubkin
24f181c040
(profiler GUI) high memory consumption optimizations: ~20 bytes per block
2016-08-11 23:43:34 +03:00
Victor Zarubkin
9f48bf6e21
(profiler_gui) refactoring;
...
(ProfGraphicsView) Added separate background drawer item; Added timeline scale drawing;
2016-08-10 22:08:27 +03:00
Victor Zarubkin
d8ccff0788
(profiler_gui/globals.h) auto toUnicode() return type
2016-08-09 01:29:24 +03:00
Victor Zarubkin
66709981a8
(ProfGraphicsView) Fixed Windows compile errors
2016-08-09 01:24:49 +03:00
Victor Zarubkin
c28b720c71
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
2016-08-09 01:16:16 +03:00
Sergey Yagovtsev
fd0ef209f8
Select encoding for block`s name.
...
Create unused widget for threads.
2016-08-09 00:45:45 +03:00
Victor Zarubkin
af2e606e08
(ProfGraphicsView) Updating scene rect when scrolling to selected item;
2016-08-09 00:15:40 +03:00
Victor Zarubkin
97d009bd46
(ProfTreeWidget) Displays only relevant statistics;
...
(profiler_gui) Comments in globals.h
2016-08-09 00:14:58 +03:00
Victor Zarubkin
dd31bb080b
(ProfGraphicsScrollbar) Draw indicators if slider width is too small
2016-08-08 23:39:37 +03:00
Victor Zarubkin
b2ac7e0fbd
(ProfGraphicsView) Scroll verticalScrollBar to selected item also
2016-08-08 23:18:13 +03:00
Victor Zarubkin
c6fb0bfeb9
Merge remote-tracking branch 'origin/develop' into develop
2016-08-08 23:11:27 +03:00
Victor Zarubkin
e8bdffbc7b
(ProfGraphicsView) Selected item painted always, even if it is hidden because of small size.
2016-08-08 23:03:11 +03:00
Sergey Yagovtsev
b257ef2c1d
Merge commit
2016-08-08 22:54:20 +03:00
Sergey Yagovtsev
164eaa519d
Warning fix
2016-08-08 22:45:57 +03:00
Victor Zarubkin
48e0906bf4
(ProfGraphicsView) using SELECTED_ITEM_COLOR constant
2016-08-08 22:35:21 +03:00
Victor Zarubkin
f0f82c01e2
(ProfGraphicsView) Selecting items on scene;
...
(ProfGraphicsView) Clickable indicators of ProfChronometerItem;
(ProfTreeWidget) Jump to items on scene from ProfTreeWidget;
(profiler GUI) Fixed typos and warnings;
2016-08-08 22:17:56 +03:00
Sergey Yagovtsev
00602398fb
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
2016-08-07 21:40:49 +03:00
Sergey Yagovtsev
98a3dd7114
Fix typo in SerializedBlock class name
2016-08-07 21:40:23 +03:00
Victor Zarubkin
30f0261bae
(ProfGraphicsView) refactoring
2016-08-07 20:16:15 +03:00
Victor Zarubkin
3017be305a
(profiler reader) Gathering per frame statistics + refactoring;
...
(profiler GUI) Lightening profiler::colors to be more bright;
(ProfTreeWidget) Displaying per frame and per thread statistics;
(ProfGraphicsView) Draw chronometer item text in Difference mode to be more readable.
2016-08-07 19:38:31 +03:00
Victor Zarubkin
888ea2e61c
refactoring
2016-08-07 19:35:58 +03:00
Victor Zarubkin
57654670f0
(ProfGraphicsView) Displaying additional chronometer item on mouse double click and move. This item is used just to measure time. This is not affecting tree displayed in ProfTreeWidget.
2016-08-06 14:50:31 +03:00
Victor Zarubkin
67ed94c774
(ProfMainWindow) Saving last opened file path into QSettings
2016-08-06 14:48:38 +03:00
Victor Zarubkin
27ec6aee7e
refactoring
2016-08-04 23:46:04 +03:00
Victor Zarubkin
aac410d9f8
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
2016-08-04 23:35:49 +03:00
Victor Zarubkin
340a787358
(ProfGraphicsView) Fixed borders painting
2016-08-04 23:35:38 +03:00
Sergey Yagovtsev
4b43bebc4a
Remove obsolete code
2016-08-04 23:29:08 +03:00
Sergey Yagovtsev
8346e50688
(profiler GUI) Store settings for application. Now is main geometry and
...
columns settings in blocks tree widget and colorized settings.
2016-08-04 23:12:41 +03:00
Sergey Yagovtsev
57d8bc85e3
Set to windows application on win platform for profiler gui
2016-08-04 23:12:05 +03:00
Victor Zarubkin
4f0fabdfd6
(profiler Reader) Added block_index field and replaced pointers SerilizedBlock* to block indexes;
...
(profiler GUI) Added plain vector of ProfBlocks (additional information for gui) for fast access;
(ProfGraphicsView) Removed unnecessary methods; small refactoring;
(ProfTreeWidget) Removed unnecessary map of tree items;
(ProfGraphicsScrollbar) Added colorizing of minimap (green = low duration, red = long duration);
2016-08-04 22:38:45 +03:00
Victor Zarubkin
55cd5a5751
(profiler Reader) For memory consumption optimization created BlocksTreeRoot class and move thread_name field from BlocksTree to new created class;
...
(profiler Reader) Added self_duration field for statistics;
(profiler Reader) Removed #ifdef macros;
(profiler Reader) moved BlocksTree, BlocksTreeRoot and thread_blocks_tree_t types inside profiler namespace;
(profiler GUI) Added globals.h and globals.cpp containing global variables and signals; Added profiler_gui namespace;
(ProfTreeWidget) Added context menu "Select columns" to make it possible to hide columns;
(ProfTreeWidget) Added percent statistics for blocks (Self %, Parent % and Frame %); Added displaying of total thread duration;
(ProfGraphicsScrollbar) Added context menu to make it possible to choose which thread to display on minimap;
(ProfGraphicsView) Highlighting currently selected thread;
2016-08-03 23:00:04 +03:00
Victor Zarubkin
4db8d4fbb6
(GraphicsScrollbar) Added mini-map which shows duration of blocks relative to each other;
...
(GraphicsScrollbar) Also added displaying of chronometer item position in graphics scrollbar.
2016-08-03 00:06:36 +03:00
Victor Zarubkin
aa7996c1c5
(ProfGraphicsView) Chronometer item text is displaying correctly taking into account visibleSceneRect borders
2016-08-02 22:24:22 +03:00
Victor Zarubkin
773f978bdc
(ProfTreeWidget) Displaying thread names in the tree
2016-08-02 22:22:41 +03:00
Victor Zarubkin
5d6cf9e5b4
(ProfTreeWidget fix) Fixed compiler warning
2016-08-02 21:21:12 +03:00
Victor Zarubkin
b0f6b3f268
(GraphicsView) Fixed test();
...
(GraphicsView) Added a lot of comments;
(GraphicsView) Changed base unit from milliseconds to microseconds;
(GraphicsScrollbar) Fixed fluttering on very small scale;
(GraphicsView)+(TreeWidget) Chronometer item behavior: if selection made from left to right - selecting all items by intersection with rectangle; if selection made from right to left - selecting all items which are strictly inside selection rectangle.
2016-08-01 22:21:59 +03:00
Victor Zarubkin
bb0f2d3cd4
Added chronometer graphics item which shows time interval on graphics scene (Press right mouse button and move mouse on graphics scene). Also, all items from selected interval will be shown in tree widget.
2016-07-31 18:48:41 +03:00
Victor Zarubkin
c943431104
(GraphicsView) Using GraphicsScrollbar with qreal values instead of standard QScrollBar with int values.
...
(GraphicsView) Does not use standard QGraphicsView::scale and QGraphicsView::centerOn methods, does not use standard QScrollBar because of it's fast value overflow. Using manual offset for all scene items instead of standard scrolling.
2016-07-31 13:13:48 +03:00
Victor Zarubkin
ac484a1ae4
unnecessary include
2016-07-27 23:12:05 +03:00
Victor Zarubkin
5b7364b0bd
Flicker functionality for profiler gui on QWidgets
2016-07-27 22:52:13 +03:00
Victor Zarubkin
03fb3f271f
Scene paint fixes and optimization
2016-07-27 21:50:11 +03:00
Victor Zarubkin
9a616fc693
Merge branch 'develop' of https://github.com/yse/easy_profiler into develop
...
# Conflicts:
# profiler_gui/main_window.cpp
# src/reader.cpp
2016-07-10 01:36:02 +03:00
Victor Zarubkin
3978535a99
Added GraphicsScrollbar (still in development phase) for big graphics scene. Standard QScrollBar's int value gets overflow very fast when doing zoom-in for graphics scene. So it is necessary to create a Scrollbar with double value.
2016-07-10 01:31:45 +03:00
Victor Zarubkin
f734104280
(GraphicsView) New draw method with one GraphicsItem for the whole scene (testing)
2016-07-10 01:31:29 +03:00
Victor Zarubkin
2939f07c2a
changed random seed
2016-07-10 01:15:41 +03:00
Sergey Yagovtsev
d356629e33
Open file by command line argument
2016-06-30 21:39:04 +03:00
Victor Zarubkin
fa270ea3f2
(GraphicsView) More effective memory consumption
2016-06-30 03:45:11 +03:00
Victor Zarubkin
5ca4158abf
Highly optimized painting algorithm and memory consumption for Profiler GraphicsView
2016-06-30 02:57:57 +03:00
Victor Zarubkin
8b2100a3d6
correct comment
2016-06-27 23:24:04 +03:00
Victor Zarubkin
30d9e7645f
(Graphics view) Disabled border lines painting because of vertical lines painting bug;
...
* (Graphics view) Changed height of blocks. Variable thread-block height;
* (Tree widget) Disabled sorting by name to save order of threads displayed on graphics view;
* (Profiler reader) Changed type of value returned by fillTreesFromFile().
2016-06-27 23:22:12 +03:00
Victor Zarubkin
98cb124c4e
(Graphics View) Added text shifting relatively to it's parent item.
2016-06-27 22:17:43 +03:00
Victor Zarubkin
89766e83b1
(Tree widget) Added possibility to colorize rows with profiler blocks' colors;
...
* (Tree widget) Added displaying frame statistics for blocks.
2016-06-27 22:11:26 +03:00
Sergey Yagovtsev
d5416fede8
Clang warning fix
2016-06-26 22:34:51 +03:00
Victor Zarubkin
ef4a62cbe3
inverse colors for text items
2016-06-26 22:16:36 +03:00
Sergey Yagovtsev
95d13e98f1
linux build
2016-06-26 21:14:15 +03:00
Victor Zarubkin
e6c105561a
added main window with both graphics view and tree widget;
...
* further improvement of graphics view: highly improved scene scaling and added scene drag with left mouse button pressed.
2016-06-26 20:54:16 +03:00
Victor Zarubkin
98035ae705
renamed gui classes from My* to Prof*
2016-06-26 19:06:53 +03:00
Victor Zarubkin
1435e80cef
added headers for source files
2016-06-26 18:56:40 +03:00
Victor Zarubkin
1d66f4f641
moved gui sources to .h and .cpp
2016-06-26 18:46:51 +03:00
Victor Zarubkin
e412977f99
default sorting order for tree widget and resizeColumnToContents on items expand
2016-06-26 17:56:57 +03:00
Victor Zarubkin
ba9944b83f
added collapseAll, expandAll and jump-to-min-item actions to tree widget
2016-06-26 17:33:43 +03:00
Victor Zarubkin
6b93a6635f
added tree widget view for profiled blocks
2016-06-26 13:14:00 +03:00
Victor Zarubkin
a8df818b33
profiler gui: first steps
2016-06-26 12:48:59 +03:00
Sergey Yagovtsev
5f96b6403c
Remove abs path
2016-06-10 23:45:21 +03:00
Sergey Yagovtsev
6d94573403
Add percent column
2016-05-06 00:30:31 +03:00
Sergey Yagovtsev
dfa583f410
Simple tree view
2016-05-01 23:32:46 +03:00
Sergey Yagovtsev
3d2ed40f54
add profiler gui
2016-04-29 16:13:32 +03:00