github prometheus-community/windows_exporter v0.32.0-beta.1

pre-release3 hours ago

Upgrade Guide

https://github.com/prometheus-community/windows_exporter/blob/main/UPGRADE.md

What's Changed

💥 Breaking Changes

  • filetime: replace collector with file by @jkroepke in #2244
  • hyperv: fix virtual_storage_device_throughput metric to be a counter (not gauge) with _total suffix by @Dominik-esb in #2285
  • process: report owner label as DOMAIN\user by @jkroepke in #2515
  • fix: collectors Close leaks, recover goroutine panics, validate sub-collectors by @jkroepke in #2547
  • container: read Kubernetes metadata from the CRI API by @jkroepke in #2557
  • gpu: make device discovery non-fatal and refresh it on unknown LUIDs by @jkroepke in #2573
  • process: read processes from the kernel instead of perflib by @jkroepke in #2644
  • httphandler: remove /version endpoint by @jkroepke in #2660
  • collector: remove deprecated thermalzone collector by @jkroepke in #2659

✨ Exciting New Features

  • pdh: added logging, if PDH CStatus is not valid by @jkroepke in #2203
  • os: include installation type in Windows version retrieval by @jkroepke in #2217
  • thermalzone: deprecate collector by @jkroepke in #2201
  • netframework: add process_id label to clrmemory by @johanot in #2242
  • file: add file collector to scrape file size and file modify time which can replace filetime collector by @xie-shujian in #2205
  • os: add system installation date to metrics by @Dominik-esb in #2284
  • mscluster: add shared volumes collector and update documentation by @Dominik-esb in #2301
  • mscluster: Add virtual disk metrics sub-collector by @Dominik-esb in #2296
  • process: Use Process collect V1 by default, since V2 is buggy. by @jkroepke in #2368
  • file: fix collector producing no metrics, startup hang, and duplicate metric errors by @Dominik-esb in #2371
  • service: Add parameter to filer service by start mode by @jkroepke in #2405
  • mscluster: use AllocatedSize for virtual disk storage efficiency by @Dominik-esb in #2432
  • registry: new collector for generating metrics from Windows registry entries by @dluxem in #2428
  • mscluster: add storagepool metrics by @Dominik-esb in #2491
  • hyperv: add host sub-collector for CPU allocation ratio by @Dominik-esb in #2493
  • hyperv: add WMI health metric by @Dominik-esb in #2494
  • dmi: add dmi_info metric via GetSystemFirmwareTable by @elmarco in #2500
  • feat: log build and account before initializing collectors by @jkroepke in #2514
  • wmi: add generic wmi collector by @jkroepke in #2530
  • scheduled_task: expose result statuses and deprecate last_result by @jkroepke in #2532
  • mi: use generic methods for Query, QueryUnmarshal and Unmarshal by @jkroepke in #2518
  • hyperv: add Hyper-V Replica VM metrics by @jkroepke in #2538
  • pdh: make Collector generic over its row type by @jkroepke in #2536
  • ole: replace go-ole with native COM bindings by @jkroepke in #2551
  • contrib: add Windows exporter monitoring mixin by @jkroepke in #2558
  • collector: add pprof labels to build and collection by @jkroepke in #2562
  • pdh/registry: reuse the raw data buffer across Collect calls by @jkroepke in #2567
  • httphandler: expose Go scheduler metrics by @jkroepke in #2561
  • container: add start time, process count and page fault metrics by @jkroepke in #2566
  • dashboard: rework sample dashboard into one tabbed dashboard by @jkroepke in #2556
  • contrib: expand Windows mixin rules and publish runbooks by @jkroepke in #2575
  • gpu: add vendor-neutral sensor metrics from dxgkrnl by @jkroepke in #2571
  • pdh/registry: decode performance data without per-counter allocations by @jkroepke in #2572
  • container: collect Hyper-V isolated containers from CRI stats by @jkroepke in #2568
  • printer: read printers and jobs from the spooler API by @jkroepke in #2577
  • textfile: use stable fallback HELP strings by @jkroepke in #2591
  • dashboard: add TCP/UDP and GPU metrics with panel descriptions by @jkroepke in #2576
  • dashboard: use counters for disk queue length and VHD latency by @jkroepke in #2582
  • scheduled_task: read only published task properties by @jkroepke in #2613
  • terminal_services: detect Connection Broker via service control manager by @jkroepke in #2628
  • dashboard: add process metrics with bounded graphs and summaries by @jkroepke in #2631
  • process: read the IIS application pool from the w3wp command line by @jkroepke in #2638
  • dashboard: add stat rows, sections, new tabs and collector selection by @jkroepke in #2647
  • dashboard: add fleet counters, C: usage and busiest interface by @jkroepke in #2651
  • pdh: keep decoded instance names between samples by @jkroepke in #2645
  • storage_spaces: move storage pool and virtual disk metrics out of mscluster by @jkroepke in #2646
  • pdh: reuse the row maps between samples by @jkroepke in #2654
  • storage_spaces: add primordial label to pool info by @jkroepke in #2650

🐞 Bug Fixes

  • installer: remove repair option by @jkroepke in #2243
  • collector: fix race condition in Build() by @OverOrion in #2250
  • gpu: skip Microsoft Basic Render Driver metrics by @jkroepke in #2275
  • os: rename install_time_timestamp to install_time_timestamp_seconds by @Dominik-esb in #2315
  • mscluster: rename windows_hyperv_hypervisor_virtual_processor_time_total -> windows_hyperv_hypervisor_virtual_processor_mode_time_total by @Dominik-esb in #2322
  • gpu: skip Microsoft Basic Render Driver metrics by @jkroepke in #2341
  • pdh/registry: fix panic when T is a struct type by @kondracek-nr in #2366
  • mi: make timeout configurable for build functions by @jkroepke in #2377
  • container: fix deserialize HNS response in GetHNSEndpointStats by @slabbancz in #2379
  • fix: use lastest go-ole package to prevent crashes on arm64 by @jkroepke in #2431
  • pdh: prevent registry deadlocks via exponential buffer growth by @HarshalPatel1972 in #2438
  • exchange: export LDAP average-timer denominator counters for ADAccess metrics by @jkroepke with @Copilot in #2474
  • hyperv: fix dynamic_memory_vm sub-collector failing on Server 2019 due to missing Guest Available Memory counter by @jkroepke with @Copilot in #2480
  • logical_disk: fix BitLocker shell property handling by @jkroepke in #2482
  • mi: add support for uint16 array (UINT16A) properties by @Dominik-esb in #2490
  • iis: fix collector panic on application pool names containing '#' by @jkroepke with @Copilot in #2473
  • fix: log startup errors to the event log when running as a service by @jkroepke in #2506
  • performancecounter: fix explicit instance lists and startup panics on invalid config by @jkroepke in #2511
  • fix: registry, update, file duplicate series, config key and error reporting by @jkroepke in #2509
  • pdh: fix heap corruption from undersized counter array buffer by @jkroepke in #2513
  • mi: fix NewInterval inflating durations of 60s or more by @jkroepke in #2516
  • mi: correctness fixes for unmarshal, resource leak, and test robustness by @elmarco in #2501
  • mi: validate unmarshal target before querying and unit-test setField by @jkroepke in #2520
  • logical_disk: read BitLocker status through fveapi.dll by @jkroepke in #2533
  • mi: fix flaky Test_MI_FD_Leak by @jkroepke in #2535
  • hyperv: fix Replica VM PDH collector type by @jkroepke in #2545
  • hyperv: close PDH queries of sub-collectors on Close by @jkroepke in #2539
  • config: accept collectors.disabled and validate custom collector blocks by @jkroepke in #2540
  • fix: activate COM classes by CLSID instead of ProgID by @safster123 in #2546
  • collector: serialize collector runs and harden the scrape lifecycle by @jkroepke in #2541
  • installer: only kill the exporter process of this installation by @jkroepke in #2542
  • registry: return errors instead of panicking on perflib data by @jkroepke in #2549
  • pdh: per-counter metric types, no zero for invalid samples, worker panics by @jkroepke in #2543
  • fix: reject unknown process priorities and trap SIGTERM instead of os.Kill by @jkroepke in #2548
  • mi: fix native return-value handling by @jkroepke in #2537
  • fix: strict flag values, MI NULL properties and container without HCS by @jkroepke in #2553
  • container: fix hostprocess memory metrics and containerd bundle handling by @jkroepke in #2555
  • container: synchronize CRI pipe shutdown by @jkroepke in #2560
  • pdh: preserve duplicate counter instances by @jkroepke in #2564
  • printer: bound the Win32_Printer query by the scrape timeout by @jkroepke in #2569
  • collector: preserve failures in joined collection errors by @jkroepke in #2574
  • logical_disk: deprecate cumulative avg_*_requests_queued gauges by @jkroepke in #2563
  • hyperv: deprecate cumulative virtual storage device latency gauges by @jkroepke in #2565
  • pdh: preserve legitimate instances ending in _Total by @jkroepke in #2588
  • textfile: report duplicates and preserve valid metrics by @jkroepke in #2590
  • collector: make filtered views non-owning by @jkroepke in #2587
  • mssql: correct latency and request-count units by @jkroepke in #2596
  • iis: correct cache counter mappings and occupancy types by @jkroepke in #2594
  • collector: release HCS result documents on operation failure by @jkroepke in #2600
  • container: query the actual private working set by @jkroepke in #2585
  • logical_disk: safely enumerate all volume mount paths by @jkroepke in #2584
  • process: wait for workers during shutdown by @jkroepke in #2586
  • docs: use the emitted textfile error signal by @jkroepke in #2592
  • cmd: honor zero as an unlimited memory setting by @jkroepke in #2598
  • collector: preserve fatal causes in joined build errors by @jkroepke in #2599
  • collector: release caller-owned MI destination options by @jkroepke in #2601
  • cache: emit copy-read hit totals as counters by @jkroepke in #2602
  • cache: expose cumulative data-map hits as a counter by @jkroepke in #2597
  • dhcp: query the distinct non-match denial counter by @jkroepke in #2593
  • iis: keep partial collector cleanup safe by @jkroepke in #2605
  • collector: reconcile advertised metric contracts by @jkroepke in #2604
  • mixin: lint dashboards and migrate CI tasks to mise by @jkroepke in #2608
  • pdh: add slack to counter array buffers for Windows Server 2012 R2 by @alexandrepossebom in #2630
  • fix(cpu_info,diskdrive): stop probing WMI during Build by @jkroepke in #2648
  • mi: fix MI_Result values, session close order and native type widths by @jkroepke in #2649
  • hyperv: label unnamed dynamic memory VMs as (unknown) by @jkroepke in #2653
  • collector: bound MI probe queries in Build with a timeout by @jkroepke in #2657
  • collector: publish documented counter types for udp and hyperv metrics by @jkroepke in #2661

🛠️ Dependencies

  • chore(deps): update module go.yaml.in/yaml/v2 to v2.4.3 by @renovate[bot] in #2208
  • chore(deps): update module google.golang.org/protobuf to v1.36.9 by @renovate[bot] in #2209
  • chore(deps): update actions/checkout action to v4.3.0 by @renovate[bot] in #2211
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.14.1 by @renovate[bot] in #2210
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2214
  • chore(deps): update github actions (major) by @renovate[bot] in #2215
  • chore(deps): update github actions by @renovate[bot] in #2224
  • chore(deps): update module google.golang.org/protobuf to v1.36.10 by @renovate[bot] in #2223
  • chore(deps): update dependency golangci/golangci-lint to v2.5.0 by @renovate[bot] in #2220
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2227
  • fix(deps): update module github.com/prometheus/common to v0.67.1 by @renovate[bot] in #2228
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.15.0 by @renovate[bot] in #2239
  • chore(deps): update module github.com/prometheus/procfs to v0.18.0 by @renovate[bot] in #2238
  • fix(deps): update module github.com/prometheus/common to v0.67.2 by @renovate[bot] in #2245
  • chore(deps): update module golang.org/x/time to v0.14.0 by @renovate[bot] in #2248
  • chore(deps): update github actions (major) by @renovate[bot] in #2249
  • chore(deps): update module github.com/prometheus/procfs to v0.19.2 by @renovate[bot] in #2247
  • chore(deps): update dependency golangci/golangci-lint to v2.6.0 by @renovate[bot] in #2246
  • chore(deps): update dependency golangci/golangci-lint to v2.6.1 by @renovate[bot] in #2252
  • chore(deps): update docker/metadata-action action to v5.9.0 by @renovate[bot] in #2253
  • chore(deps): update github actions by @renovate[bot] in #2260
  • chore(deps): update dependency golangci/golangci-lint to v2.6.2 by @renovate[bot] in #2259
  • chore(deps): update module golang.org/x/crypto to v0.45.0 [security] by @renovate[bot] in #2257
  • fix(deps): update module github.com/prometheus/common to v0.67.4 by @renovate[bot] in #2261
  • chore(deps): update module golang.org/x/oauth2 to v0.33.0 by @renovate[bot] in #2262
  • chore(deps): update github actions (major) by @renovate[bot] in #2265
  • chore(deps): update docker/metadata-action action to v5.10.0 by @renovate[bot] in #2264
  • chore(deps): update github actions by @renovate[bot] in #2268
  • chore(deps): update dependency golangci/golangci-lint to v2.7.1 by @renovate[bot] in #2269
  • chore(deps): update dependency golangci/golangci-lint to v2.7.2 by @renovate[bot] in #2272
  • chore(deps): update module google.golang.org/protobuf to v1.36.11 by @renovate[bot] in #2273
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2277
  • chore(deps): update docker/setup-buildx-action action to v3.12.0 by @renovate[bot] in #2276
  • Synchronize common files from prometheus/prometheus by @prombot in #2278
  • chore(deps): update github actions (major) by @renovate[bot] in #2289
  • fix(deps): update module github.com/prometheus/common to v0.67.5 by @renovate[bot] in #2294
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.15.1 by @renovate[bot] in #2295
  • fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.9.2 by @renovate[bot] in #2297
  • chore(deps): update actions/setup-go action to v6.2.0 by @renovate[bot] in #2298
  • chore(deps): update github actions by @renovate[bot] in #2307
  • chore(deps): update module github.com/golang-jwt/jwt/v5 to v5.3.1 - autoclosed by @renovate[bot] in #2308
  • chore(deps): update module github.com/coreos/go-systemd/v22 to v22.7.0 by @renovate[bot] in #2310
  • fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.10.0 by @renovate[bot] in #2312
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2311
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2321
  • chore(deps): update docker/build-push-action action to v6.19.2 by @renovate[bot] in #2320
  • chore(deps): update actions/stale action to v10.2.0 by @renovate[bot] in #2323
  • chore(deps): update module github.com/prometheus/procfs to v0.20.0 by @renovate[bot] in #2330
  • chore(deps): update actions/setup-go action to v6.3.0 by @renovate[bot] in #2329
  • chore(deps): update module github.com/prometheus/procfs to v0.20.1 by @renovate[bot] in #2331
  • chore(deps): update module golang.org/x/net to v0.51.0 by @renovate[bot] in #2334
  • chore(deps): update github actions (major) by @renovate[bot] in #2335
  • chore(deps): update dependency golangci/golangci-lint to v2.11.3 by @renovate[bot] in #2309
  • fix(deps): update golang.org/x/ by @renovate[bot] in #2337
  • chore(deps): update actions/download-artifact action to v8.0.1 by @renovate[bot] in #2332
  • chore(deps): update module go.yaml.in/yaml/v2 to v2.4.4 by @renovate[bot] in #2338
  • chore: update Go version to 1.26.0 by @jkroepke in #2342
  • chore(deps): update golang.org/x/ (master) by @renovate[bot] in #2344
  • chore(deps): pin dependencies (master) by @renovate[bot] in #2372
  • chore(deps): update github actions (master) by @renovate[bot] in #2382
  • chore(deps): update module github.com/mdlayher/socket to v0.6.0 (master) by @renovate[bot] in #2383
  • fix(deps): update golang.org/x/ (master) by @renovate[bot] in #2388
  • chore(deps): update actions/upload-artifact action to v7.0.1 (master) by @renovate[bot] in #2387
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.16.0 (master) by @renovate[bot] in #2389
  • chore(deps): update github actions (master) by @renovate[bot] in #2394
  • fix(deps): update golang.org/x/ (master) by @renovate[bot] in #2399
  • chore(deps): update github actions (master) by @renovate[bot] in #2406
  • fix(deps): update golang.org/x/ (master) - autoclosed by @renovate[bot] in #2407
  • chore(deps): update module github.com/mdlayher/socket to v0.6.1 (master) by @renovate[bot] in #2411
  • chore(deps): update module github.com/mdlayher/vsock to v1.3.0 (master) by @renovate[bot] in #2412
  • fix(deps): update module github.com/prometheus/common to v0.68.1 (master) by @renovate[bot] in #2419
  • chore(deps): update github actions (master) by @renovate[bot] in #2418
  • fix(deps): update golang.org/x/ (master) by @renovate[bot] in #2424
  • fix(deps): update module github.com/prometheus/common to v0.69.0 (master) by @renovate[bot] in #2425
  • chore(deps): update github actions to v7 (master) by @renovate[bot] in #2427
  • chore(deps): update github actions to 3abb875 (master) by @renovate[bot] in #2426
  • chore(deps): update actions/setup-go action to v6.5.0 (master) by @renovate[bot] in #2434
  • chore(deps): update module github.com/prometheus/procfs to v0.21.1 (master) by @renovate[bot] in #2441
  • chore(deps): update github actions (master) by @renovate[bot] in #2440
  • fix(deps): update golang.org/x/ (master) by @renovate[bot] in #2445
  • chore(deps): update github actions (master) by @renovate[bot] in #2444
  • fix(deps): update module github.com/prometheus/common to v0.70.1 (master) by @renovate[bot] in #2451
  • chore(deps): update actions/setup-go action to v7 (master) by @renovate[bot] in #2453
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.17.1 (master) by @renovate[bot] in #2452
  • chore(deps): update github actions (master) by @renovate[bot] in #2449
  • fix(deps): update module github.com/prometheus/client_golang to v1.24.1 (master) by @renovate[bot] in #2450
  • chore(deps): update docker/login-action action to v4.5.1 (master) by @renovate[bot] in #2463
  • fix(deps): update module go.yaml.in/yaml/v3 to v3.0.5 (master) by @renovate[bot] in #2466
  • chore(deps): update actions/stale action to v11 (master) by @renovate[bot] in #2468
  • chore(deps): update docker/login-action action to v4.6.0 (master) by @renovate[bot] in #2467
  • chore(deps): update module google.golang.org/protobuf to v1.36.12 (master) by @renovate[bot] in #2476
  • chore(deps): update golang.org/x/ (master) by @renovate[bot] in #2479
  • chore(deps): update dependency golangci/golangci-lint to v2.13.1 (master) by @renovate[bot] in #2477
  • chore(deps): update github actions (master) by @renovate[bot] in #2478
  • chore(deps): update dependency golangci/golangci-lint to v2.13.2 (master) by @renovate[bot] in #2483
  • fix(deps): update module github.com/prometheus/client_model to v0.6.3 (master) by @renovate[bot] in #2486
  • chore(deps): update github actions (master) by @renovate[bot] in #2485
  • chore(deps): update module github.com/prometheus/procfs to v0.22.0 (master) by @renovate[bot] in #2487
  • chore(deps): update module golang.org/x/crypto to v0.56.0 (master) by @renovate[bot] in #2488
  • fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.10.2 (master) by @renovate[bot] in #2497
  • fix(deps): update module github.com/stretchr/testify to v1.12.1 (main) by @renovate[bot] in #2527
  • chore(deps): update go module directive to v1.27.1 (main) by @renovate[bot] in #2521
  • chore(deps): update module github.com/mdlayher/socket to v0.7.0 (main) by @renovate[bot] in #2522
  • fix(deps): update golang.org/x (main) by @renovate[bot] in #2524
  • fix(deps): update module github.com/prometheus/exporter-toolkit to v0.20.0 (main) by @renovate[bot] in #2526
  • fix(deps): update module github.com/prometheus/common to v0.72.0 (main) by @renovate[bot] in #2525
  • chore(deps): update module github.com/xhit/go-str2duration/v2 to v2.2.0 (main) by @renovate[bot] in #2523
  • chore(deps): update dependency goreleaser/goreleaser to v2.18.3 (main) by @renovate[bot] in #2579
  • chore(deps): update module golang.org/x/net to v0.60.0 (main) by @renovate[bot] in #2581
  • fix(deps): update module github.com/prometheus/client_golang to v1.25.0 (main) by @renovate[bot] in #2610
  • fix(deps): update golang.org/x (main) by @renovate[bot] in #2616

📖 Documentation

  • docs: Fix collector flag names in documentation by @jkroepke in #2225
  • docs: Fix metric name for Windows Disk Alerts by @buckleyGI in #2254
  • cpu: add example query for Task Manager-style CPU utilization by @Dominik-esb in #2286
  • docs: add alerting examples for CPU and CSV by @Dominik-esb in #2317
  • docs: add missing flags in service collector documentation by @veso0308 in #2318
  • docs: improve file collector docs with pattern cardinality guidance and query examples by @Dominik-esb in #2381
  • docs: fix wrong os collector info (issue #2414) by @andrechalella in #2415
  • docs: Update README to clarify installer behavior wrt firewall by @andrechalella in #2417
  • docs: add textfile freshness examples by @noqt in #2495
  • docs: fix collector flag names and process counter-version default by @jkroepke in #2508
  • docs: add shared agent instructions and Claude guidance by @jkroepke in #2603
  • dashboard: add Storage Spaces row to the Disk tab by @jkroepke in #2655
  • docs: add an upgrade guide from 0.31 to 0.32 by @jkroepke in #2554

Other Changes

New Contributors

Full Changelog: v0.31.3...v0.32.0-beta.1

Don't miss a new windows_exporter release

NewReleases is sending notifications on new releases.