From 5b74c7696485805d9b9ababc69cc569a227145ce Mon Sep 17 00:00:00 2001 From: denisova-ok Date: Tue, 15 Apr 2025 18:34:04 +0300 Subject: 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. (From OE-Core rev: 87a31bc4ca3661aae94cf43f3f579b02f4fb4923) Signed-off-by: denisova-ok Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/lib/oe/buildstats.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/lib/oe/buildstats.py b/meta/lib/oe/buildstats.py index 1ffe679801..359ad2a460 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) -- cgit v1.2.3-54-g00ecf