Now in inbound, |mach build| will record *system* resource usage during builds. You can later view the resource usage by running |mach resource-usage| (mach will tell you at the end of the build if you can run this).

The goal of this feature is to help people diagnose why builds are slow and how builds are changing over time. You should be able to easily see where CPU isn't at 100%, when I/O is slowing you down, when you are swapping, etc. We should eventually be able to use this information to tell you things like "your build could be faster if you had an SSD, more memory, or more CPU cores." (We previously rolled out similar resource monitoring to mozharness and hope to one day have builds and automation producing the same machine readable data format so we can reuse the HTML viewer to easily view resource usage of many different kinds of jobs. The goal here is to identify poor hardware resource efficiency so we can improve it.)

We only achieved the initial milestone by landing this feature. We still have a lot of work to do. Bug 901601 tracks enabling this on non-mach builds, which will start recording resource usage on automation infrastructure. Bug 907297 tracks making the HTML display better. Bug 892342 tracks making the resource monitor more accurate. These will all hopefully land in due time.

If you notice anything weird, please raise it in bug 883209 if it is critical or file a follow-up in Core :: Build Config.

The HTML display is currently pretty poor. I'm not a good web developer :) The HTML display is not part of the build, so I will rubber stamp pretty much any patch that improves it. Please scratch your own itches! Bug 907297 contains a list of suggested improvements.

For comparison purposes, [1] contains the output from a clobber build with empty ccache on my MBP. As you can see, there are large chunks of the build where we aren't CPU bound. Many of these are during recursive make traversal, which is one reason we're focusing on moving away from recursive make.

Finally, this is just a friendly reminder that if you build mozilla-central and you don't have a machine with at least 4 *physical* cores, 16 GB RAM, and an SSD, you should upgrade your hardware.

[1] https://people.mozilla.com/~gszorc/resources-references.png

Gregory
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to