From: denisova-ok Date: Tue, 15 Apr 2025 15:34:04 +0000 (+0300) Subject: buildstats.py: extend diskstats support for NVMe and flexible token count X-Git-Tag: uninative-4.8~698 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87a31bc4ca3661aae94cf43f3f579b02f4fb4923;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git buildstats.py: extend diskstats support for NVMe and flexible token count Added support for NVMe devices in the diskstats regex pattern to ensure stats are properly collected from devices like nvme0n1. Relaxed the check for the number of fields in /proc/diskstats from an exact match (14) to a minimum check (at least 14), to handle kernel variations and additional fields gracefully. Signed-off-by: denisova-ok Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/buildstats.py b/meta/lib/oe/buildstats.py index 1ffe679801c..359ad2a460a 100644 --- a/meta/lib/oe/buildstats.py +++ b/meta/lib/oe/buildstats.py @@ -66,7 +66,7 @@ class SystemStats: self.min_seconds = 1.0 - self.tolerance self.meminfo_regex = re.compile(rb'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)') - self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$') + self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+|nvme\d+n\d+.*)$') self.diskstats_ltime = None self.diskstats_data = None self.stat_ltimes = None @@ -94,7 +94,7 @@ class SystemStats: (b'MemTotal', b'MemFree', b'Buffers', b'Cached', b'SwapTotal', b'SwapFree')]) + b'\n') def _diskstats_is_relevant_line(self, linetokens): - if len(linetokens) != 14: + if len(linetokens) < 14: return False disk = linetokens[2] return self.diskstats_regex.match(disk)