[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]>