diff mbox series

buildstats.py: extend diskstats support for NVMe and flexible token count

Message ID 20250415153404.12404-1-denisova.olga.k@yandex.ru
State New
Headers show
Series buildstats.py: extend diskstats support for NVMe and flexible token count | expand

Commit Message

denisova-ok April 15, 2025, 3:34 p.m. UTC
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 <denisova.olga.k@yandex.ru>
---
 lib/oe/buildstats.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/lib/oe/buildstats.py b/lib/oe/buildstats.py
index 1ffe679801..359ad2a460 100644
--- a/lib/oe/buildstats.py
+++ b/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)