New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 850508 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Record GC phase durations in UMA

Project Member Reported by u...@chromium.org, Jun 7 2018

Issue description

For garbage collections that take long time (e.g. more than 10ms or 50ms) it would be useful to record how much time each phase takes.

This would allows use to diagnose problems and find optimizations.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 8 2018

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

commit 7a9e3ec98d5b0ee6f61a066369935bea17a95bb0
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Fri Jun 08 14:23:09 2018

[heap] Record histograms for Mark-Compact phases.

This adds the following histograms recorded corresponding to
V8.GCFinalizeMC phases:
- V8.GCFinalizeMC.Clear
- V8.GCFinalizeMC.Epilogue
- V8.GCFinalizeMC.Evacuate
- V8.GCFinalizeMC.Finish
- V8.GCFinalizeMC.Mark
- V8.GCFinalizeMC.Prologue
- V8.GCFinalizeMC.Sweep

Bug: chromium:850508
Change-Id: I47adc125a9a28436d09e35db68a8e8198cbee2dd
Reviewed-on: https://chromium-review.googlesource.com/1091311
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53614}
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/src/counters.h
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/src/heap-symbols.h
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/src/heap/gc-tracer.cc
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/src/heap/gc-tracer.h
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/src/heap/heap.cc
[modify] https://crrev.com/7a9e3ec98d5b0ee6f61a066369935bea17a95bb0/test/unittests/heap/gc-tracer-unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 8 2018

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

commit 65ba1cb618e5c50120f3a4be84ade22858449726
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Fri Jun 08 15:31:45 2018

Fix jumbo build after 7a9e3ec

Bug: chromium:850508

Tbr: mlippautz@chromium.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I99adf68c4b3e26decf3b68c8062ce74cbf27874d
Reviewed-on: https://chromium-review.googlesource.com/1093071
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53615}
[modify] https://crrev.com/65ba1cb618e5c50120f3a4be84ade22858449726/test/unittests/heap/gc-tracer-unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 8 2018

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

commit 7f442da6d82bc9348ae52660bf6d0f7791be0e63
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Fri Jun 08 15:46:44 2018

Fix Linux64_TSAN-concurrent_marking bot after 7a9e3ec

The mock histogram functions cannot be cleared and can be called on
isolate tear down if incremental marking is in progress.

Bug: chromium:850508
Tbr: mlippautz@chromium.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I99e52aaa81c863f71e195aeed691b37da9e71da6
Reviewed-on: https://chromium-review.googlesource.com/1093073
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53616}
[modify] https://crrev.com/7f442da6d82bc9348ae52660bf6d0f7791be0e63/test/unittests/heap/gc-tracer-unittest.cc

Comment 4 by u...@chromium.org, Jun 11 2018

After offline discussion we decided to record phases for all GCs, not only for slow GCs. That simplifies statistical reasoning.
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 13 2018

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

commit 9a94c1e20ca591be29c325410f3efb13ee62c6a5
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Wed Jun 13 09:35:12 2018

Add V8's Mark-Compact GC phase histograms to histograms.xml

This adds the following histograms:
- V8.GCFinalizeMC.Clear
- V8.GCFinalizeMC.Epilogue
- V8.GCFinalizeMC.Evacuate
- V8.GCFinalizeMC.Finish
- V8.GCFinalizeMC.Mark
- V8.GCFinalizeMC.Prologue
- V8.GCFinalizeMC.Sweep

The CL also cleans up the description of other V8.GCFinalizeMC*
histograms.

Bug: chromium:850508
Change-Id: I069105809393d16ee09aa7c75ddaf5dec6c9d8e6
Reviewed-on: https://chromium-review.googlesource.com/1095156
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566775}
[modify] https://crrev.com/9a94c1e20ca591be29c325410f3efb13ee62c6a5/tools/metrics/histograms/histograms.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 27 2018

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

commit cdbad363dc8b00176f1dba932efeb715dc30199d
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Wed Jun 27 09:08:35 2018

Add the missing Mark-Compact GC phase histogram.

This adds V8.GCFinalizeMC.Evacuate histogram that was not included in
the previous CL by mistake:
https://chromium-review.googlesource.com/c/chromium/src/+/1095156

Bug: chromium:850508
Change-Id: I309e6de32ae64cdd727480b014ad533920709512
Reviewed-on: https://chromium-review.googlesource.com/1105817
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570706}
[modify] https://crrev.com/cdbad363dc8b00176f1dba932efeb715dc30199d/tools/metrics/histograms/histograms.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 5

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

commit 1d1d4d21e08fede1eb3e561a2fff788efc3bbe87
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Sep 04 18:57:11 2018

[heap] Record UMA for Scavenger sub phases

Reocord UMA counters for the following phases:
- Scavenging roots
- Scavenging object graph in parallel

Bug: chromium:850508
Change-Id: I07210271179ce6801ea6daf3b486b4ce237a3261
Reviewed-on: https://chromium-review.googlesource.com/1199302
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55619}
[modify] https://crrev.com/1d1d4d21e08fede1eb3e561a2fff788efc3bbe87/src/counters.h
[modify] https://crrev.com/1d1d4d21e08fede1eb3e561a2fff788efc3bbe87/src/heap/gc-tracer.cc
[modify] https://crrev.com/1d1d4d21e08fede1eb3e561a2fff788efc3bbe87/src/heap/gc-tracer.h
[modify] https://crrev.com/1d1d4d21e08fede1eb3e561a2fff788efc3bbe87/src/heap/heap.cc
[modify] https://crrev.com/1d1d4d21e08fede1eb3e561a2fff788efc3bbe87/test/unittests/heap/gc-tracer-unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 5

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

commit c7054ddd2b103c0585ac7cf200379876eccb76a6
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Sep 04 19:39:58 2018

histograms: Add histograms for sub phases in V8 scavenge

V8 CL: https://chromium-review.googlesource.com/c/v8/v8/+/1199302

Bug: chromium:850508
Change-Id: I8da6cd6a9b939d2ced1f6ffa298fba5400ae0d3d
Reviewed-on: https://chromium-review.googlesource.com/1199384
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588618}
[modify] https://crrev.com/c7054ddd2b103c0585ac7cf200379876eccb76a6/tools/metrics/histograms/histograms.xml

Sign in to add a comment