collector: publish base units and _total counter names (#2743)

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
Jan-Otto Kröpke
2026-10-16 10:48:26 +02:00
committed by GitHub
parent dc8092f46d
commit 3fb18521f6
131 changed files with 1674 additions and 1459 deletions
+363 -27
View File
@@ -17,7 +17,8 @@ Most installations need no changes. Go through the checklist below and read the
| You use the `container` collector | Replace `containerd-state-dir` with `cri-endpoint` | [container collector](#container-collector) |
| You query `windows_gpu_info` | Replace the `phys` label with `device_number` | [GPU collector](#gpu-collector) |
| You alert on BitLocker status | Replace `status="disabled"` with `status="off"` | [BitLocker status](#bitlocker-status) |
| You query Active Directory latency or security descriptor propagation, DFSR, DNS dynamic update, Hyper-V, logical disk queue, cache, IIS, memory, RemoteFX, SQL Server, scheduled task, SMB server share or terminal services metrics | Update queries | [Renamed, deprecated and retyped metrics](#renamed-deprecated-and-retyped-metrics) |
| You query Active Directory latency or security descriptor propagation, DFSR, DNS dynamic update, Hyper-V, logical disk queue, cache, IIS, memory, RemoteFX, SQL Server, scheduled task, SMB server share or terminal services metrics | Update queries | [Renamed, removed and retyped metrics](#renamed-removed-and-retyped-metrics) |
| You query metrics in MHz, percent, minutes, milliseconds, microseconds, kilobytes, megabytes or parts per billion, counters without a `_total` suffix, or Exchange, Hyper-V DataStore and Virtual SMB, IIS application pool, mscluster, NPS or SQL Server counters | Update queries | [Base units and counter names](#base-units-and-counter-names) |
| You enable the `scheduled_task` collector and use tasks below `\Microsoft\` or missed runs | Set `--collector.scheduled_task.exclude` or `missed-runs` | [scheduled_task collector](#scheduled_task-collector) |
| You chart SQL Server latencies, lock counts or replica queues, DHCP denials, AD LSA writes, AD computer creations, AD FS database query times, DNS zone transfers or RemoteFX skipped frames | Expect corrected values | [Corrected values](#corrected-values) |
| You enable the `hyperv` or `mscluster` collector | Check the new default sub-collectors | [New default sub-collectors](#new-default-sub-collectors) |
@@ -213,7 +214,7 @@ The `status` values are unchanged, but `disabled` is never reported anymore and
Alerts on `windows_logical_disk_bitlocker_status{status="disabled"}` won't fire anymore. To find unencrypted volumes, use `status="off"`.
See [the logical_disk documentation](docs/collector.logical_disk.md#bitlocker-status) for all values.
## Renamed, deprecated and retyped metrics
## Renamed, removed and retyped metrics
Renamed:
@@ -239,6 +240,7 @@ Renamed:
| `windows_smb_server_shares_write_requests_count_total` | `windows_smb_server_shares_write_requests_total` | Same value |
| `windows_smb_server_shares_metadata_requests_count_total` | `windows_smb_server_shares_metadata_requests_total` | Same value |
| `windows_smb_server_shares_files_opened_count_total` | `windows_smb_server_shares_files_opened_total` | Same value |
| `windows_iis_ipapi_extension_requests_total` | `windows_iis_isapi_extension_requests_total` | Same value; the old name was misspelled |
| `windows_remote_fx_net_current_tcp_bandwidth` | `windows_remote_fx_net_current_tcp_bandwidth_bytes_per_second` | Unit suffix added, same value |
| `windows_remote_fx_net_current_udp_bandwidth` | `windows_remote_fx_net_current_udp_bandwidth_bytes_per_second` | Unit suffix added, same value |
| `windows_remote_fx_gfx_frame_quality` | `windows_remote_fx_gfx_frame_quality_ratio` | Ratio from 0 to 1 instead of percent |
@@ -266,8 +268,8 @@ Renamed:
| `windows_mssql_databases_log_shrinks` | `windows_mssql_databases_log_shrinks_total` | Now a counter, use `increase()` |
| `windows_mssql_databases_log_truncations` | `windows_mssql_databases_log_truncations_total` | Now a counter, use `increase()` |
| `windows_mssql_databases_xtp_controller_dlc_fetch_latency_seconds` | `windows_mssql_databases_xtp_controller_dlc_fetch_latency_seconds_total` | Now a counter in seconds; divide its `rate()` by that of the new `windows_mssql_databases_xtp_controller_dlc_fetches_total` |
| `windows_mssql_dbreplica_database_flow_control_wait_seconds` | `windows_mssql_dbreplica_database_flow_control_wait_seconds_total` | Now a counter, use `rate()` |
| `windows_mssql_dbreplica_group_commit_stall_seconds` | `windows_mssql_dbreplica_group_commit_stall_seconds_total` | Now a counter, use `rate()` |
| `windows_mssql_dbreplica_database_flow_control_wait_seconds` | `windows_mssql_dbreplica_database_flow_control_wait_seconds_total` | Seconds instead of microseconds, now a counter, use `rate()` |
| `windows_mssql_dbreplica_group_commit_stall_seconds` | `windows_mssql_dbreplica_group_commit_stall_seconds_total` | Seconds instead of microseconds, now a counter, use `rate()` |
| `windows_mssql_dbreplica_transaction_delay_seconds` | `windows_mssql_dbreplica_transaction_delay_seconds_total` | Now a counter, use `rate()` |
| `windows_mssql_dbreplica_recovery_queue_records` | `windows_mssql_dbreplica_recovery_queue_bytes` | Was kilobytes, now bytes |
| `windows_mssql_dbreplica_log_send_queue` | `windows_mssql_dbreplica_log_send_queue_bytes` | Was kilobytes, now bytes |
@@ -275,7 +277,7 @@ Renamed:
| `windows_mssql_dbreplica_total_log_requiring_undo` | `windows_mssql_dbreplica_total_log_requiring_undo_bytes` | Was kilobytes, now bytes |
| `windows_mssql_genstats_http_authenticated_requests`, `windows_mssql_genstats_mars_deadlocks`, `windows_mssql_genstats_soap_empty_requests`, `windows_mssql_genstats_soap_method_invocations`, `windows_mssql_genstats_soap_session_initiate_requests`, `windows_mssql_genstats_soap_session_terminate_requests`, `windows_mssql_genstats_soapsql_requests`, `windows_mssql_genstats_soapwsdl_requests`, `windows_mssql_genstats_sql_trace_io_provider_lock_waits`, `windows_mssql_genstats_tempdb_recovery_unit_ids_generated`, `windows_mssql_genstats_tempdb_rowset_ids_generated` | The same names with a `_total` suffix | Now counters, use `rate()` |
| `windows_mssql_locks_wait_time_seconds` | `windows_mssql_locks_wait_time_seconds_total` | Now a counter, use `rate()` |
| `windows_mssql_locks_count` | `windows_mssql_locks_count_total` | Now a counter, use `rate()` |
| `windows_mssql_locks_count` | `windows_mssql_locks_lock_waits_total` | Removed: it was the base of the average wait time and equals the lock wait count, use `rate()` |
| `windows_mssql_locks_lock_wait_seconds` | `windows_mssql_locks_lock_wait_seconds_total` | Now a counter, use `rate()` |
| `windows_mssql_transactions_nonsnapshot_version_active_total` | `windows_mssql_transactions_nonsnapshot_version_active` | Now a gauge, query it directly |
| `windows_mssql_transactions_snapshot_active_total` | `windows_mssql_transactions_snapshot_active` | Now a gauge, query it directly |
@@ -296,21 +298,17 @@ Removed:
| `windows_memory_free_system_page_table_entries` | Saturates near 2^32 on 64-bit Windows, where system PTEs are not a scarce resource |
| `windows_logical_disk_avg_read_requests_queued` | Running sum that only grew, never an average queue length. Use `rate(windows_logical_disk_read_seconds_total[5m])` |
| `windows_logical_disk_avg_write_requests_queued` | Running sum that only grew, never an average queue length. Use `rate(windows_logical_disk_write_seconds_total[5m])` |
| `windows_cache_data_map_hits_percent` | Deprecated in earlier 0.32 builds. It was the raw hit count, not a percentage. Use `rate(windows_cache_data_map_hits_total[5m]) / rate(windows_cache_data_maps_total[5m])` |
| `windows_mscluster_cluster_quorum_log_file_size`, `windows_mscluster_cluster_resource_dll_deadlock_period` | Obsolete cluster properties without a meaning on supported Windows versions |
| `windows_hyperv_hypervisor_virtual_processor_time_total` | Duplicate. Use `windows_hyperv_hypervisor_virtual_processor_mode_time_seconds_total` |
| `windows_hyperv_hypervisor_virtual_processor_total_run_time_total` | Duplicate. Use `windows_hyperv_hypervisor_virtual_processor_run_time_seconds_total` |
| `windows_hyperv_virtual_storage_device_latency_seconds` | Running sum in 100ns ticks. Use `rate(windows_hyperv_virtual_storage_device_io_latency_seconds_total[5m]) / rate(windows_hyperv_virtual_storage_device_throughput_total[5m])` |
| `windows_hyperv_virtual_storage_device_lower_latency_seconds` | Running sum in 100ns ticks. Use `windows_hyperv_virtual_storage_device_lower_io_latency_seconds_total` the same way |
| `windows_hyperv_virtual_storage_device_queue_length` | Running sum in 100ns ticks. Use `rate(windows_hyperv_virtual_storage_device_io_latency_seconds_total[5m])` |
| `windows_hyperv_virtual_storage_device_lower_queue_length` | Running sum in 100ns ticks. Use `rate(windows_hyperv_virtual_storage_device_lower_io_latency_seconds_total[5m])` |
| `windows_scheduled_task_last_result` | Use `windows_scheduled_task_last_result_status{status="success"}` |
Deprecated. These are still exported in 0.32 and will be removed in a later release:
| Deprecated | Use instead |
|--------------------------------------------------------------------|-----------------------------------------------------------|
| `windows_hyperv_hypervisor_virtual_processor_time_total` | `windows_hyperv_hypervisor_virtual_processor_mode_time_total` |
| `windows_hyperv_hypervisor_virtual_processor_total_run_time_total` | `windows_hyperv_hypervisor_virtual_processor_run_time_total` |
| `windows_hyperv_virtual_storage_device_latency_seconds` | `rate(windows_hyperv_virtual_storage_device_io_latency_seconds_total[5m]) / rate(windows_hyperv_virtual_storage_device_throughput_total[5m])` |
| `windows_hyperv_virtual_storage_device_lower_latency_seconds` | `windows_hyperv_virtual_storage_device_lower_io_latency_seconds_total`, used the same way |
| `windows_hyperv_virtual_storage_device_queue_length` | `rate(windows_hyperv_virtual_storage_device_io_latency_seconds_total[5m])` |
| `windows_hyperv_virtual_storage_device_lower_queue_length` | `rate(windows_hyperv_virtual_storage_device_lower_io_latency_seconds_total[5m])` |
| `windows_cache_data_map_hits_percent` | `windows_cache_data_map_hits_total` |
| `windows_scheduled_task_last_result` | `windows_scheduled_task_last_result_status` |
The deprecated Hyper-V storage latency and queue gauges and the removed logical disk `avg_*_requests_queued` gauges never held current values.
The removed Hyper-V storage latency and queue gauges and logical disk `avg_*_requests_queued` gauges never held current values.
They exported a running sum that only grows, so graphs of them rise steadily. The replacements give the actual average latency and queue length.
Changed type, same name:
@@ -320,7 +318,6 @@ Changed type, same name:
| `windows_iis_server_output_cache_items`, `windows_iis_worker_output_cache_items` | counter | gauge |
| `windows_iis_server_output_cache_memory_bytes`, `windows_iis_worker_output_cache_memory_bytes` | counter | gauge |
| `windows_iis_server_output_cache_active_flushed_items`, `windows_iis_worker_output_cache_active_flushed_items` | counter | gauge |
| `windows_smb_server_shares_current_open_file_count`, `windows_smb_server_shares_tree_connect_count` | counter | gauge |
| `windows_iis_worker_current_requests`, `windows_iis_worker_current_websocket_requests` | counter | gauge |
| `windows_iis_worker_max_threads` | counter | gauge |
| `windows_cache_copy_read_hits_total` | gauge | counter |
@@ -328,12 +325,16 @@ Changed type, same name:
| `windows_hyperv_legacy_network_adapter_bytes_dropped_total` | gauge | counter |
| `windows_mssql_waitstats_*` (all 12 wait types) | counter | gauge |
| `windows_mssql_transactions_version_store_units` | counter | gauge |
| `windows_exchange_workload_queued_tasks` | counter | gauge |
| `windows_iis_server_file_cache_max_memory_bytes`, `windows_iis_worker_file_cache_max_memory_bytes` | counter | gauge |
| `windows_netframework_clrjit_jit_standard_failures_total` | gauge | counter |
The IIS and SMB values are current occupancy or, for `worker_max_threads`, the configured thread pool limit, so query them directly instead of with `rate()`.
If Prometheus scrapes with OpenMetrics, the IIS, SMB and SQL Server metrics above were stored with a `_total` suffix, which counters get in that format. They now arrive without it.
The IIS values are current occupancy or, for `worker_max_threads`, the configured thread pool limit, so query them directly instead of with `rate()`.
If Prometheus scrapes with OpenMetrics, the IIS and SQL Server metrics above were stored with a `_total` suffix, which counters get in that format. They now arrive without it.
The cache, UDP and Hyper-V metrics already end in `_total`, so only their type metadata changes; `rate()` queries keep working.
The SQL Server wait statistics hold values that SQL Server computes over its last sampling interval (the `item` label names the statistic), and the version store unit count is a current value. Query them directly instead of with `rate()`.
The SQL Server metrics that gained a `_total` suffix hold running totals since the instance started, which 0.31 published as gauges.
The Exchange queued task count is the current queue length. The IIS file cache maximum is the peak of the current file cache memory usage, not a running total. The .NET JIT failure count is a running total since the process started, so use `rate()` or `increase()` on it.
Label changes on existing metrics:
@@ -347,6 +348,342 @@ Label changes on existing metrics:
Retired: `windows_net_route_info` was documented but never exported. It was removed from the documentation.
## Base units and counter names
windows_exporter 0.32 follows the Prometheus naming conventions for every metric: values are in base units (seconds, bytes, hertz, ratios from 0 to 1), the unit is part of the name, and counters end in `_total`.
The metrics below were renamed. **The old names are no longer exported, there are no aliases.** Update queries, recording rules, alerts and dashboards; the sample dashboards in [`dashboard/`](dashboard/README.md) and the rules in [`contrib/mixin`](contrib/mixin) already use the new names.
### Unit changes
These metrics changed their value, not only their name. A graph that mixes 0.31 and 0.32 data shows a step at the upgrade.
| 0.31 | 0.32 | Change |
|-------------------------------------------------------------------------|---------------------------------------------------------------------------------|--------|
| `windows_cpu_core_frequency_mhz` | `windows_cpu_core_frequency_hertz` | Hertz instead of megahertz: multiply the old value by 1e6 |
| `windows_cpu_info_l2_cache_size` | `windows_cpu_info_l2_cache_size_bytes` | Bytes instead of kilobytes |
| `windows_cpu_info_l3_cache_size` | `windows_cpu_info_l3_cache_size_bytes` | Bytes instead of kilobytes |
| `windows_exchange_http_proxy_avg_auth_latency` | `windows_exchange_http_proxy_avg_auth_latency_seconds` | Seconds instead of milliseconds |
| `windows_exchange_http_proxy_mailbox_proxy_failure_rate` | `windows_exchange_http_proxy_mailbox_proxy_failure_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_exchange_ldap_long_running_ops_per_sec` | `windows_exchange_ldap_long_running_operations_per_second` | Per second instead of the per-minute value, which 0.31 multiplied by 60: divide the old value by 3600; Now a gauge, query it without `rate()` |
| `windows_hyperv_datastore_cache_update_operation_latency_microseconds` | `windows_hyperv_datastore_cache_update_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_commit_byte_latency_microseconds` | `windows_hyperv_datastore_commit_byte_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_commit_operation_latency_microseconds` | `windows_hyperv_datastore_commit_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_compact_operation_latency_microseconds` | `windows_hyperv_datastore_compact_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_load_file_operation_latency_microseconds` | `windows_hyperv_datastore_load_file_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_query_size_operation_latency_microseconds` | `windows_hyperv_datastore_query_size_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_read_from_file_byte_latency_microseconds` | `windows_hyperv_datastore_read_from_file_byte_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_read_from_storage_byte_latency_microseconds` | `windows_hyperv_datastore_read_from_storage_byte_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_reconnect_latency_microseconds` | `windows_hyperv_datastore_reconnect_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_remove_operation_latency_microseconds` | `windows_hyperv_datastore_remove_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_set_operation_latency_microseconds` | `windows_hyperv_datastore_set_operation_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_write_to_file_byte_latency_microseconds` | `windows_hyperv_datastore_write_to_file_byte_latency_seconds` | Seconds instead of microseconds |
| `windows_hyperv_datastore_write_to_storage_byte_latency_microseconds` | `windows_hyperv_datastore_write_to_storage_byte_latency_seconds` | Seconds instead of microseconds |
| `windows_mscluster_cluster_block_cache_size` | `windows_mscluster_cluster_block_cache_size_bytes` | Bytes instead of megabytes |
| `windows_mscluster_cluster_clus_svc_regroup_tick_in_milliseconds` | `windows_mscluster_cluster_clus_svc_regroup_tick_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_cluster_log_size` | `windows_mscluster_cluster_cluster_log_size_bytes` | Bytes instead of megabytes |
| `windows_mscluster_cluster_cross_site_delay` | `windows_mscluster_cluster_cross_site_delay_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_cross_subnet_delay` | `windows_mscluster_cluster_cross_subnet_delay_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_grace_period_timeout` | `windows_mscluster_cluster_grace_period_timeout_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_root_memory_reserved` | `windows_mscluster_cluster_root_memory_reserved_bytes` | Bytes instead of megabytes |
| `windows_mscluster_cluster_s2d_cache_flash_reserve_percent` | `windows_mscluster_cluster_s2d_cache_flash_reserve_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_mscluster_cluster_s2d_cache_page_size_k_bytes` | `windows_mscluster_cluster_s2d_cache_page_size_bytes` | Bytes instead of kilobytes |
| `windows_mscluster_cluster_s2dio_latency_threshold` | `windows_mscluster_cluster_s2dio_latency_threshold_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_same_subnet_delay` | `windows_mscluster_cluster_same_subnet_delay_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_cluster_shutdown_timeout_in_minutes` | `windows_mscluster_cluster_shutdown_timeout_seconds` | Seconds instead of minutes |
| `windows_mscluster_resource_deadlock_timeout` | `windows_mscluster_resource_deadlock_timeout_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_is_alive_poll_interval` | `windows_mscluster_resource_is_alive_poll_interval_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_looks_alive_poll_interval` | `windows_mscluster_resource_looks_alive_poll_interval_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_pending_timeout` | `windows_mscluster_resource_pending_timeout_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_restart_delay` | `windows_mscluster_resource_restart_delay_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_restart_period` | `windows_mscluster_resource_restart_period_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resource_retry_period_on_failure` | `windows_mscluster_resource_retry_period_on_failure_seconds` | Seconds instead of milliseconds |
| `windows_mscluster_resourcegroup_failover_period` | `windows_mscluster_resourcegroup_failover_period_seconds` | Seconds instead of hours |
| `windows_mssql_bufman_extension_in_use_as_percentage` | `windows_mssql_bufman_extension_in_use_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_mssql_databases_log_used_percent` | `windows_mssql_databases_log_used_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_netframework_clrjit_jit_time_percent` | `windows_netframework_clrjit_jit_time_ratio` | Ratio from 0 to 1. 0.31 divided the raw counter by the performance counter frequency, which was neither a percentage nor a ratio |
| `windows_netframework_clrmemory_gc_time_percent` | `windows_netframework_clrmemory_gc_time_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_netframework_clrsecurity_rt_checks_time_percent` | `windows_netframework_clrsecurity_rt_checks_time_ratio` | Ratio from 0 to 1. 0.31 divided the raw counter by the performance counter frequency, which was neither a percentage nor a ratio |
| `windows_storage_spaces_virtual_disk_storage_efficiency_percent` | `windows_storage_spaces_virtual_disk_storage_efficiency_ratio` | Ratio from 0 to 1 instead of percent: divide the old value by 100 |
| `windows_time_clock_frequency_adjustment_ppb` | `windows_time_clock_frequency_adjustment_ratio` | Ratio instead of parts per billion: multiply the old value by 1e-9 |
| `windows_vmware_cpu_effective_vm_speed_mhz_total` | `windows_vmware_cpu_effective_vm_speed_hertz` | Hertz instead of megahertz: multiply the old value by 1e6 |
| `windows_vmware_cpu_limit_mhz` | `windows_vmware_cpu_limit_hertz` | Hertz instead of megahertz: multiply the old value by 1e6 |
| `windows_vmware_cpu_reservation_mhz` | `windows_vmware_cpu_reservation_hertz` | Hertz instead of megahertz: multiply the old value by 1e6 |
| `windows_vmware_host_processor_speed_mhz` | `windows_vmware_host_processor_speed_hertz` | Hertz instead of megahertz: multiply the old value by 1e6 |
Examples: `windows_cpu_core_frequency_mhz * 1e6` becomes `windows_cpu_core_frequency_hertz`; an alert on `windows_mssql_databases_log_used_percent > 90` becomes `windows_mssql_databases_log_used_ratio > 0.9`.
The `.NET CLR` JIT and security time ratios are now the raw value divided by its base, like `windows_netframework_clrmemory_gc_time_ratio`, and are left out while Windows reports no base value.
### Other renames
These metrics keep their values. The name changed to add the unit, to describe the value or, for counters, to put the unit before the `_total` suffix. If Prometheus scrapes with OpenMetrics, the stored names of these counters change as well.
| 0.31 | 0.32 | Note |
|-------------------------------------------------------------------------|---------------------------------------------------------------------------------|------|
| `windows_container_count` | `windows_containers` | Same value |
| `windows_container_cpu_usage_seconds_kernelmode` | `windows_container_cpu_usage_kernelmode_seconds_total` | Same value |
| `windows_container_cpu_usage_seconds_usermode` | `windows_container_cpu_usage_usermode_seconds_total` | Same value |
| `windows_cpu_time_total` | `windows_cpu_time_seconds_total` | Same value |
| `windows_diskdrive_size` | `windows_diskdrive_size_bytes` | Same value |
| `windows_exchange_availability_service_requests_per_sec` | `windows_exchange_availability_service_requests_total` | Same value |
| `windows_exchange_http_proxy_avg_cas_processing_latency_sec` | `windows_exchange_http_proxy_avg_cas_processing_latency_seconds` | Same value |
| `windows_exchange_http_proxy_mailbox_server_locator_avg_latency_sec` | `windows_exchange_http_proxy_mailbox_server_locator_avg_latency_seconds` | Same value |
| `windows_exchange_ldap_read_time_sec` | `windows_exchange_ldap_read_time_seconds_total` | Same value |
| `windows_exchange_ldap_search_time_sec` | `windows_exchange_ldap_search_time_seconds_total` | Same value |
| `windows_exchange_ldap_write_time_sec` | `windows_exchange_ldap_write_time_seconds_total` | Same value |
| `windows_exchange_mapihttp_emsmdb_active_user_count` | `windows_exchange_mapihttp_emsmdb_active_users` | Same value |
| `windows_exchange_rpc_active_user_count` | `windows_exchange_rpc_active_users` | Same value |
| `windows_exchange_rpc_avg_latency_sec` | `windows_exchange_rpc_avg_latency_seconds` | Same value |
| `windows_exchange_rpc_connection_count` | `windows_exchange_rpc_connections` | Same value |
| `windows_exchange_rpc_user_count` | `windows_exchange_rpc_users` | Same value |
| `windows_fsrmquota_count` | `windows_fsrmquota_quotas` | Same value |
| `windows_hyperv_datastore_cache_update_operation_count` | `windows_hyperv_datastore_cache_update_operations_total` | Same value |
| `windows_hyperv_datastore_commit_byte_count` | `windows_hyperv_datastore_commit_bytes_total` | Same value |
| `windows_hyperv_datastore_commit_count` | `windows_hyperv_datastore_commits_total` | Same value |
| `windows_hyperv_datastore_commit_operation_count` | `windows_hyperv_datastore_commit_operations_total` | Same value |
| `windows_hyperv_datastore_compact_operation_count` | `windows_hyperv_datastore_compact_operations_total` | Same value |
| `windows_hyperv_datastore_disconnect_count` | `windows_hyperv_datastore_disconnects_total` | Same value |
| `windows_hyperv_datastore_load_file_operation_count` | `windows_hyperv_datastore_load_file_operations_total` | Same value |
| `windows_hyperv_datastore_query_size_operation_count` | `windows_hyperv_datastore_query_size_operations_total` | Same value |
| `windows_hyperv_datastore_read_from_file_byte_count` | `windows_hyperv_datastore_read_from_file_bytes_total` | Same value |
| `windows_hyperv_datastore_read_from_file_count` | `windows_hyperv_datastore_read_from_file_operations_total` | Same value |
| `windows_hyperv_datastore_read_from_storage_byte_count` | `windows_hyperv_datastore_read_from_storage_bytes_total` | Same value |
| `windows_hyperv_datastore_read_from_storage_count` | `windows_hyperv_datastore_read_from_storage_operations_total` | Same value |
| `windows_hyperv_datastore_remove_operation_count` | `windows_hyperv_datastore_remove_operations_total` | Same value |
| `windows_hyperv_datastore_set_operation_count` | `windows_hyperv_datastore_set_operations_total` | Same value |
| `windows_hyperv_datastore_write_to_file_byte_count` | `windows_hyperv_datastore_write_to_file_bytes_total` | Same value |
| `windows_hyperv_datastore_write_to_file_count` | `windows_hyperv_datastore_write_to_file_operations_total` | Same value |
| `windows_hyperv_datastore_write_to_storage_byte_count` | `windows_hyperv_datastore_write_to_storage_bytes_total` | Same value |
| `windows_hyperv_datastore_write_to_storage_count` | `windows_hyperv_datastore_write_to_storage_operations_total` | Same value |
| `windows_hyperv_host_logical_processor_count` | `windows_hyperv_host_logical_processors` | Same value |
| `windows_hyperv_hypervisor_logical_processor_time_total` | `windows_hyperv_hypervisor_logical_processor_time_seconds_total` | Same value |
| `windows_hyperv_hypervisor_logical_processor_total_run_time_total` | `windows_hyperv_hypervisor_logical_processor_total_run_time_seconds_total` | Same value |
| `windows_hyperv_hypervisor_root_virtual_processor_time_total` | `windows_hyperv_hypervisor_root_virtual_processor_time_seconds_total` | Same value |
| `windows_hyperv_hypervisor_root_virtual_processor_total_run_time_total` | `windows_hyperv_hypervisor_root_virtual_processor_total_run_time_seconds_total` | Same value |
| `windows_hyperv_hypervisor_virtual_processor_mode_time_total` | `windows_hyperv_hypervisor_virtual_processor_mode_time_seconds_total` | Same value |
| `windows_hyperv_hypervisor_virtual_processor_run_time_total` | `windows_hyperv_hypervisor_virtual_processor_run_time_seconds_total` | Same value |
| `windows_hyperv_root_partition_1G_device_pages` | `windows_hyperv_root_partition_1g_device_pages` | Same value |
| `windows_hyperv_root_partition_1G_gpa_pages` | `windows_hyperv_root_partition_1g_gpa_pages` | Same value |
| `windows_hyperv_root_partition_2M_device_pages` | `windows_hyperv_root_partition_2m_device_pages` | Same value |
| `windows_hyperv_root_partition_2M_gpa_pages` | `windows_hyperv_root_partition_2m_gpa_pages` | Same value |
| `windows_hyperv_root_partition_4K_device_pages` | `windows_hyperv_root_partition_4k_device_pages` | Same value |
| `windows_hyperv_root_partition_4K_gpa_pages` | `windows_hyperv_root_partition_4k_gpa_pages` | Same value |
| `windows_hyperv_total_vm_processor_count` | `windows_hyperv_assigned_vm_processors` | Same value |
| `windows_hyperv_virtual_machine_health_total_count` | `windows_hyperv_virtual_machines` | Same value |
| `windows_hyperv_virtual_smb_current_open_file_count` | `windows_hyperv_virtual_smb_open_files` | Same value |
| `windows_hyperv_virtual_smb_read_bytes_rdma` | `windows_hyperv_virtual_smb_rdma_read_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_read_requests_rdma` | `windows_hyperv_virtual_smb_rdma_read_requests_total` | Same value |
| `windows_hyperv_virtual_smb_tree_connect_count` | `windows_hyperv_virtual_smb_tree_connects_total` | Same value. Now a counter, use `rate()` |
| `windows_hyperv_virtual_smb_write_bytes_rdma` | `windows_hyperv_virtual_smb_rdma_write_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_write_requests_rdma` | `windows_hyperv_virtual_smb_rdma_write_requests_total` | Same value |
| `windows_hyperv_virtual_storage_device_bytes_read` | `windows_hyperv_virtual_storage_device_read_bytes_total` | Same value |
| `windows_hyperv_virtual_storage_device_bytes_written` | `windows_hyperv_virtual_storage_device_written_bytes_total` | Same value |
| `windows_hyperv_virtual_storage_device_error_count_total` | `windows_hyperv_virtual_storage_device_errors_total` | Same value |
| `windows_hyperv_vm_processor_count` | `windows_hyperv_vm_processors` | Same value |
| `windows_iis_service_uptime` | `windows_iis_service_uptime_seconds` | Same value |
| `windows_iis_total_application_pool_recycles` | `windows_iis_application_pool_recycles_total` | Same value |
| `windows_iis_total_worker_process_failures` | `windows_iis_worker_process_failures_total` | Same value |
| `windows_iis_total_worker_process_ping_failures` | `windows_iis_worker_process_ping_failures_total` | Same value |
| `windows_iis_total_worker_process_shutdown_failures` | `windows_iis_worker_process_shutdown_failures_total` | Same value |
| `windows_iis_total_worker_process_startup_failures` | `windows_iis_worker_process_startup_failures_total` | Same value |
| `windows_iis_total_worker_processes_created` | `windows_iis_worker_processes_created_total` | Same value |
| `windows_mscluster_cluster_add_evict_delay` | `windows_mscluster_cluster_add_evict_delay_seconds` | Same value |
| `windows_mscluster_cluster_clus_svc_hang_timeout` | `windows_mscluster_cluster_clus_svc_hang_timeout_seconds` | Same value |
| `windows_mscluster_cluster_clus_svc_regroup_opening_timeout` | `windows_mscluster_cluster_clus_svc_regroup_opening_timeout_seconds` | Same value |
| `windows_mscluster_cluster_clus_svc_regroup_pruning_timeout` | `windows_mscluster_cluster_clus_svc_regroup_pruning_timeout_seconds` | Same value |
| `windows_mscluster_cluster_clus_svc_regroup_stage_timeout` | `windows_mscluster_cluster_clus_svc_regroup_stage_timeout_seconds` | Same value |
| `windows_mscluster_cluster_cluster_group_wait_delay` | `windows_mscluster_cluster_cluster_group_wait_delay_seconds` | Same value |
| `windows_mscluster_cluster_group_dependency_timeout` | `windows_mscluster_cluster_group_dependency_timeout_seconds` | Same value |
| `windows_mscluster_cluster_quarantine_duration` | `windows_mscluster_cluster_quarantine_duration_seconds` | Same value |
| `windows_mscluster_cluster_quorum_arbitration_time_max` | `windows_mscluster_cluster_quorum_arbitration_time_max_seconds` | Same value |
| `windows_mscluster_cluster_quorum_arbitration_time_min` | `windows_mscluster_cluster_quorum_arbitration_time_min_seconds` | Same value |
| `windows_mscluster_cluster_request_reply_timeout` | `windows_mscluster_cluster_request_reply_timeout_seconds` | Same value |
| `windows_mscluster_cluster_resiliency_default_period` | `windows_mscluster_cluster_resiliency_default_period_seconds` | Same value |
| `windows_mscluster_cluster_shared_volume_vss_writer_operation_timeout` | `windows_mscluster_cluster_shared_volume_vss_writer_operation_timeout_seconds` | Same value |
| `windows_mscluster_cluster_witness_database_write_timeout` | `windows_mscluster_cluster_witness_database_write_timeout_seconds` | Same value |
| `windows_mscluster_cluster_witness_restart_interval` | `windows_mscluster_cluster_witness_restart_interval_seconds` | Same value |
| `windows_mscluster_resourcegroup_resiliency_period` | `windows_mscluster_resourcegroup_resiliency_period_seconds` | Same value |
| `windows_msmq_bytes_in_journal_queue` | `windows_msmq_journal_queue_bytes` | Same value |
| `windows_msmq_bytes_in_queue` | `windows_msmq_queue_bytes` | Same value |
| `windows_mssql_locks_lock_timeouts_excluding_NOWAIT` | `windows_mssql_locks_lock_timeouts_excluding_nowait_total` | Same value |
| `windows_nps_access_server_reset_time` | `windows_nps_access_server_reset_time_seconds` | Same value. Now a gauge, query it without `rate()` |
| `windows_nps_access_server_up_time` | `windows_nps_access_server_up_time_seconds` | Same value. Now a gauge, query it without `rate()` |
| `windows_nps_accounting_server_reset_time` | `windows_nps_accounting_server_reset_time_seconds` | Same value. Now a gauge, query it without `rate()` |
| `windows_nps_accounting_server_up_time` | `windows_nps_accounting_server_up_time_seconds` | Same value. Now a gauge, query it without `rate()` |
| `windows_printer_job_count` | `windows_printer_jobs` | Same value. Now a gauge, query it without `rate()` |
| `windows_process_cpu_time_total` | `windows_process_cpu_time_seconds_total` | Same value |
| `windows_smb_server_shares_current_open_file_count` | `windows_smb_server_shares_open_files` | Same value. Now a gauge, query it without `rate()` |
| `windows_smb_server_shares_tree_connect_count` | `windows_smb_server_shares_tree_connects` | Same value. Now a gauge, query it without `rate()` |
| `windows_tcp_connections_state_count` | `windows_tcp_connections` | Same value |
### Counters with a `_total` suffix
These counters keep their values and type; only the `_total` suffix was added. `rate()` and `increase()` queries only need the new name.
If Prometheus scrapes with OpenMetrics, it already stored exactly these names, because OpenMetrics adds `_total` to counters.
| 0.31 | 0.32 | Note |
|-------------------------------------------------------------------------|---------------------------------------------------------------------------------|------|
| `windows_ad_replication_highest_usn` | `windows_ad_replication_highest_usn_total` | Same value |
| `windows_exchange_workload_completed_tasks` | `windows_exchange_workload_completed_tasks_total` | Same value |
| `windows_exchange_workload_yielded_tasks` | `windows_exchange_workload_yielded_tasks_total` | Same value |
| `windows_gpu_engine_time_seconds` | `windows_gpu_engine_time_seconds_total` | Same value |
| `windows_hyperv_virtual_network_adapter_drop_reasons` | `windows_hyperv_virtual_network_adapter_drop_reasons_total` | Same value |
| `windows_hyperv_virtual_smb_flush_requests` | `windows_hyperv_virtual_smb_flush_requests_total` | Same value |
| `windows_hyperv_virtual_smb_read_bytes` | `windows_hyperv_virtual_smb_read_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_read_requests` | `windows_hyperv_virtual_smb_read_requests_total` | Same value |
| `windows_hyperv_virtual_smb_received_bytes` | `windows_hyperv_virtual_smb_received_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_requests` | `windows_hyperv_virtual_smb_requests_total` | Same value |
| `windows_hyperv_virtual_smb_sent_bytes` | `windows_hyperv_virtual_smb_sent_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_write_bytes` | `windows_hyperv_virtual_smb_write_bytes_total` | Same value |
| `windows_hyperv_virtual_smb_write_requests` | `windows_hyperv_virtual_smb_write_requests_total` | Same value |
| `windows_mssql_accessmethods_au_batch_cleanup_failures` | `windows_mssql_accessmethods_au_batch_cleanup_failures_total` | Same value |
| `windows_mssql_accessmethods_au_batch_cleanups` | `windows_mssql_accessmethods_au_batch_cleanups_total` | Same value |
| `windows_mssql_accessmethods_au_cleanups` | `windows_mssql_accessmethods_au_cleanups_total` | Same value |
| `windows_mssql_accessmethods_by_reference_lob_creates` | `windows_mssql_accessmethods_by_reference_lob_creates_total` | Same value |
| `windows_mssql_accessmethods_by_reference_lob_uses` | `windows_mssql_accessmethods_by_reference_lob_uses_total` | Same value |
| `windows_mssql_accessmethods_column_value_pulls` | `windows_mssql_accessmethods_column_value_pulls_total` | Same value |
| `windows_mssql_accessmethods_column_value_pushes` | `windows_mssql_accessmethods_column_value_pushes_total` | Same value |
| `windows_mssql_accessmethods_dropped_rowset_cleanups` | `windows_mssql_accessmethods_dropped_rowset_cleanups_total` | Same value |
| `windows_mssql_accessmethods_dropped_rowset_skips` | `windows_mssql_accessmethods_dropped_rowset_skips_total` | Same value |
| `windows_mssql_accessmethods_extent_allocations` | `windows_mssql_accessmethods_extent_allocations_total` | Same value |
| `windows_mssql_accessmethods_extent_deallocations` | `windows_mssql_accessmethods_extent_deallocations_total` | Same value |
| `windows_mssql_accessmethods_forwarded_records` | `windows_mssql_accessmethods_forwarded_records_total` | Same value |
| `windows_mssql_accessmethods_free_space_page_fetches` | `windows_mssql_accessmethods_free_space_page_fetches_total` | Same value |
| `windows_mssql_accessmethods_free_space_scans` | `windows_mssql_accessmethods_free_space_scans_total` | Same value |
| `windows_mssql_accessmethods_full_scans` | `windows_mssql_accessmethods_full_scans_total` | Same value |
| `windows_mssql_accessmethods_ghost_record_skips` | `windows_mssql_accessmethods_ghost_record_skips_total` | Same value |
| `windows_mssql_accessmethods_index_searches` | `windows_mssql_accessmethods_index_searches_total` | Same value |
| `windows_mssql_accessmethods_insysxact_waits` | `windows_mssql_accessmethods_insysxact_waits_total` | Same value |
| `windows_mssql_accessmethods_leaf_page_cookie_failures` | `windows_mssql_accessmethods_leaf_page_cookie_failures_total` | Same value |
| `windows_mssql_accessmethods_leaf_page_cookie_uses` | `windows_mssql_accessmethods_leaf_page_cookie_uses_total` | Same value |
| `windows_mssql_accessmethods_lob_handle_creates` | `windows_mssql_accessmethods_lob_handle_creates_total` | Same value |
| `windows_mssql_accessmethods_lob_handle_destroys` | `windows_mssql_accessmethods_lob_handle_destroys_total` | Same value |
| `windows_mssql_accessmethods_lob_read_aheads` | `windows_mssql_accessmethods_lob_read_aheads_total` | Same value |
| `windows_mssql_accessmethods_lob_ss_provider_creates` | `windows_mssql_accessmethods_lob_ss_provider_creates_total` | Same value |
| `windows_mssql_accessmethods_lob_ss_provider_destroys` | `windows_mssql_accessmethods_lob_ss_provider_destroys_total` | Same value |
| `windows_mssql_accessmethods_lob_ss_provider_truncations` | `windows_mssql_accessmethods_lob_ss_provider_truncations_total` | Same value |
| `windows_mssql_accessmethods_mixed_page_allocations` | `windows_mssql_accessmethods_mixed_page_allocations_total` | Same value |
| `windows_mssql_accessmethods_page_allocations` | `windows_mssql_accessmethods_page_allocations_total` | Same value |
| `windows_mssql_accessmethods_page_compression_attempts` | `windows_mssql_accessmethods_page_compression_attempts_total` | Same value |
| `windows_mssql_accessmethods_page_compressions` | `windows_mssql_accessmethods_page_compressions_total` | Same value |
| `windows_mssql_accessmethods_page_deallocations` | `windows_mssql_accessmethods_page_deallocations_total` | Same value |
| `windows_mssql_accessmethods_page_splits` | `windows_mssql_accessmethods_page_splits_total` | Same value |
| `windows_mssql_accessmethods_probe_scans` | `windows_mssql_accessmethods_probe_scans_total` | Same value |
| `windows_mssql_accessmethods_range_scans` | `windows_mssql_accessmethods_range_scans_total` | Same value |
| `windows_mssql_accessmethods_scan_point_revalidations` | `windows_mssql_accessmethods_scan_point_revalidations_total` | Same value |
| `windows_mssql_accessmethods_table_lock_escalations` | `windows_mssql_accessmethods_table_lock_escalations_total` | Same value |
| `windows_mssql_accessmethods_tree_page_cookie_failures` | `windows_mssql_accessmethods_tree_page_cookie_failures_total` | Same value |
| `windows_mssql_accessmethods_tree_page_cookie_uses` | `windows_mssql_accessmethods_tree_page_cookie_uses_total` | Same value |
| `windows_mssql_accessmethods_workfile_creates` | `windows_mssql_accessmethods_workfile_creates_total` | Same value |
| `windows_mssql_accessmethods_worktables_creates` | `windows_mssql_accessmethods_worktables_creates_total` | Same value |
| `windows_mssql_accessmethods_worktables_from_cache_hits` | `windows_mssql_accessmethods_worktables_from_cache_hits_total` | Same value |
| `windows_mssql_accessmethods_worktables_from_cache_lookups` | `windows_mssql_accessmethods_worktables_from_cache_lookups_total` | Same value |
| `windows_mssql_availreplica_flow_control_wait_seconds` | `windows_mssql_availreplica_flow_control_wait_seconds_total` | Same value |
| `windows_mssql_availreplica_initiated_flow_controls` | `windows_mssql_availreplica_initiated_flow_controls_total` | Same value |
| `windows_mssql_availreplica_received_from_replica_bytes` | `windows_mssql_availreplica_received_from_replica_bytes_total` | Same value |
| `windows_mssql_availreplica_receives_from_replica` | `windows_mssql_availreplica_receives_from_replica_total` | Same value |
| `windows_mssql_availreplica_resent_messages` | `windows_mssql_availreplica_resent_messages_total` | Same value |
| `windows_mssql_availreplica_sends_to_replica` | `windows_mssql_availreplica_sends_to_replica_total` | Same value |
| `windows_mssql_availreplica_sends_to_transport` | `windows_mssql_availreplica_sends_to_transport_total` | Same value |
| `windows_mssql_availreplica_sent_to_replica_bytes` | `windows_mssql_availreplica_sent_to_replica_bytes_total` | Same value |
| `windows_mssql_availreplica_sent_to_transport_bytes` | `windows_mssql_availreplica_sent_to_transport_bytes_total` | Same value |
| `windows_mssql_bufman_background_writer_pages` | `windows_mssql_bufman_background_writer_pages_total` | Same value |
| `windows_mssql_bufman_checkpoint_pages` | `windows_mssql_bufman_checkpoint_pages_total` | Same value |
| `windows_mssql_bufman_extension_page_evictions` | `windows_mssql_bufman_extension_page_evictions_total` | Same value |
| `windows_mssql_bufman_extension_page_reads` | `windows_mssql_bufman_extension_page_reads_total` | Same value |
| `windows_mssql_bufman_extension_page_writes` | `windows_mssql_bufman_extension_page_writes_total` | Same value |
| `windows_mssql_bufman_free_list_stalls` | `windows_mssql_bufman_free_list_stalls_total` | Same value |
| `windows_mssql_bufman_lazywrites` | `windows_mssql_bufman_lazywrites_total` | Same value |
| `windows_mssql_bufman_page_lookups` | `windows_mssql_bufman_page_lookups_total` | Same value |
| `windows_mssql_bufman_page_reads` | `windows_mssql_bufman_page_reads_total` | Same value |
| `windows_mssql_bufman_page_writes` | `windows_mssql_bufman_page_writes_total` | Same value |
| `windows_mssql_bufman_read_ahead_issuing_seconds` | `windows_mssql_bufman_read_ahead_issuing_seconds_total` | Seconds instead of microseconds |
| `windows_mssql_bufman_read_ahead_pages` | `windows_mssql_bufman_read_ahead_pages_total` | Same value |
| `windows_mssql_databases_backup_restore_operations` | `windows_mssql_databases_backup_restore_operations_total` | Same value |
| `windows_mssql_databases_bulk_copy_bytes` | `windows_mssql_databases_bulk_copy_bytes_total` | Same value |
| `windows_mssql_databases_bulk_copy_rows` | `windows_mssql_databases_bulk_copy_rows_total` | Same value |
| `windows_mssql_databases_dbcc_logical_scan_bytes` | `windows_mssql_databases_dbcc_logical_scan_bytes_total` | Same value |
| `windows_mssql_databases_group_commit_stall_seconds` | `windows_mssql_databases_group_commit_stall_seconds_total` | Same value |
| `windows_mssql_databases_log_cache_reads` | `windows_mssql_databases_log_cache_reads_total` | Same value |
| `windows_mssql_databases_log_flush_waits` | `windows_mssql_databases_log_flush_waits_total` | Same value |
| `windows_mssql_databases_log_flushed_bytes` | `windows_mssql_databases_log_flushed_bytes_total` | Same value |
| `windows_mssql_databases_log_flushes` | `windows_mssql_databases_log_flushes_total` | Same value |
| `windows_mssql_databases_log_pool_cache_misses` | `windows_mssql_databases_log_pool_cache_misses_total` | Same value |
| `windows_mssql_databases_log_pool_disk_reads` | `windows_mssql_databases_log_pool_disk_reads_total` | Same value |
| `windows_mssql_databases_log_pool_empty_free_pool_pushes` | `windows_mssql_databases_log_pool_empty_free_pool_pushes_total` | Same value |
| `windows_mssql_databases_log_pool_hash_deletes` | `windows_mssql_databases_log_pool_hash_deletes_total` | Same value |
| `windows_mssql_databases_log_pool_hash_inserts` | `windows_mssql_databases_log_pool_hash_inserts_total` | Same value |
| `windows_mssql_databases_log_pool_invalid_hash_entries` | `windows_mssql_databases_log_pool_invalid_hash_entries_total` | Same value |
| `windows_mssql_databases_log_pool_log_scan_pushes` | `windows_mssql_databases_log_pool_log_scan_pushes_total` | Same value |
| `windows_mssql_databases_log_pool_log_writer_pushes` | `windows_mssql_databases_log_pool_log_writer_pushes_total` | Same value |
| `windows_mssql_databases_log_pool_low_memory_pushes` | `windows_mssql_databases_log_pool_low_memory_pushes_total` | Same value |
| `windows_mssql_databases_log_pool_no_free_buffer_pushes` | `windows_mssql_databases_log_pool_no_free_buffer_pushes_total` | Same value |
| `windows_mssql_databases_log_pool_req_behind_trunc` | `windows_mssql_databases_log_pool_req_behind_trunc_total` | Same value |
| `windows_mssql_databases_log_pool_requests` | `windows_mssql_databases_log_pool_requests_total` | Same value |
| `windows_mssql_databases_log_pool_requests_old_vlf` | `windows_mssql_databases_log_pool_requests_old_vlf_total` | Same value |
| `windows_mssql_databases_repl_transactions` | `windows_mssql_databases_repl_transactions_total` | Same value |
| `windows_mssql_databases_shrink_data_movement_bytes` | `windows_mssql_databases_shrink_data_movement_bytes_total` | Same value |
| `windows_mssql_databases_tracked_transactions` | `windows_mssql_databases_tracked_transactions_total` | Same value |
| `windows_mssql_databases_transactions` | `windows_mssql_databases_transactions_total` | Same value |
| `windows_mssql_databases_write_transactions` | `windows_mssql_databases_write_transactions_total` | Same value |
| `windows_mssql_databases_xtp_controller_log_processed_bytes` | `windows_mssql_databases_xtp_controller_log_processed_bytes_total` | Same value |
| `windows_mssql_dbreplica_database_initiated_flow_controls` | `windows_mssql_dbreplica_database_initiated_flow_controls_total` | Same value |
| `windows_mssql_dbreplica_group_commits` | `windows_mssql_dbreplica_group_commits_total` | Same value |
| `windows_mssql_dbreplica_log_compressed_bytes` | `windows_mssql_dbreplica_log_compressed_bytes_total` | Same value |
| `windows_mssql_dbreplica_log_compression_cachehits` | `windows_mssql_dbreplica_log_compression_cachehits_total` | Same value |
| `windows_mssql_dbreplica_log_compression_cachemisses` | `windows_mssql_dbreplica_log_compression_cachemisses_total` | Same value |
| `windows_mssql_dbreplica_log_compressions` | `windows_mssql_dbreplica_log_compressions_total` | Same value |
| `windows_mssql_dbreplica_log_decompressed_bytes` | `windows_mssql_dbreplica_log_decompressed_bytes_total` | Same value |
| `windows_mssql_dbreplica_log_decompressions` | `windows_mssql_dbreplica_log_decompressions_total` | Same value |
| `windows_mssql_dbreplica_log_received_bytes` | `windows_mssql_dbreplica_log_received_bytes_total` | Same value |
| `windows_mssql_dbreplica_mirrored_write_transactions` | `windows_mssql_dbreplica_mirrored_write_transactions_total` | Same value |
| `windows_mssql_dbreplica_received_file_bytes` | `windows_mssql_dbreplica_received_file_bytes_total` | Same value |
| `windows_mssql_dbreplica_redo_blocks` | `windows_mssql_dbreplica_redo_blocks_total` | Same value |
| `windows_mssql_dbreplica_redone_bytes` | `windows_mssql_dbreplica_redone_bytes_total` | Same value |
| `windows_mssql_dbreplica_redones` | `windows_mssql_dbreplica_redones_total` | Same value |
| `windows_mssql_genstats_connection_resets` | `windows_mssql_genstats_connection_resets_total` | Same value |
| `windows_mssql_genstats_logins` | `windows_mssql_genstats_logins_total` | Same value |
| `windows_mssql_genstats_logouts` | `windows_mssql_genstats_logouts_total` | Same value |
| `windows_mssql_genstats_non_atomic_yields` | `windows_mssql_genstats_non_atomic_yields_total` | Same value |
| `windows_mssql_genstats_temp_tables_creations` | `windows_mssql_genstats_temp_tables_creations_total` | Same value |
| `windows_mssql_locks_deadlocks` | `windows_mssql_locks_deadlocks_total` | Same value |
| `windows_mssql_locks_lock_requests` | `windows_mssql_locks_lock_requests_total` | Same value |
| `windows_mssql_locks_lock_timeouts` | `windows_mssql_locks_lock_timeouts_total` | Same value |
| `windows_mssql_locks_lock_waits` | `windows_mssql_locks_lock_waits_total` | Same value |
| `windows_mssql_sqlstats_auto_parameterization_attempts` | `windows_mssql_sqlstats_auto_parameterization_attempts_total` | Same value |
| `windows_mssql_sqlstats_batch_requests` | `windows_mssql_sqlstats_batch_requests_total` | Same value |
| `windows_mssql_sqlstats_failed_auto_parameterization_attempts` | `windows_mssql_sqlstats_failed_auto_parameterization_attempts_total` | Same value |
| `windows_mssql_sqlstats_forced_parameterizations` | `windows_mssql_sqlstats_forced_parameterizations_total` | Same value |
| `windows_mssql_sqlstats_guided_plan_executions` | `windows_mssql_sqlstats_guided_plan_executions_total` | Same value |
| `windows_mssql_sqlstats_misguided_plan_executions` | `windows_mssql_sqlstats_misguided_plan_executions_total` | Same value |
| `windows_mssql_sqlstats_safe_auto_parameterization_attempts` | `windows_mssql_sqlstats_safe_auto_parameterization_attempts_total` | Same value |
| `windows_mssql_sqlstats_sql_attentions` | `windows_mssql_sqlstats_sql_attentions_total` | Same value |
| `windows_mssql_sqlstats_sql_compilations` | `windows_mssql_sqlstats_sql_compilations_total` | Same value |
| `windows_mssql_sqlstats_sql_recompilations` | `windows_mssql_sqlstats_sql_recompilations_total` | Same value |
| `windows_mssql_sqlstats_unsafe_auto_parameterization_attempts` | `windows_mssql_sqlstats_unsafe_auto_parameterization_attempts_total` | Same value |
| `windows_mssql_transactions_version_store_creation_units` | `windows_mssql_transactions_version_store_creation_units_total` | Same value |
| `windows_mssql_transactions_version_store_truncation_units` | `windows_mssql_transactions_version_store_truncation_units_total` | Same value |
| `windows_nps_access_accepts` | `windows_nps_access_accepts_total` | Same value |
| `windows_nps_access_bad_authenticators` | `windows_nps_access_bad_authenticators_total` | Same value |
| `windows_nps_access_challenges` | `windows_nps_access_challenges_total` | Same value |
| `windows_nps_access_dropped_packets` | `windows_nps_access_dropped_packets_total` | Same value |
| `windows_nps_access_invalid_requests` | `windows_nps_access_invalid_requests_total` | Same value |
| `windows_nps_access_malformed_packets` | `windows_nps_access_malformed_packets_total` | Same value |
| `windows_nps_access_packets_received` | `windows_nps_access_packets_received_total` | Same value |
| `windows_nps_access_packets_sent` | `windows_nps_access_packets_sent_total` | Same value |
| `windows_nps_access_rejects` | `windows_nps_access_rejects_total` | Same value |
| `windows_nps_access_requests` | `windows_nps_access_requests_total` | Same value |
| `windows_nps_access_unknown_type` | `windows_nps_access_unknown_type_total` | Same value |
| `windows_nps_accounting_bad_authenticators` | `windows_nps_accounting_bad_authenticators_total` | Same value |
| `windows_nps_accounting_dropped_packets` | `windows_nps_accounting_dropped_packets_total` | Same value |
| `windows_nps_accounting_invalid_requests` | `windows_nps_accounting_invalid_requests_total` | Same value |
| `windows_nps_accounting_malformed_packets` | `windows_nps_accounting_malformed_packets_total` | Same value |
| `windows_nps_accounting_no_record` | `windows_nps_accounting_no_record_total` | Same value |
| `windows_nps_accounting_packets_received` | `windows_nps_accounting_packets_received_total` | Same value |
| `windows_nps_accounting_packets_sent` | `windows_nps_accounting_packets_sent_total` | Same value |
| `windows_nps_accounting_requests` | `windows_nps_accounting_requests_total` | Same value |
| `windows_nps_accounting_responses` | `windows_nps_accounting_responses_total` | Same value |
| `windows_nps_accounting_unknown_type` | `windows_nps_accounting_unknown_type_total` | Same value |
## Corrected values
These metrics keep their names, but 0.31 reported wrong values. Graphs show a step at the upgrade.
@@ -354,14 +691,13 @@ These metrics keep their names, but 0.31 reported wrong values. Graphs show a st
- `windows_ad_directory_operations_total{operation="write",origin="local_security_authority"}` now counts directory writes from the LSA. In 0.31 it repeated the LSA search count.
- `windows_ad_sam_computer_creation_requests_total` and `windows_ad_sam_computer_creation_successful_requests_total` were swapped in 0.31. Requests now count all attempts, successful requests only the successful ones.
- `windows_adfs_db_artifact_query_time_seconds_total` and `windows_adfs_db_config_query_time_seconds_total` are now in seconds. 0.31 scaled the raw ticks by a fixed `1e-8`, so on a typical 10 MHz time base the values were 10 times too small. The new `windows_adfs_db_artifact_queries_total` and `windows_adfs_db_config_queries_total` count the queries, so you can compute the average query time.
- `windows_mssql_databases_xtp_controller_dlc_peak_latency_seconds`, `windows_mssql_bufman_read_ahead_issuing_seconds`, `windows_mssql_dbreplica_database_flow_control_wait_seconds_total` and `windows_mssql_dbreplica_group_commit_stall_seconds_total` (renamed, see above) are now in seconds. SQL Server reports microseconds, which 0.31 did not convert correctly. `windows_mssql_databases_xtp_controller_dlc_fetch_latency_seconds_total` is converted from microseconds as well.
- `windows_mssql_locks_count_total` (renamed from `windows_mssql_locks_count`) is no longer divided by 1000.
- `windows_mssql_dbreplica_redo_remaining_bytes` is now in bytes. 0.31 exported kilobytes. The other renamed `windows_mssql_dbreplica_*_bytes` metrics are converted from kilobytes too.
- `windows_mssql_databases_xtp_controller_dlc_peak_latency_seconds`, `windows_mssql_bufman_read_ahead_issuing_seconds_total` (renamed, see [Base units and counter names](#base-units-and-counter-names)), `windows_mssql_dbreplica_database_flow_control_wait_seconds_total` and `windows_mssql_dbreplica_group_commit_stall_seconds_total` (renamed, see above) are now in seconds. SQL Server reports microseconds, which 0.31 did not convert correctly. `windows_mssql_databases_xtp_controller_dlc_fetch_latency_seconds_total` is converted from microseconds as well.
- `windows_mssql_dbreplica_redo_remaining_bytes` is now in bytes. 0.31 exported kilobytes. The queue and undo metrics renamed to `windows_mssql_dbreplica_*_bytes` are converted from kilobytes too; the `_bytes_total` counters are unchanged.
- `windows_dhcp_denied_due_to_nonmatch_total` now counts denials due to a non-match. In 0.31 it repeated the match denial count.
- `windows_remote_fx_gfx_frames_skipped_insufficient_resource_total` with `resource="client"` and `resource="server"` now count the matching frames. In 0.31 the two label values were swapped.
- `windows_dns_zone_transfer_requests_sent_total{qtype="soa"}` now counts zone transfer SOA requests sent. In 0.31 it reported zone transfer requests received.
- `windows_dns_zone_transfer_success_received_total{qtype="incremental",protocol="udp"}` now counts successful UDP incremental zone transfers. In 0.31 it repeated the TCP count.
- `windows_netframework_clrmemory_gc_time_percent` no longer overflows, and it is left out when Windows reports no base value. The `netframework` collector now reads the CLR counters through PDH instead of WMI; names, labels and types are unchanged.
- `windows_netframework_clrmemory_gc_time_ratio` (renamed from `windows_netframework_clrmemory_gc_time_percent`) no longer overflows, and it is left out when Windows reports no base value. The `netframework` collector now reads the CLR counters through PDH instead of WMI; labels are unchanged, see [Base units and counter names](#base-units-and-counter-names) for the renamed metrics.
- The IIS URI cache flush and kernel cache item metrics read the right Windows counters, and the metadata cache hit metrics are no longer always `0`.
- `windows_pagefile_limit_bytes` and `windows_pagefile_free_bytes` read the paging file size from the `Paging File` counter instead of the file system. In 0.31 a paging file that could not be read reported a size of `0` and a negative free space; it is now left out.
- `windows_logical_disk_readonly`, the FSRM quota template information, the SMTP general failure totals and the Hyper-V root partition interrupt mappings were documented but never exported. They are exported now.
@@ -397,7 +733,7 @@ Storage pool and virtual disk metrics are in the new `storage_spaces` collector
It works on standalone hosts too and doesn't need a failover cluster.
The `mscluster` collector now reads cluster data through the Windows Cluster API (`clusapi.dll`) instead of the `root\MSCluster` WMI namespace.
Metric names, labels and configuration are unchanged. A property that can't be read is left out and reported as a collection error, instead of being exported as `0`.
Labels and configuration are unchanged; metrics in minutes, milliseconds, hours, kilobytes, megabytes or percent are now in base units, see [Base units and counter names](#base-units-and-counter-names). `windows_mscluster_resource_is_alive_poll_interval_seconds` and `windows_mscluster_resource_looks_alive_poll_interval_seconds` are left out while the resource uses the interval of its resource type (0xFFFFFFFF in Windows). A property that can't be read is left out and reported as a collection error, instead of being exported as `0`.
## Scrape timeouts