Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User notes / bookmarks support #106

Open
cas4ey opened this issue Apr 25, 2018 · 1 comment
Open

User notes / bookmarks support #106

cas4ey opened this issue Apr 25, 2018 · 1 comment
Labels
feature implemented ui Issues related to profiler_gui

Comments

@cas4ey
Copy link
Collaborator

cas4ey commented Apr 25, 2018

Original message from @rationalcoder (see #91):

At my work, I am trying to enforce the practice of providing before-and-after profiling results of patches that claim to have made something faster, along with providing profiling results when claiming that something is slow in the first place. This is currently annoying, as a capture might be 10+ seconds long, with only a small portion of it containing an example of the issue.

I would like the ability to select a region and be able to export only it into a smaller .prof file. In addition, I would like to be able to add notes at certain time-stamps. That would be useful if, for example, there are two or more frame spikes in question that are dependent on each other in some way.

Snapshots should contain the relevant FPS and user-defined metrics that are introduced in the future, so that notes can reference that data. In addition, snapshots should contain enough information for the GUI to reproduce at least the zoom level / vertical scroll % (to take you right to a problematic thread).

I imagine this being optional data defined to be stored after the usual contents of a .prof. That way, any additional overhead is only on the GUI side, where it doesn't matter.

The snapshot feature is implemented.
This issue is about adding user notes / bookmarks to the scene.

@cas4ey cas4ey added this to the Release v2.1.0 milestone Apr 25, 2018
@cas4ey cas4ey added the ui Issues related to profiler_gui label May 30, 2018
cas4ey added a commit that referenced this issue Jun 8, 2018
…licking 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).
@cas4ey
Copy link
Collaborator Author

cas4ey commented Jun 8, 2018

Use double-click on the timeline in Diagram widget to add/edit/remove bookmarks.
Bookmarks can be dragged over the timeline with left mouse button.
File needs to be saved after adding/editing/removing bookmarks.

cas4ey added a commit that referenced this issue Jun 13, 2018
cas4ey added a commit that referenced this issue Jun 13, 2018
…ding and restoring mouse cursor shape when hovering bookmark at the Diagram widget;

#0 [UI] Waiting until saving file is finished when closing the UI.
manimax3 added a commit to manimax3/easy_profiler that referenced this issue Jun 29, 2018
* yse#31 intermediate commit: added basic API for arbitrary values profiling. Still not working.

* yse#31 build fix

* yse#31 added arbitrary value id

* yse#75 Windows build

(cherry picked from commit ec720bf)

* #0 [Core] Added constexpr support macros and refactored extract_... functions

* yse#31 [Core] further work on arbitrary values

* #0 [Core] Rearranged include files

* #0 [Core] A lot of code refactoring

* #0 [Core][GUI] refactoring

* #0 [Core] refactoring

* #0 [Core] Windows build

* #0 Windows build

* #0 Build fix >:E

* yse#31 Single arbitrary values can be displayed in GUI as events + value converted to text

* #0 [GUI] Styling

* #0 [GUI] Styling

* #0 MSVC2013 build

* #0 [GUI] Warning fix: typo, forgotten return

* #0 [GUI] Styling

* yse#31 arbitrary value interface small refactoring

* #0 [GUI] Styling

* #0 [GUI] Styling

* #0 [GUI] Styling. Themes.

* #0 [GUI] Styling and optimization

* #0 [GUI] Windows styling and consterxpr fix for some Qt versions

* yse#81 [Core] Added an option to choose function names format

* yse#31 [GUI] Arbitrary values viewer progress

* #0 [GUI] Appearance progress

* yse#31 [GUI] Arbitrary values viewer progress

* #0 [GUI] Appearance

* #0 [GUI] HierarchyTree: Finally replaced colored rows with colored squares in front of block name. These squares can not be turned off from now.

* yse#31 [GUI] Arbitrary values viewer begin. Refactoring.

* yse#31 [Core] Fixed issue with storing arbitrary value while dumping. // [GUI] Further values viewer progress.

* Sample: build when SAMPLE_NETWORK_TEST is undefined

* minor refactoring

* yse#31 Basic arbitrary values viewer chart

* Windows build

* Older compiler build

* Older compiler build

* yse#75 [Core] No more waiting behavior when dumping blocks. Current solution resolves possible dead-lock but restricts any Events out of Frame bounds (You can see that the last event for LoadingResources thread in the profiler_sample is always absent).

* Install with include hierarhy

* yse#75 [Core] No waiting when dumping blocks. All events should now be stored properly.

* Release 2.0 further work. Intermediate commit.

* yse#31 [Gui] Big update for arbitrary values viewer. It is now viable and can be used to inspect user metrics. Currently arbitrary values viewer is built into blocks list widget.

* #0 [Gui] Saving dialog geometry; Added refresh button to arbitrary values widget; Fixed zoom-in algorithm

* yse#31 [Gui] Arbitrary values viewer bug fixes

* #0 [Gui] Large portion of refactoring; Replaced bunch of threads with thread pool; Small fixes for arbitrary values viewer

* #0 Updated copyright dates; [Gui] thread_pool.cpp MSVC build fix; [Core] Renamed getCurrentTime() to profiler::clock::now() + renamed profiler::currentTime() to profiler::now()

* #0 Simplified some lambdas

* yse#89 Trying to fix high-dpi displays problem

* yse#31 [Gui] Intermediate commit: implementing O(n) chart (kinda...) to be able to analyse algorithm complexity depending on certain arbitrary value

* yse#31 [Gui] Complexity charts for arbitrary value viewer

* yse#31 [Gui] Hide slider when displaying complexity chart

* yse#31 [Gui] Arbitrary values viewer: fixed performance problem, added icons for chart types

* yse#31 [Gui] Fixed mouse indicator for complexity chart; fixed buildTree(); added stub for future export values to .csv

* #0 [Gui] Fixed popup and double click on thread names on Diagram

* yse#31 [Gui] Fixed appox. line painting for complexity chart; Added export to .csv for regular chart type (timestamp;value);

* #0 [Gui] Paint background for current item for tree-widget

* Add math functions for calculation complexity

* yse#67 [Converter] Build fix after merging to release_2_0

* #0 [Gui] TreeView style fixes

* #0 [Gui] Thread pool fix: there was a possibility that not all tasks would be executed

* #0 [Gui] Added background jobs to thread pool and removed detached threads from code

* yse#31 [Gui] Implemented zoom for complexity chart mode; Implemented export to .csv for complexity mode

* #0 [Gui] Mac build fix

* #0 [Gui] Fixed typo

* #0 [Gui] Windows styling fix

* yse#31 [Core] Arbitrary values: replaced size_t with uint16_t; [Gui] Added support of arrays to arbitrary values tree

* #0 [Gui] Fixed hierarchy building for zero duration blocks - events and arbitrary values are always visible

* yse#31 [Gui] Double click on arbitrary value on the Diagram will open values viewer and will select appropriate arbitrary value

* yse#31 [UI] Open several arbitrary values viewer windows

* yse#31 [UI] Arbitrary values: fixed multi-window viewer

* yse#31 [UI] Highlight current selected block boundaries on arbitrary value chart

* yse#31 [UI] Fixed current block boundaries painting

* #0 [UI] Added viewport info widget. See [Settings] -> [See viewport info]

* yse#100 [UI] Implemented zoom-in button

* #0 [UI] Adjusted search boxes in Hierarchy widget and Blocks Descriptors Widget

* yse#31 [UI] Added arbitrary value tool-tip to Hierarchy tree widget (Try to move mouse cursor over Name column)

* yse#31 [UI] Added tooltip for arbitrary values to the Diagram

* yse#31 [UI] Amend. Forgotten files.

* #0 [UI] Diagram tool-tips fix: no tool-tips if mouse cursor is over another widget (opened settings for example)

* #0 [UI] Arbitrary value ToolTip styling fix; Viewport info fix;

* yse#48 [Core] Rearranged file header members order to minimize padding;
[Core] Changed version to 2.0.0;

* #0 Update README.md

* yse#67 [Converter] Rewrote json converter, arbitrary values would be added soon

* yse#91 [UI] Added snapshot tool stub; Working on saving blocks to file from UI

* yse#91 [UI] Snapshot feature further progress (intermediate commit)

* yse#91 [UI] Snapshot icon (actually called "crop")

* #0 [core] installing profiler_converter

* yse#91 [UI] .prof serializator (intermediate commit)

* yse#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.

* #0 [Sample] Rollback - profiler_sample is standalone again (do not need to connect gui)

* #0 Update readme

* #0 Added new UI image to README.md

* Update README.md

* #0 [Core] refactoring

* #0 [UI] refactoring

* #0 [Core] Windows build

* #0 [Core] refactoring

* #0 [Core] findRange() fix for writeTreesToStream()

* #0 [Core] fixed typo

* yse#108 fix [Core] clang build for arbitrary values

* #0 [UI] Tooltip fix

* yse#89 [UI] High DPI displays fix + System scaling factor

* # [UI] Styles and refactoring

* #0 [UI] UI styles

* #0 [Misc] modified gitignore

* #0 [UI] Style

* #0 [UI] refactoring

* #0 [UI] Fixed zooming for charts (histogram, arbitrary value) with mouse wheel

* #0 [Misc] Update README.md

* #0 Updated image in README.md

* yse#106 [Core][UI] Added possibility to add user bookmarks with double-clicking on a timeline in the Diagram window.
yse#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).

* yse#106 [UI] Rising a tooltip when passing cursor over a bookmark; #0 [UI] Minor fixes

* yse#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.

* Update README.md

* Update README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature implemented ui Issues related to profiler_gui
Projects
None yet
Development

No branches or pull requests

1 participant