New issue
Advanced search Search tips

Issue 889545 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Support timeline view for sampling heap profiles

Project Member Reported by alph@chromium.org, Sep 26

Issue description

Support the same UI as we have for instrumenting profiles.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e84ac697788d0c646e44efb2fb20487e080ba51

commit 7e84ac697788d0c646e44efb2fb20487e080ba51
Author: Alexei Filippov <alph@chromium.org>
Date: Tue Oct 02 17:09:42 2018

DevTools: Decouple HeapTimelineOverview from Profiler.HeapSnapshotView

BUG=889545

Change-Id: I880fae90be175883b70915e1d992ea00a4363cc4
Reviewed-on: https://chromium-review.googlesource.com/1252365
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595882}
[modify] https://crrev.com/7e84ac697788d0c646e44efb2fb20487e080ba51/third_party/blink/renderer/devtools/front_end/profiler/HeapSnapshotView.js
[modify] https://crrev.com/7e84ac697788d0c646e44efb2fb20487e080ba51/third_party/blink/renderer/devtools/front_end/profiler/HeapTimelineOverview.js

Project Member

Comment 3 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e06ada18c94e85030cc277e147dcbcf5c9200ddc

commit e06ada18c94e85030cc277e147dcbcf5c9200ddc
Author: Alexei Filippov <alph@chromium.org>
Date: Wed Oct 03 18:20:19 2018

[sampling profiler] replace samples std::set with unordered_map

unordered_map is supposedly faster on deleting items.

BUG=chromium:889545

Change-Id: Id92d9d663e8b9ab2978b8016ef5dccfc93dc104e
Reviewed-on: https://chromium-review.googlesource.com/1255554
Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com>
Commit-Queue: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56354}
[modify] https://crrev.com/e06ada18c94e85030cc277e147dcbcf5c9200ddc/src/profiler/sampling-heap-profiler.cc
[modify] https://crrev.com/e06ada18c94e85030cc277e147dcbcf5c9200ddc/src/profiler/sampling-heap-profiler.h

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4

commit e5b4229bd1167c26a5013a1f793dc1fc3b5324f4
Author: Alexei Filippov <alph@chromium.org>
Date: Thu Oct 18 20:50:15 2018

[heap profiler] Provide detailed samples information in heap profiler

Make heap profiler provide information about each sample currently
alive. That information can be used to build diagrams of memory
allocations over time.

BUG=chromium:889545

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ibcbe2f5302263d0b3976ee4cd3601eff11375cae
Reviewed-on: https://chromium-review.googlesource.com/c/1285130
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56793}
[modify] https://crrev.com/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4/include/v8-profiler.h
[modify] https://crrev.com/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4/src/api.cc
[modify] https://crrev.com/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4/src/profiler/sampling-heap-profiler.cc
[modify] https://crrev.com/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4/src/profiler/sampling-heap-profiler.h
[modify] https://crrev.com/e5b4229bd1167c26a5013a1f793dc1fc3b5324f4/test/cctest/test-heap-profiler.cc

Screenshot from 2018-10-22 14-56-49.png
152 KB View Download
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f03b3297196f1a20b0e82710dbc1e6752f3ffb66

commit f03b3297196f1a20b0e82710dbc1e6752f3ffb66
Author: Alexei Filippov <alph@chromium.org>
Date: Tue Oct 23 00:12:01 2018

[heap profiler] Plumb samples through the protocol.

BUG=chromium:889545

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ic00ffa9968cffaf2e20682e247747b5f7dc0f145
Reviewed-on: https://chromium-review.googlesource.com/c/1285394
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56874}
[modify] https://crrev.com/f03b3297196f1a20b0e82710dbc1e6752f3ffb66/src/inspector/js_protocol.json
[modify] https://crrev.com/f03b3297196f1a20b0e82710dbc1e6752f3ffb66/src/inspector/js_protocol.pdl
[modify] https://crrev.com/f03b3297196f1a20b0e82710dbc1e6752f3ffb66/src/inspector/v8-heap-profiler-agent-impl.cc
[modify] https://crrev.com/f03b3297196f1a20b0e82710dbc1e6752f3ffb66/test/inspector/heap-profiler/sampling-heap-profiler-expected.txt
[modify] https://crrev.com/f03b3297196f1a20b0e82710dbc1e6752f3ffb66/test/inspector/heap-profiler/sampling-heap-profiler.js

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/151594d0e007cdc808e83386ce436c7163c1a201

commit 151594d0e007cdc808e83386ce436c7163c1a201
Author: Alexei Filippov <alph@chromium.org>
Date: Thu Oct 25 21:48:56 2018

DevTools: Support time-based overview for sampling profiles.

The patch adds timeline overview into sampling profiles types.
During sampling recording it periodically requests current samples
and displays them on the overview with the bar chart.

After recording is complete it is possible to select a range and
check allocations stacks attributed to the range.

The new mode is put behind an experiment.

BUG=889545

Change-Id: I186a1869ee9e99d9431260e728ce122f38b1ea99
Reviewed-on: https://chromium-review.googlesource.com/c/1297280
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602872}
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/heap_profiler_test_runner/HeapProfilerTestRunner.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/main/Main.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/CPUProfileView.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/HeapProfileView.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/HeapTimelineOverview.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/ProfileView.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/ProfilesPanel.js
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/profiler/heapProfiler.css
[modify] https://crrev.com/151594d0e007cdc808e83386ce436c7163c1a201/third_party/blink/renderer/devtools/front_end/sdk/HeapProfilerModel.js

Sign in to add a comment