Bug 10583 - buildstats.bbclass + pybootchart: record and render system utilization statistics
Summary: buildstats.bbclass + pybootchart: record and render system utilization statis...
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 2.3
Hardware: x86 Multiple
: Medium+ enhancement
Target Milestone: 2.3 M1
Assignee: Patrick Ohly
QA Contact: Juan Ramos
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-11-02 14:54 UTC by Patrick Ohly
Modified: 2016-12-14 21:22 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Ohly 2016-11-02 14:54:18 UTC
To understand where bottlenecks are it is useful to have graphs of CPU, RAM and disk bandwidth utilization during the entire build. In addition, when using rm_work.bbclass, the currently consumed disk space is also interesting.

These values need to be sampled at regular time intervals. Small intervals yield more detailed information, but also consume more disk space.

Code is available: https://github.com/pohly/poky/commits/rmwork

Open questions: should sampling be active by default when buildstats.bbclass is active? How often should be sampled? Is further work needed to reduce the disk space required to store the samples (which would be possible)?
Comment 1 Patrick Ohly 2016-11-08 16:27:33 UTC
RP suggested that sampling should be active by default. The bitbake heartbeat patch needs further work to make the interval configurable and should default to 1s (BB_HEARTBEAT_EVENT = "1.0"). Allowing time units was considered, with no clear consensus (it would be nicer, but there's no established standard for it). When recording by default, some additional work to lower the amount of stored data and thus the required parsing time would be useful.
Comment 2 Patrick Ohly 2016-12-08 17:41:48 UTC
Merged into bitbake and OE-core master ("buildstats: add system state sampling"), with condensed data stored in data files and enabled by default when inheriting buildstats.bbclass.