From 87a31bc4ca3661aae94cf43f3f579b02f4fb4923 Mon Sep 17 00:00:00 2001 From: denisova-ok Date: Tue, 15 Apr 2025 18:34:04 +0300 Subject: [PATCH] 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 --- 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 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) -- 2.47.3