Closed Bug 1567954 Opened 5 years ago Closed 5 years ago

Implement mozpower module for power testing

Categories

(Testing :: Performance, task, P1)

Version 3
task

Tracking

(firefox70 fixed)

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: sparky, Assigned: sparky)

References

(Blocks 1 open bug)

Details

Attachments

(4 files, 1 obsolete file)

This bug is for implementing the mozpower module for power testing following this proposal: https://docs.google.com/document/d/1bpDj9-PB81pkbV79ArMYWsBe3we_HcGc7SWNxdlf2WI/edit?usp=sharing

The first steps are to build up the basic functionality, and implement functionality for power testing on mac (intel-based) reference hardware.

Attached patch mozpower.patch (obsolete) — Splinter Review

This patch has the initial work of the mozpower module (it will be split into multiple patches for review). This initial work shows how the power measurements are gathered (in IntelPowerGadget) and parsed into perfherder data blobs. Note how we start and stop IntelPowerGadget so that we can measure power usage in tests whose duration is variable - these measurements are merged at the end of the experiment.

Raptor tests are being used to test this module at the moment so this tool outputs per-test perfherder data for each test (raptor-tp6-1-amazon, raptor-tp6-1-facebook, etc. for raptor-tp6-1). The data output is CPU utilization, and, if it's there, GPU utilization as well as power-consumed by the DRAM, CPU Package, CPU Cores, and GPU.

Blocks: 1525804

This patch initializes the Mozpower module and implements the PowerBase class. This class is used as a base for subclasses that implement power measurement tooling for various OS and CPU combinations.

This patch implements IntelPowerGadget and IPGResultsHandler for the Mozpower module. These classes handle data generation with Intel Power Gadget as well as cleaning the data and formatting it into the PERFHERDER_DATA format.

Depends on D39191

This patch implements the MacIntelPower class in the Mozpower module. It is used for power measurement testing on Mac Intel-based machines using Intel Power Gadget.

Depends on D39192

This patch implements the MozPower class in the Mozpower module which is the interface for the user to use the power measurement tooling. It primarily detects the user's OS and CPU combination and provides the appropriate methods for them.

Depends on D39193

Attachment #9079771 - Attachment is obsolete: true

Along with these 4 parts, a 5th part is incoming which will contain this module's tests.

The tests are implemented now, and passing on Windows, MacOS, and Linux on both python 2 and 3 (ignore the flake8 failure, it has been fixed): https://treeherder.mozilla.org/#/jobs?repo=try&selectedJob=259412081&revision=2778672d77097c3e872d98ff7f6a259546f404e7

Pushed by gmierz2@outlook.com:
https://hg.mozilla.org/integration/autoland/rev/e067cbbbe4d4
Part 1: Initialize Mozpower module and implement PowerBase class. r=perftest-reviewers,ahal,rwood
https://hg.mozilla.org/integration/autoland/rev/d2a56641f494
Part 2: Implement IntelPowerGadget and IPGResultsHandler classes in the Mozpower module. r=perftest-reviewers,rwood
https://hg.mozilla.org/integration/autoland/rev/a5e9a5a94341
Part 3: Implement MacIntelPower class in the Mozpower module. r=perftest-reviewers,rwood,alexandru.irimovici
https://hg.mozilla.org/integration/autoland/rev/ae743d95f220
Part 4: Implement MozPower class in the Mozpower module. r=perftest-reviewers,rwood
Blocks: 1575053
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: