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

Categories

(Core :: JavaScript: GC, enhancement)

55 Branch
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Performance P3
Tracking Status
firefox56 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(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]
bug1380967-minor-for-major

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 jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e029feccd0c0
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:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b292385f25f7621f56409342a964ce6c6973c7a4

bug 1380967:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9ee8ecd9aca1f72aa0c090c20ef9bd26f20a37e7

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=e029feccd0c06792ec5b623ba2c1343272c195ab&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=114435841&repo=mozilla-inbound
[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 jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/baa7949eb81f
Add a separate reason code for minor GC performed at the start of major GC r=sfink
Whiteboard: [qf] → [qf:p3]
https://hg.mozilla.org/mozilla-central/rev/baa7949eb81f
Status: NEW → RESOLVED
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.