[PATCH 0/2] Add NVMe OCP SMART monitoring support

Daniel Gomez <[email protected]> Thu, 09 Oct 2025 23:24:34 +0200
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
This series adds monitoring support for NVMe OCP extended SMART
statistics and includes complementary defconfig fragments for sysbench
PostgreSQL testing.

The monitoring implementation collects cloud SSD-specific metrics via
nvme-cli's OCP (nvme-ocp-smart-add-log) during workflow execution.
Results are timestamped JSON with matplotlib visualization support for
analyzing device health trends over time.

The monitoring framework integrates with existing workflows (fstests,
blktests, sysbench) and includes defconfig fragments for composable
testing configurations.

Testing: Validated with sysbench PostgreSQL workloads on XFS with 4K and
16K block sizes.

Note: The following patch implementation and use of nvme-cli ocp
subcommand has been discussed on this nvme-cli thread. A possible future
improvement is to incorporate timestamping and daemon features directly
into nvme-cli. This shows how kdevops can leverage nvme-cli OCP metrics
with current implementation.

Note: The following patch and its use of the nvme-cli ocp subcommand
were discussed in thi nvme-cli thread [1]. A potential future
enhancement is to integrate timestamping and daemon capabilities
directly into nvme-cli. This patch demonstrates how kdevops can
currently leverage nvme-cli OCP metrics through the kdevops monitoring
module.

Link: https://github.com/linux-nvme/nvme-cli/issues/2189 [1]

Signed-off-by: Daniel Gomez <[email protected]>
---
Daniel Gomez (2):
      monitoring: add NVMe OCP SMART support
      defconfigs: add sysbench PostgreSQL XFS testing fragments

 defconfigs/configs/monitor_ocp_smart.config        |   4 +
 defconfigs/configs/sysbench-nvme.config            |   3 +
 .../configs/sysbench-postgresql-xfs-16k.config     |   4 +
 .../configs/sysbench-postgresql-xfs-4k.config      |   3 +
 .../sysbench-postgresql-atomic-tps-variability     |  21 ++
 kconfigs/monitors/Kconfig                          |  45 +++
 playbooks/roles/blktests/tasks/main.yml            |  21 +-
 .../roles/monitoring/files/plot_nvme_ocp_stats.py  | 378 +++++++++++++++++++++
 .../roles/monitoring/tasks/monitor_collect.yml     |  30 +-
 .../monitoring/tasks/monitor_collect_only.yml      |   8 +
 playbooks/roles/monitoring/tasks/monitor_run.yml   |   5 +
 .../tasks/monitors/nvme_ocp_smart/collect.yml      | 115 +++++++
 .../tasks/monitors/nvme_ocp_smart/collect_only.yml |  64 ++++
 .../tasks/monitors/nvme_ocp_smart/run.yml          |  88 +++++
 14 files changed, 757 insertions(+), 32 deletions(-)
---
base-commit: 54073cdcce26be2b9caefa5b4a8afc7cd7f8d47e
change-id: 20251006-nvme-ocp-monitor-b7a72d616e00

Best regards,
--  
Daniel Gomez <[email protected]>