Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

logical disk: Fix metrics for non drive letter disks #1498

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jkroepke
Copy link
Member

@jkroepke jkroepke commented May 17, 2024

Fixes #1493
Fixes #1491

I introduce a dedicated windows_logical_disk_info metric here is avoid duplicate label info

# HELP windows_logical_disk_idle_seconds_total Seconds that the disk was idle (LogicalDisk.PercentIdleTime)
# TYPE windows_logical_disk_idle_seconds_total counter
windows_logical_disk_idle_seconds_total{volume="C:"} 3958.073043
windows_logical_disk_idle_seconds_total{volume="D:"} 3193.0903421
windows_logical_disk_idle_seconds_total{volume="D:\\Test"} 153.78342139999998
windows_logical_disk_idle_seconds_total{volume="HarddiskVolume2"} 2885.0179252
windows_logical_disk_idle_seconds_total{volume="HarddiskVolume3"} 2934.6000697
# HELP windows_logical_disk_info A metric with a constant '1' value labeled with logical disk information
# TYPE windows_logical_disk_info gauge
windows_logical_disk_info{disk="-1",filesystem="",partition="-1",serial_number="",volume="D:\\Test",volume_name=""} 1
windows_logical_disk_info{disk="-1",filesystem="",partition="-1",serial_number="",volume="HarddiskVolume2",volume_name=""} 1
windows_logical_disk_info{disk="-1",filesystem="",partition="-1",serial_number="",volume="HarddiskVolume3",volume_name=""} 1
windows_logical_disk_info{disk="0",filesystem="NTFS",partition="2",serial_number="668EEC37",volume="C:",volume_name="Windows"} 1
windows_logical_disk_info{disk="1",filesystem="NTFS",partition="0",serial_number="50AE953B",volume="D:",volume_name="Temporary Storage"} 1

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
@jkroepke jkroepke requested a review from a team as a code owner May 17, 2024 22:27
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
@jkroepke
Copy link
Member Author

In I switched from WMI to Win32 API.

This results into way more complicated code, but WMI (or the WMI go implementation) is terrible slow (up to 10 times).

WMI:

windows_exporter_collector_duration_seconds{collector="logical_disk"} 0.0153111

Win32 API:

windows_exporter_collector_duration_seconds{collector="logical_disk"} 0.0010479

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
@jacbo0112
Copy link
Contributor

Looking forward to this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants