Closed Bug 1380967 Opened 5 years ago Closed 5 years ago

Telemetry doesn't distinguish minor GC at start of major GC and between slices


(Core :: JavaScript: GC, enhancement)

55 Branch
Not set



Performance P3
Tracking Status
firefox56 --- fixed


(Reporter: jonco, Assigned: jonco)



(1 file)

GC_SLOW_PHASE telemetry is there to tell us what the slowest part of a major GC was.

Currently the top reason is EVICT_NURSERY.  But this doesn't tell us much because we don't know whether this is due to the minor GC we do at the start of major GC or whether there are lots of minor GCs running between slices (hopefully it's the latter).

We should split off minor GC at the start of major GC into its own reason and only report reasons that are related to major GC as part of GC_SLOW_PHASE.
Attachment #8886547 - Flags: review?(sphink)
Whiteboard: [qf]
Comment on attachment 8886547 [details] [diff] [review]

Review of attachment 8886547 [details] [diff] [review]:

Ouch, yeah, this is important.

Why do I have the feeling that our assumption isn't holding very well that minor GCs are fast and rarely exceed 1ms?
Attachment #8886547 - Flags: review?(sphink) → review+
Pushed by
Add a separate reason code for minor GC performed at the start of major GC r=sfink
Backed out bug 1380967 and bug 1380387 for Linux cgc failure in js1_8_5/extensions/collect-gray.js:

bug 1380387:

bug 1380967:

Push with failure:
Failure log:
[task 2017-07-14T18:39:30.558405Z] ## js1_8_5/extensions/collect-gray.js: rc = 3, run time = 0.297144
[task 2017-07-14T18:39:30.558481Z] 1337209: Test gray marking
[task 2017-07-14T18:39:30.558546Z] js1_8_5/extensions/collect-gray.js:109:1 Error: Assertion failed: got "unmarked", expected "gray": black map, gray delegate => gray key
[task 2017-07-14T18:39:30.558579Z] Stack:
[task 2017-07-14T18:39:30.558616Z]   @js1_8_5/extensions/collect-gray.js:109:1
[task 2017-07-14T18:39:30.558660Z] TEST-UNEXPECTED-FAIL | js1_8_5/extensions/collect-gray.js | (args: "")
Flags: needinfo?(jcoppeard)
Flags: needinfo?(jcoppeard)
Pushed by
Add a separate reason code for minor GC performed at the start of major GC r=sfink
Whiteboard: [qf] → [qf:p3]
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Performance: --- → P3
Whiteboard: [qf:p3]
You need to log in before you can comment on or make changes to this bug.