Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Issue 2737083003: [tools/profview] Add individual function timeline view (Closed)

Created:
3 years, 9 months ago by Leszek Swirski
Modified:
3 years, 9 months ago
Reviewers:
Jarin
CC:
v8-reviews_googlegroups.com, mythria, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[tools/profview] Add individual function timeline view Adds a bar below the current timeline view which can show the time when an individual function was on the stack. Functions in the call stack are now clickable to show them in this view. Sections where the function was on the stack, but not at the top, are displayed at half height. Review-Url: https://codereview.chromium.org/2737083003 Cr-Commit-Position: refs/heads/master@{#43673} Committed: https://chromium.googlesource.com/v8/v8/+/65a07b7a109dfda09ba6fbfd100ac653bcc9d982

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix line lengths #

Patch Set 3 : Rebase #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -77 lines) Patch
M tools/profview/index.html View 1 chunk +3 lines, -0 lines 0 comments Download
M tools/profview/profile-utils.js View 1 6 chunks +60 lines, -5 lines 1 comment Download
M tools/profview/profview.css View 1 chunk +5 lines, -0 lines 0 comments Download
M tools/profview/profview.js View 1 2 17 chunks +132 lines, -72 lines 1 comment Download

Messages

Total messages: 16 (8 generated)
Leszek Swirski
Jaro, I've added a single function's timeline display to profview, could you take a look ...
3 years, 9 months ago (2017-03-08 14:11:52 UTC) #2
Jarin
Ha, this exactly what I wanted to do, you are awesome! lgtm. https://codereview.chromium.org/2737083003/diff/1/tools/profview/profile-utils.js File tools/profview/profile-utils.js ...
3 years, 9 months ago (2017-03-08 14:25:56 UTC) #3
Leszek Swirski
https://codereview.chromium.org/2737083003/diff/1/tools/profview/profile-utils.js File tools/profview/profile-utils.js (right): https://codereview.chromium.org/2737083003/diff/1/tools/profview/profile-utils.js#newcode269 tools/profview/profile-utils.js:269: this.tree = { name : "root", codeId: -1, children ...
3 years, 9 months ago (2017-03-08 14:32:40 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2737083003/20001
3 years, 9 months ago (2017-03-08 14:32:53 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: v8_android_arm_compile_rel on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_android_arm_compile_rel/builds/33739) v8_linux64_asan_rel_ng on master.tryserver.v8 (JOB_FAILED, ...
3 years, 9 months ago (2017-03-08 14:34:05 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2737083003/40001
3 years, 9 months ago (2017-03-08 14:40:23 UTC) #12
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/v8/v8/+/65a07b7a109dfda09ba6fbfd100ac653bcc9d982
3 years, 9 months ago (2017-03-08 15:03:29 UTC) #15
Jarin
3 years, 9 months ago (2017-03-08 16:35:56 UTC) #16
Message was sent while issue was closed.
Some additional thoughts.

https://codereview.chromium.org/2737083003/diff/40001/tools/profview/profile-...
File tools/profview/profile-utils.js (right):

https://codereview.chromium.org/2737083003/diff/40001/tools/profview/profile-...
tools/profview/profile-utils.js:403: (topOfStack !== -1 && stack[topOfStack] ===
this.functionCodeId);
This will not quite work for optimized code because there might be several
optimized code objects for one function (and we do count them together). We
likely want to match on funcId if the code is optimized function.

https://codereview.chromium.org/2737083003/diff/40001/tools/profview/profview.js
File tools/profview/profview.js (right):

https://codereview.chromium.org/2737083003/diff/40001/tools/profview/profview...
tools/profview/profview.js:833: generateTree(file, 0, Infinity,
codeIdProcessor);
One thought: for delayed expansions we already have the list of frames where the
function occurred. If we kept the list around, we could use it to display the
function active regions. That should be much faster then walking all the ticks
(even though in my experience, the walk over the ticks is quite fast). In fact,
it should be fast enough to display  the function on mouse hover.

Powered by Google App Engine
This is Rietveld 408576698