Skip to content
This repository has been archived by the owner on Dec 3, 2019. It is now read-only.

[trace-viewer] Stack Sampling Summary view using a Tree View + Call Stacks #1233

Closed
fmeawad opened this issue Aug 11, 2015 · 2 comments
Closed
Assignees

Comments

@fmeawad
Copy link
Contributor

fmeawad commented Aug 11, 2015

Historically, the stack samples summary view was not in use because we combined the stack samples into slices to construct what would be a normal slice representation (i.e. sync slices hierarchy as described in the #622). This construction was confusing more than helpful as it it did not come from real trace events.

The second attempt was to use a sunburst chart in the Analysis panel, which at hindsight seemed like a good idea, but practically, but again it was confusing as it did not allow for any easy association and debugging.

The Suggestion is to have a Tree View, the tree view will represent the slices in a top-down as well as a bottom up view. For each selection on the Tree view, the Call Stacks part will display all the possible call stacks leading to the selected node in the tree.
A prototype taken form @paulirish, as follow:
stacksamplessummaryprototype

A sample Implementation of the Tree View part as follow:
prototypeimplementation
(The code for that prototype can be found here. which was based on an older version of trace-viewer.

Challenges (some of these challenges might already have been addressed):

  • We need to transform Stack Samples transformed into a Tree. Where each node in the tree represents a Stack Frame with a parent, set of children and a samples count. The Tree should be accessible by any visualization (for example, can be accessed by the Tree View as well as the Sunburst)
  • Split all data specific code from the current sunburst implementation and make it work Top-Down as well as Bottom Up.
  • We need to generalize the tab system in the analysis view to allow for sub tabs.
  • Construct the visualization needed for the Call Stacks.
@natduca natduca added this to the Perf Insights Alpha milestone Aug 11, 2015
dj2 added a commit that referenced this issue Aug 31, 2015
This CL updates the name of the sampling summary file to be
sampling_summary_panel to correctly match the name of the contained
class.

BUG=#1233
[email protected]

Review URL: https://codereview.chromium.org/1310493005
dj2 added a commit that referenced this issue Sep 1, 2015
This CL updates the code to use a tree view instead of the sunburst in order
to display stack frames. This makes it a lot easier to view the frames and
see how the time has been used.

I've removed the sunburst_chart and the sortable_table code as they are no
longer used now that sampling_summary_panel has been removed.

BUG=#1233

Review URL: https://codereview.chromium.org/1315843003
@dj2
Copy link
Contributor

dj2 commented Sep 1, 2015

The removal of the sunburst and addition of a tree-view have now landed.

Currently the tree-view only displays in a bottom-up fashion. If we'd like top-down, we can file a separate bug to add.

I'm not sure I understand what the callstacks section is, what about closing this bug as complete and then if we decide we want callstacks we can open a new bug to track?

@fmeawad
Copy link
Contributor Author

fmeawad commented Sep 1, 2015

The call stacks is what appears on the right in the original bug. Which when selecting a tree node, would display all call stacks that can lead to that node.

Closing the bug. I agree that we should file separate bugs for call stacks and top-down.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants