SR-IOV, Power State, and NUMA node info in prometheus/procfs

At Asama.ai, we’ve always been committed to giving back to the open-source projects we rely on. Our contributions ensure that others can benefit from the solutions we’ve already implemented.
This not only supports the community, but also reduces the need for us to constantly rebase and maintain forks.

Our latest contribution improves visibility into PCI devices in the prometheus/procfs project. These additions aim to enhance observability for tools that rely on procfs. The author also plans to integrate these enhancements into the node_exporter pcidevice collector.

What Changed: New Fields & Features

Pull Request #748 extends the PciDevice struct with several new fields from sysfs:

  • NUMA node – maps which node the device is attached to
  • SR-IOV support info – number of virtual functions, total VFs, etc.
  • Driver autoprobe flag
  • Offset / Stride values
  • Power state and whether D3Cold is allowed

Before this PR, you needed to write a custom textfile collector with node_exporter to collect these metrics. Once merged, these fields become first-class attributes in the library and can be integrated directly into node_exporter.

What’s Next

Stay tuned — we’re actively working on enhancing the node_exporter pcidevice collector to expose this information as metrics, which we will also contribute back to the community.

And yes — we’re hiring developers who love open source.

Cheers,

Jain

jj@asama.ai

One thought on “SR-IOV, Power State, and NUMA node info in prometheus/procfs”

Leave a comment