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

Issue 1149673002: Adding blink gc memory dump infrastructure for thread specific dumps. (Closed)

Created:
5 years, 7 months ago by ssid
Modified:
5 years, 6 months ago
CC:
blink-reviews, picksi1, petrcermak, oilpan-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Adding blink gc memory dump infrastructure for thread specific dumps. This CL adds infrastructure to dump memory stats from blink GC. A snapshot is stored after each GC and is merged into the given memory dump at the time of dump request (from MemoryDumpManager). BUG=490087 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197635

Patch Set 1 #

Patch Set 2 : Fixing dump name. #

Total comments: 22

Patch Set 3 : Addressing comments. #

Patch Set 4 : Few nits. #

Total comments: 8

Patch Set 5 : Rebasing for primiano's future changes. #

Total comments: 22

Patch Set 6 : Moving the dump provider impl. #

Patch Set 7 : Fixing nits. #

Total comments: 20

Patch Set 8 : Moving the last dump to dump provider. #

Patch Set 9 : Fixing nits. #

Total comments: 18

Patch Set 10 : Fixing nits. #

Total comments: 13

Patch Set 11 : Making changes for forced GC. #

Total comments: 10

Patch Set 12 : Adding suggested comments. #

Patch Set 13 : Fixing tests (moving dump->clear to collectGarbage). #

Patch Set 14 : Rebase. #

Patch Set 15 : Adding a check for number of heaps reported. #

Patch Set 16 : Test fix. #

Patch Set 17 : Build fix. #

Patch Set 18 : Fixing android. #

Patch Set 19 : Rebase. #

Patch Set 20 : Rebase and replacing main thread with thread id. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -10 lines) Patch
M Source/platform/exported/Platform.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -7 lines 0 comments Download
M Source/platform/heap/BlinkGCMemoryDumpProvider.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +14 lines, -0 lines 0 comments Download
M Source/platform/heap/BlinkGCMemoryDumpProvider.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +18 lines, -2 lines 0 comments Download
M Source/platform/heap/Heap.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 5 chunks +20 lines, -0 lines 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +27 lines, -1 line 0 comments Download

Messages

Total messages: 47 (16 generated)
ssid
PTAL.
5 years, 7 months ago (2015-05-20 16:03:52 UTC) #2
Primiano Tucci (use gerrit)
OK this seems going in the right direction. Adding some comments here (some of them ...
5 years, 7 months ago (2015-05-21 09:56:34 UTC) #3
ssid
Made changes necessary and added comments. https://codereview.chromium.org/1149673002/diff/20001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/1149673002/diff/20001/Source/platform/heap/Heap.cpp#newcode218 Source/platform/heap/Heap.cpp:218: void BaseHeap::snapshotMemory(WebProcessMemoryDump* memoryDump, ...
5 years, 7 months ago (2015-05-21 11:38:56 UTC) #4
petrcermak
Just 3 small comments/suggestions. Thanks, Petr https://codereview.chromium.org/1149673002/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/1149673002/diff/60001/Source/platform/heap/Heap.cpp#newcode229 Source/platform/heap/Heap.cpp:229: for (BasePage* page ...
5 years, 7 months ago (2015-05-21 13:15:57 UTC) #6
picksi
Looks good. I agree with Petr's moving the pageCount++ into the loop. https://codereview.chromium.org/1149673002/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp ...
5 years, 7 months ago (2015-05-21 15:33:49 UTC) #8
ssid
Addressed all comments except for adding two dumps, one for updating and one for swapping. ...
5 years, 7 months ago (2015-05-21 16:55:28 UTC) #9
Primiano Tucci (use gerrit)
Some comments after our long offline discussion. MultiThreading is tough but, if our understandings are ...
5 years, 7 months ago (2015-05-21 18:43:10 UTC) #10
ssid
Looks like a different CL now :) PTAL. https://codereview.chromium.org/1149673002/diff/80001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/1149673002/diff/80001/Source/platform/heap/Heap.cpp#newcode218 Source/platform/heap/Heap.cpp:218: void ...
5 years, 7 months ago (2015-05-22 13:34:07 UTC) #11
Primiano Tucci (use gerrit)
Sorry for the long backs and forths, I think we are close. I know this ...
5 years, 7 months ago (2015-05-22 15:50:21 UTC) #12
ssid
Moving the object to dump provider sounds good. Regarding registering the dump provider, it is ...
5 years, 7 months ago (2015-05-22 16:05:16 UTC) #13
ssid
Made changes. PTAL. https://codereview.chromium.org/1149673002/diff/120001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/1149673002/diff/120001/Source/platform/heap/Heap.cpp#newcode1673 Source/platform/heap/Heap.cpp:1673: if (s_lastProcessMemoryDump) { On 2015/05/22 15:50:21, ...
5 years, 7 months ago (2015-05-22 17:17:10 UTC) #14
Primiano Tucci (use gerrit)
LGTM from my side with some final nits, thanks for the patience, I think we ...
5 years, 7 months ago (2015-05-22 19:45:58 UTC) #15
ssid
Made changes, can we add haraken? https://codereview.chromium.org/1149673002/diff/160001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp File Source/platform/heap/BlinkGCMemoryDumpProvider.cpp (right): https://codereview.chromium.org/1149673002/diff/160001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp#newcode29 Source/platform/heap/BlinkGCMemoryDumpProvider.cpp:29: WebMemoryAllocatorDump* allocatorDump = ...
5 years, 7 months ago (2015-05-26 11:08:43 UTC) #16
Primiano Tucci (use gerrit)
+haraken for the next level up :) LGTM from my side with some final small ...
5 years, 7 months ago (2015-05-26 11:24:06 UTC) #18
haraken
https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp File Source/platform/heap/BlinkGCMemoryDumpProvider.cpp (right): https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp#newcode36 Source/platform/heap/BlinkGCMemoryDumpProvider.cpp:36: // If available, the last GC memory statistics are ...
5 years, 7 months ago (2015-05-26 12:22:00 UTC) #19
Primiano Tucci (use gerrit)
Thanks for the low-latency reply Kentaro! See my comments inline. https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp File Source/platform/heap/BlinkGCMemoryDumpProvider.cpp (right): https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp#newcode36 ...
5 years, 7 months ago (2015-05-26 14:18:03 UTC) #20
haraken
On 2015/05/26 14:18:03, Primiano Tucci wrote: > Thanks for the low-latency reply Kentaro! > See ...
5 years, 7 months ago (2015-05-26 15:16:06 UTC) #21
ssid
Made changes for forcing GC and taking snapshot. PTAL. https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp File Source/platform/heap/BlinkGCMemoryDumpProvider.cpp (right): https://codereview.chromium.org/1149673002/diff/180001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp#newcode54 Source/platform/heap/BlinkGCMemoryDumpProvider.cpp:54: ...
5 years, 7 months ago (2015-05-27 13:15:06 UTC) #24
ssid
Made changes for forcing GC and taking snapshot. PTAL.
5 years, 7 months ago (2015-05-27 13:15:07 UTC) #25
Primiano Tucci (use gerrit)
Looks good from the memory infra side with very minor comments (mostly comments on comments ...
5 years, 7 months ago (2015-05-27 14:19:31 UTC) #26
ssid
Made changes, PTAL https://codereview.chromium.org/1149673002/diff/240001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp File Source/platform/heap/BlinkGCMemoryDumpProvider.cpp (right): https://codereview.chromium.org/1149673002/diff/240001/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp#newcode29 Source/platform/heap/BlinkGCMemoryDumpProvider.cpp:29: Heap::collectGarbage(ThreadState::NoHeapPointersOnStack, ThreadState::TakeSnapshot, Heap::ForcedGC); On 2015/05/27 14:19:30, ...
5 years, 6 months ago (2015-05-27 14:39:34 UTC) #27
haraken
LGTM
5 years, 6 months ago (2015-05-28 12:08:33 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1149673002/260001
5 years, 6 months ago (2015-05-28 12:33:19 UTC) #31
ssid
On 2015/05/28 12:33:19, commit-bot: I haz the power wrote: > CQ is trying da patch. ...
5 years, 6 months ago (2015-06-09 20:41:20 UTC) #33
Primiano Tucci (use gerrit)
On 2015/06/09 20:41:20, ssid wrote: > On 2015/05/28 12:33:19, commit-bot: I haz the power wrote: ...
5 years, 6 months ago (2015-06-10 22:36:27 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1149673002/420001
5 years, 6 months ago (2015-06-17 15:09:33 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1149673002/440001
5 years, 6 months ago (2015-06-23 07:40:25 UTC) #42
commit-bot: I haz the power
Committed patchset #20 (id:440001) as https://src.chromium.org/viewvc/blink?view=rev&revision=197635
5 years, 6 months ago (2015-06-23 07:44:00 UTC) #43
xhwang
Just synced and I am getting this assert: ASSERTION FAILED: m_currentProcessMemoryDump ../../third_party/WebKit/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp(57) : blink::BlinkGCMemoryDumpProvider::BlinkGCMemoryDumpProvider()
5 years, 6 months ago (2015-06-23 17:31:54 UTC) #45
Primiano Tucci (use gerrit)
I am without a laptop now, but I am pretty sure that fadi Samuel (fsamuel@ ...
5 years, 6 months ago (2015-06-23 17:53:20 UTC) #46
Primiano Tucci (use gerrit)
5 years, 6 months ago (2015-06-23 17:53:31 UTC) #47
Message was sent while issue was closed.
On 2015/06/23 17:31:54, xhwang wrote:
> Just synced and I am getting this assert:
> 
> ASSERTION FAILED: m_currentProcessMemoryDump
>
../../third_party/WebKit/Source/platform/heap/BlinkGCMemoryDumpProvider.cpp(57)
> : blink::BlinkGCMemoryDumpProvider::BlinkGCMemoryDumpProvider()
I am without a laptop now, but I am pretty sure that fadi Samuel (fsamuel@ iirc)
landed a fix in blink very recently. maybe you just need it to roll (look at
blink tot, it was a one line change removing the assert )

Powered by Google App Engine
This is Rietveld 408576698