Skip to content

system statistics sampling

Patrick Ohly openembedded-core 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest posting 2/211 patches 0 repliesNew
  2. v2 posting 1/24 patches 0 repliesSuperseded
  3. v111 patches 3 repliesSuperseded

Changes in v2 from the cover letter

- SystemStats instance survives between event handler calls by storing it in the corresponding datastore, instead of using a global variable, and open files get closed properly when the build ends. This should work better with memres bitbake (not tested, though, because of YOCTO #10741).
- Sampling now already starts when setscene tasks start to run.

Patches in v2 posting 2/2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11buildstats: add system state samplingmeta/classes/buildstats.bbclass meta/lib/buildstats.py+71 -00 replies
2/11pybootchartgui/draw.py: allow moving process chart up and downscripts/pybootchartgui/pybootchartgui/draw.py+1 -10 replies
3/11pybootchartgui/draw.py: fix drawing of samples not starting at zeroscripts/pybootchartgui/pybootchartgui/draw.py+1 -10 replies
4/11pybootchartgui: show system utilizationscripts/pybootchartgui/pybootchartgui/draw.py scripts/pybootchartgui/pybootchartgui/parsing.py+57 -200 replies
5/11pybootchartgui/draw.py: skip empty CPU and disk usage chartsscripts/pybootchartgui/pybootchartgui/draw.py+50 -480 replies
6/11buildstats: record disk space usagemeta/classes/buildstats.bbclass meta/lib/buildstats.py+19 -70 replies
7/11pybootchartgui/parsing.py: fix error handling in meminfo parserscripts/pybootchartgui/pybootchartgui/parsing.py+1 -10 replies
8/11pybootchartgui: render disk space usagescripts/pybootchartgui/pybootchartgui/draw.py scripts/pybootchartgui/pybootchartgui/parsing.py scripts/pybootchartgui/pybootchartgui/samples.py+99 -00 replies
9/11pybootchartgui: simplify drawing of memory usagescripts/pybootchartgui/pybootchartgui/draw.py scripts/pybootchartgui/pybootchartgui/parsing.py scripts/pybootchartgui/pybootchartgui/samples.py+23 -70 replies
10/11buildstats: reduce amount of data stored for system utilizationmeta/lib/buildstats.py+104 -100 replies
11/11pybootchartgui: support reading reduced /proc logsscripts/pybootchartgui/pybootchartgui/parsing.py+31 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH V2 00/11] system statistics sampling

buildstats.bbclass gets extended so that disk bandwidth and capacity, CPU and memory usage get sampled at regular time intervals by default. pybootchart had code for most of that data, which gets restored and re-enabled. The disk capacity graph is new.

The original pybootchart just stored raw dumps of the special files under /proc. bitbake builds run longer, so a more compact ("reduced") format is used.

Logging disk capacity was mostly motivated by some work on enhancing rm_work.bbclass behavior, but could also be useful for others ("how much free space did my build need").

Changes in V2:
- SystemStats instance survives between event handler calls by storing it in the corresponding datastore, instead of using a global variable, and open files get closed properly when the build ends. This should work better with memres bitbake (not tested, though, because of YOCTO #10741).
- Sampling now already starts when setscene tasks start to run.

The following changes since commit 9f1fe76727e98e58fc9e46ea2b49cf5c0cb48e6c:

libpcap: Fix build when PACKAGECONFIG ipv6 is not enable (2016-11-23 11:02:33 +0000)

are available in the git repository at:

git://github.com/pohly/openembedded-core buildstats
https://github.com/pohly/openembedded-core/tree/buildstats

Patrick Ohly (11):
buildstats: add system state sampling pybootchartgui/draw.py: allow moving process chart up and down pybootchartgui/draw.py: fix drawing of samples not starting at zero
pybootchartgui: show system utilization pybootchartgui/draw.py: skip empty CPU and disk usage charts
buildstats: record disk space usage pybootchartgui/parsing.py: fix error handling in meminfo parser
pybootchartgui: render disk space usage
pybootchartgui: simplify drawing of memory usage
buildstats: reduce amount of data stored for system utilization
pybootchartgui: support reading reduced /proc logs

 meta/classes/buildstats.bbclass                  |  24 +++
 meta/lib/buildstats.py                           | 153 ++++++++++++++++++
 scripts/pybootchartgui/pybootchartgui/draw.py    | 192 ++++++++++++++++-------
 scripts/pybootchartgui/pybootchartgui/parsing.py | 122 +++++++++++---
 scripts/pybootchartgui/pybootchartgui/samples.py |  27 ++++
 5 files changed, 440 insertions(+), 78 deletions(-)
 create mode 100644 meta/lib/buildstats.py
Signature · 1 line
2.1.4