Open Bug 1593085 Opened 6 years ago Updated 3 years ago

Improve background power usage in "raptor-scn-power-idle-bg-geckoview-%change-power pgo" test

Categories

(GeckoView :: General, defect, P3)

Unspecified
Android
defect

Tracking

(firefox72 affected)

Tracking Status
firefox72 --- affected

People

(Reporter: snorp, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [geckoview:m93?])

The perf team is doing some awesome work on measuring power usage in various scenarios. The one I'm really interested in is the idle background power usage. Graphs can be seen here: https://treeherder.mozilla.org/perf.html#/graphs?highlightAlerts=1&selected=NaN,2096692,581523,959158324&series=mozilla-central,2096692,1,10&timerange=1209600

Currently, we're using ~150% power compared to the baseline OS case. This is not good. The test only opens about:blank, so we can't blame any content issues.

See Also: → 1593610

James says this bug is specifically about reducing power usage in the "raptor-scn-power-idle-bg-geckoview-%change-power pgo" test.

@ Greg, is this still a problem? The day after James filed this bug, the GeckoView test started reporting power usage below the 100 baseline. James doesn't recall GeckoView didn't make any changes that should have affected power usage. How is the 100 baseline calculated?

Flags: needinfo?(gmierz2)
Summary: Improve background power usage → Improve background power usage in "raptor-scn-power-idle-bg-geckoview-%change-power pgo" test

We landed some fixes recently to an issue which caused the power-%change to be summed across all the measurements instead of averaged. So now it's correctly averaged. It was landed just before the push that is highlighted in this graph: https://treeherder.mozilla.org/perf.html#/graphs?highlightAlerts=1&selected=2099205,583182,1068.1794056454742,301.92012052616826&series=mozilla-central,2099205,1,10&timerange=5184000

Here's the bug which fixed the issue as well: https://bugzilla.mozilla.org/show_bug.cgi?id=1578487

It's been a while since I've looked/used this code, which you can find here - it's a little different from what I originally thought, I forgot about some changes we made to it (the calculation is described below): https://dxr.mozilla.org/mozilla-central/source/testing/raptor/raptor/power.py?q=power.py&redirect_type=direct#261

The baseline is calculated by gathering power usage for 1 minute with nothing running. Then, we also measure the time it took for the test to run. With that test time, we divide the test power usage by it to make the baseline and power usage both contain power usage from within a 1 minute interval. Next we do the %change calculation which is the following: %change = (100 * (test + baseline)/baseline) - 100.

Note that the 100 baseline is removed from the number so the 13-24% %change in the graph linked above in this comment, is 13-24% extra power used relative to the baseline. Also note that the test measurement is application-specific.

So, looking at the MotoG5 idle-bg test in the description comment, after the fixes we made, the %change is reporting approximately a 50% increase in power consumption relative to the OS baseline. The Pixel 2 is reporting around 13-24%.

Sorry for the confusion around this metric! I hope this explanation helps.

Flags: needinfo?(gmierz2)

High priority because GV should use no more power when idle compared to baseline.

Moto G5 is 50% worse. Pixel 2 is 13-24% worse. We don't know yet how idle Chrome compares.

Can we freeze chrome scripts?

Next step: profile idle GV to determine where we're using CPU.

Rank: 1
OS: All → Android
Priority: -- → P1
Priority: P1 → P2
Whiteboard: [geckoview:m76]
Whiteboard: [geckoview:m76]
Whiteboard: [geckoview:m88]
Whiteboard: [geckoview:m88] → [geckoview:m89]
Priority: P2 → P3
Whiteboard: [geckoview:m89] → [geckoview:m92]
Whiteboard: [geckoview:m92] → [geckoview:m92?]
Whiteboard: [geckoview:m92?] → [geckoview:m93?]
Severity: normal → S3
Rank: 1 → 333
You need to log in before you can comment on or make changes to this bug.