Skip to content

hyper-v: Metrics windows_hyperv_virtual_storage_device_throughput is wrong value type #2281

@Dominik-esb

Description

@Dominik-esb

Current Behavior

virtual_storage_device_throughput is implemented as a GaugeValue but should be a CounterValue instead.

c.virtualStorageDeviceThroughput = prometheus.NewDesc(
		prometheus.BuildFQName(types.Namespace, Name, "virtual_storage_device_throughput"),
		"Represents the average number of 8KB IO transfers completed by this virtual device.",
		[]string{"device"},
		nil,

The metrics represents the Total 8KB IO transfers done.
If we have a look at the value over time, its monotonically increasing.

Image

Expected Behavior

It only make sense to use a rate function to display the throughput.

Image

The value should become a CounterValue and end with _total.

Sadly I wasnt able to find a Official documentation for this PerfCounter to be 100% sure and prove it with official Docs.

If we agree on this, I'll implement a fix.

Steps To Reproduce

Run Windows Exporter on Hyper-v Windows Server 2022 Datacenter

Environment

  • windows_exporter Version: v0.31.3 (Forked)
  • Windows Server Version: Windows Server 2022 Datacenter

windows_exporter logs

No logs needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions