bug 1237619: Record build objects in resource_usage.json r=gps

Collecting the list of object files compiled, while not ideal, will give us
some indication of how much work was involved in the build. This will help
with analyzing the data.

--HG--
extra : rebase_source : e9861ed5c0766e3ee8038dbec0b9267022c523eb
This commit is contained in:
Dan Minor 2016-01-12 14:00:24 -05:00
parent 84c48e39bd
commit 30f2bba053
2 changed files with 8 additions and 0 deletions

View File

@ -902,6 +902,7 @@ $(HOST_COBJS):
$(HOST_CPPOBJS):
$(REPORT_BUILD)
$(call BUILDSTATUS,OBJECT_FILE $@)
$(ELOG) $(HOST_CXX) $(HOST_OUTOPTION)$@ -c $(HOST_CXXFLAGS) $(INCLUDES) $(NSPR_CFLAGS) $(_VPATH_SRCS)
$(HOST_CMOBJS):
@ -954,6 +955,7 @@ $(SOBJS):
$(CPPOBJS):
$(REPORT_BUILD)
$(call BUILDSTATUS,OBJECT_FILE $@)
@$(MAKE_DEPS_AUTO_CXX)
$(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS) $($(notdir $<)_FLAGS) $(TARGET_LOCAL_INCLUDES) $(_VPATH_SRCS)

View File

@ -171,6 +171,8 @@ class BuildMonitor(MozbuildObject):
self._warnings_collector = WarningsCollector(
database=self.warnings_database, objdir=self.topobjdir)
self.build_objects = []
def start(self):
"""Record the start of the build."""
self.start_time = time.time()
@ -215,6 +217,9 @@ class BuildMonitor(MozbuildObject):
elif action == 'TIER_FINISH':
tier, = args
self.tiers.finish_tier(tier)
elif action == 'OBJECT_FILE':
self.build_objects.append(args[0])
update_needed = False
else:
raise Exception('Unknown build status: %s' % action)
@ -381,6 +386,7 @@ class BuildMonitor(MozbuildObject):
cpu_percent=cpu_percent,
cpu_times=cpu_times,
io=io,
objects=self.build_objects
)
o['tiers'] = self.tiers.tiered_resource_usage()