Closed Bug 1264703 Opened 8 years ago Closed 8 years ago

Add "configure" as a tier for build metrics

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox48 fixed)

RESOLVED FIXED
mozilla48
Tracking Status
firefox48 --- fixed

People

(Reporter: chmanchester, Assigned: chmanchester)

References

Details

Attachments

(1 file)

Not sure exactly how complicated this will be, but it would be very nice to be able to chart progress as we move more things out of configure.
The tricky part is that configure is run from client.mk, and all the tier tracking stuff is in Makefiles.

I guess one way to deal with it is to add some manual BUILDSTATUS echos in client.mk, and make the mach logic reading that handle the fact that we'd want to add tiers later on, because you won't have the full list of tiers before running configure.
Hm, it looks like the mach code reading tiers already doesn't mind if you call TIERS multiple times. At least, the output locally looks fine, checking on try now...
So the obvious place to put this is around https://dxr.mozilla.org/mozilla-central/rev/21bf1af375c1fa8565ae3bb2e89bd1a0809363d4/client.mk#381, which ends up including backend generation, which we do care about, but might not be exactly what's expected from a number called "configure".
I would expect "configure" to include backend generation.
This adds a "tier" to build status that measures the time to run configure
and config.status.

Review commit: https://reviewboard.mozilla.org/r/46579/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/46579/
Attachment #8741570 - Flags: review?(gps)
Comment on attachment 8741570 [details]
MozReview Request: Bug 1264703 - Add configure as a tier to build metrics. r=gps

https://reviewboard.mozilla.org/r/46579/#review43249

There is some wonkiness with this patch. But I don't think it is anything too worrying.

::: client.mk:370
(Diff revision 1)
>  ifdef FOUND_MOZCONFIG
>  	-cp $(FOUND_MOZCONFIG) $(OBJDIR)/.mozconfig
>  endif
>  
>  configure:: $(configure-preqs)
> +	$(call BUILDSTATUS,TIERS configure)

I'm kinda surprised that outputting the TIERS line multiple times has the desired effect! I would think last write would win.

One weird thing this patch does is make the tier "progress" footer appear during configure. Before, there was an empty line at the bottom of the terminal during configure. What makes it weird is that during configure you only see a "configure" entry in the progress bar. Once configure finishes, the other tiers appear.

The next build, the "configure" tier never appears because the configure target from client.mk is never evaluated.

That's kinda wonky. But I don't think it matters that much. Although, in automation we'll have some builds that don't run the configure tier. Not sure if that will confuse things. Hopefully not.
Attachment #8741570 - Flags: review?(gps) → review+
https://hg.mozilla.org/mozilla-central/rev/5b8ad9b00488
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.