# `hyperv` collector The collector reads 16 `Hyper-V ...` PDH objects with `pdh.CounterTypeRaw` from its sub-collectors, plus HCS, WMI and `virtdisk.dll` data. The objects exist only where the Hyper-V role is installed; CI does not provision it. Almost all objects are multi-instance; `Hyper-V Virtual Machine Health Summary` is single-instance. These notes were recorded on Windows Server 2025 build 26100 with one running Generation 2 VM (`ubuntu`, 6 vCPUs, 2 GiB static memory) on a host with 12 logical processors. - `pdh.InstancesAll` drops the `_Total` instance, so the processor objects return `Hv LP 0`..`Hv LP 11`, `Root VP 0`..`Root VP 11` and `ubuntu:Hv VP 0`..`ubuntu:Hv VP 5`. The host logical processor count is the number of `Hv LP` instances (12 here). - Hypervisor processor objects: every `%` counter and `CPU Wait Time Per Dispatch` is `PERF_PRECISION_100NS_TIMER`. The raw value is cumulative time in 100 ns ticks. On a logical processor `% Idle Time` + `% Total Run Time` equals the time since boot (453 s after a 452.7 s uptime), and `% Total Run Time` is about `% Guest Run Time` + `% Hypervisor Run Time`. The help text of `CPU Wait Time Per Dispatch` and `I/O TLB Flush Cost` says "average time (in nanoseconds)", but the raw value is cumulative 100 ns ticks. `internal/pdh` already scales `PERF_PRECISION_100NS_TIMER` to seconds, so do not scale again. Publish both as `_seconds_total` counters next to their operation count (`Logical Processor Dispatches/sec`, `I/O TLB Flushes/sec`), so the average is a ratio of the two rates. - The virtual processor `state` label is `hypervisor`, `guest`, `remote` for VMs and `guest_run`, `hypervisor`, `remote` for root VPs. There is no idle state. - `Hyper-V Hypervisor Root Partition` is read for the instance `Root` only. All its non-`/sec` counters are `PERF_COUNTER_LARGE_RAWCOUNT`. Page counts and sizes are gauges; by the help text `Skipped Timer Ticks` and `Device Interrupt Throttle Events` count events, so they are counters. - Dynamic Memory: memory counters are in MB (`Physical Memory` and `Guest Visible Physical Memory` are 2048 for the 2 GiB VM). `Added Memory` and `Removed Memory` are cumulative MB, `Memory Add/Remove Operations` are cumulative counts. Pressure counters are percentages and exceed 100 (145 here). The VM instance exists even with Dynamic Memory disabled. Instances are VM names; VMs of the Host Compute Service (WSL 2) have an empty instance name. - `Hyper-V DataStore`: instances are ` ` with the kinds `configuration file`, `runtime file`, `worker process configuration` and `worker process runtime state`. Every counter is `PERF_COUNTER_LARGE_RAWCOUNT` and the help text only repeats the name. The `... count` counters are cumulative. The `... latency microseconds` counters are not cumulative: `Commit operation latency microseconds` of the configuration file dropped from 6659 to 5213 while `Commit operation count` stayed 1. - `Hyper-V VM Vid Partition`: pages are 4 KiB. The 2 GiB VM had 526336 `Physical Pages Allocated`. - `Hyper-V Virtual Storage Device`: instances are the disk path with `\` replaced by `-` and `(...)` by `[...]`, for example `C:-ProgramData-Microsoft-Windows-Virtual Hard Disks-ubuntu.vhdx`; a `\\?\` prefix becomes `--?-` (the `.vmgs` guest state file). A DVD drive shows up as `ISO`. Only running VMs have instances. - `Latency`, `Lower Latency`, `Queue Length` and `Lower Queue Length` all had the same raw value (56686): the sum of IO latencies in 100 ns ticks. The base of `Latency` (10) equals the raw `Throughput` and `Read Count` + `Write Count` (6 + 4). - `Throughput` (`PERF_COUNTER_COUNTER`) counts IO transfers. `Normalized Throughput` (`PERF_COUNTER_BULK_COUNT`) counts 8 KB IO transfers by its help text. Both raw values are cumulative, as is `Io Quota Replenishment Rate` (`PERF_COUNTER_BULK_COUNT`); publish them as counters. - `Read Count`, `Write Count` and `Error Count` are `PERF_COUNTER_RAWCOUNT` but cumulative ("total number of ..."). - `Hyper-V Virtual Switch` and `Hyper-V Virtual Network Adapter`: all `/sec` counters are `PERF_COUNTER_BULK_COUNT`, so the raw value is a cumulative count. `Bytes/sec` is `Bytes Received/sec` + `Bytes Sent/sec` and `Packets/sec` is `Packets Received/sec` + `Packets Sent/sec` in the samples. Switch instances are the switch names (`External`, `Internal`). VM adapter instances are `__--`. Host side instances look like `Internal_`, `Ethernet_`, `DrPort _` and `Microsoft Hyper-V Network Adapter__DEVICE_{}`. The collector uses them unchanged as `adapter`. - `Hyper-V Virtual Network Adapter Drop Reasons` has the same instances as `Hyper-V Virtual Network Adapter`. Every counter is a cumulative `PERF_COUNTER_LARGE_RAWCOUNT`; only `Outgoing NotReady` was non-zero (9). - `Hyper-V Replica VM` exists but had no instance (no replication). By the help text `Replication Latency` and `Average Replication Latency` are in seconds, the size counters in bytes, and `Replication Count`, `Network Bytes Sent/Recv` and `Resynchronized Bytes` are cumulative since VMMS start. - `Hyper-V Virtual SMB` and `Hyper-V Legacy Network Adapter` had no instances (no SMB-backed VM storage, no legacy adapter). In Virtual SMB, `Tree Connect Count` is `PERF_COUNTER_COUNTER` but its help text says "the current number of Tree Connects". - `Hyper-V Virtual Machine Health Summary` counts VMs: `Health Ok` was 1 for the one VM. - The `wmi_health`, `virtual_hard_disk` and host VM processor metrics do not come from PDH, so the table below does not cover them. - To test emitted metrics without Hyper-V, build the descriptors with the `build...Descriptors` helpers, fill the `perfDataObject...` slice (or a `pdhtypes.Collector` fixture) and gather through a registry, as in `hyperv_metric_types_internal_test.go`. ## Counter reference Recorded on Windows Server 2025 (build 26100). `Raw` and `Base` are the first and second values that `pdh.CounterTypeRaw` returns for the sample instance. ### `Hyper-V DataStore` Multi-instance. Instances: `2F713ADB-4A60-4959-8986-949D88D9D6AC configuration file`, `2F713ADB-4A60-4959-8986-949D88D9D6AC runtime file`, `2F713ADB-4A60-4959-8986-949D88D9D6AC worker process configuration`, `2F713ADB-4A60-4959-8986-949D88D9D6AC worker process runtime state`. Sample instance: `2F713ADB-4A60-4959-8986-949D88D9D6AC configuration file`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Cache update operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Cache update operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Commit byte count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 12210 | | | `Commit byte latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Commit count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Commit operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 1 | | | `Commit operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 6659 | | | `Compact operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Compact operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Current replay logSize` | `PERF_COUNTER_LARGE_RAWCOUNT` | 32768 | | | `Data alignment` | `PERF_COUNTER_LARGE_RAWCOUNT` | 4096 | | | `Data end` | `PERF_COUNTER_LARGE_RAWCOUNT` | 77824 | | | `Disconnect count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `File data size in bytes` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Fragmentation ratio` | `PERF_COUNTER_LARGE_RAWCOUNT` | 12 | | | `Load file operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 1 | | | `Load file operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 4350 | | | `Names size in bytes` | `PERF_COUNTER_LARGE_RAWCOUNT` | 4500 | | | `Number of available entries inside object tables` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Number of empty entries inside object tables` | `PERF_COUNTER_LARGE_RAWCOUNT` | 218 | | | `Number of file objects` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Number of free bytes inside key tables` | `PERF_COUNTER_LARGE_RAWCOUNT` | 6974 | | | `Number of key tables` | `PERF_COUNTER_LARGE_RAWCOUNT` | 8 | | | `Number of keys` | `PERF_COUNTER_LARGE_RAWCOUNT` | 361 | | | `Number of object tables` | `PERF_COUNTER_LARGE_RAWCOUNT` | 1 | | | `Query size operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 208 | | | `Query size operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 3 | | | `Read from file byte count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 51356 | | | `Read from file byte latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 9 | | | `Read from file count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 236 | | | `Read from storage byte count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 18470 | | | `Read from storage byte latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 1 | | | `Read from storage count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 490 | | | `Reconnect latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Remove operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Remove operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Sector size` | `PERF_COUNTER_LARGE_RAWCOUNT` | 512 | | | `Set operation count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 5 | | | `Set operation latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 6 | | | `Table data size in bytes` | `PERF_COUNTER_LARGE_RAWCOUNT` | 21247 | | | `Write to file byte count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 4234 | | | `Write to file byte latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 12 | | | `Write to file count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 8 | | | `Write to storage byte count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 58 | | | `Write to storage byte latency microseconds` | `PERF_COUNTER_LARGE_RAWCOUNT` | 6 | | | `Write to storage count` | `PERF_COUNTER_LARGE_RAWCOUNT` | 5 | | Not read by the collector: - `PERF_COUNTER_LARGE_RAWCOUNT`: `File lock acquire latency microseconds`, `File lock count`, `File lock release latency microseconds`, `Get operation count`, `Get operation latency microseconds`, `Storage lock acquire latency microseconds`, `Storage lock count`, `Storage lock release latency microseconds` ### `Hyper-V Dynamic Memory Balancer` Multi-instance. Instances: `System Balancer`. Sample instance: `System Balancer`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Available Memory` | `PERF_COUNTER_RAWCOUNT` | 4240 | | | `Available Memory For Balancing` | `PERF_COUNTER_RAWCOUNT` | 4240 | | | `Average Pressure` | `PERF_COUNTER_RAWCOUNT` | 145 | | | `System Current Pressure` | `PERF_COUNTER_RAWCOUNT` | 100 | | ### `Hyper-V Dynamic Memory VM` Multi-instance. Instances: `ubuntu`. Sample instance: `ubuntu`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Added Memory` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Average Pressure` | `PERF_COUNTER_RAWCOUNT` | 146 | | | `Current Pressure` | `PERF_COUNTER_RAWCOUNT` | 145 | | | `Guest Available Memory` | `PERF_COUNTER_RAWCOUNT` | 1025 | | | `Guest Visible Physical Memory` | `PERF_COUNTER_RAWCOUNT` | 2048 | | | `Maximum Pressure` | `PERF_COUNTER_RAWCOUNT` | 149 | | | `Memory Add Operations` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Memory Remove Operations` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Minimum Pressure` | `PERF_COUNTER_RAWCOUNT` | 143 | | | `Physical Memory` | `PERF_COUNTER_RAWCOUNT` | 2048 | | | `Removed Memory` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | Not read by the collector: - `PERF_COUNTER_RAWCOUNT`: `Smart Paging Working Set Size` ### `Hyper-V Hypervisor Logical Processor` Multi-instance. Instances: `_Total`, `Hv LP 0`, `Hv LP 1`, `Hv LP 10`, `Hv LP 11`, `Hv LP 2`, `Hv LP 3`, `Hv LP 4`, ... (13 in total). Sample instance: `Hv LP 0`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `% Guest Run Time` | `PERF_PRECISION_100NS_TIMER` | 9270346767 | | | `% Hypervisor Run Time` | `PERF_PRECISION_100NS_TIMER` | 1438355934 | | | `% Idle Time` | `PERF_PRECISION_100NS_TIMER` | 23500462022 | | | `% Total Run Time` | `PERF_PRECISION_100NS_TIMER` | 10708658352 | | | `Context Switches/sec` | `PERF_COUNTER_BULK_COUNT` | 9299560 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `C1 Transitions/sec`, `C2 Transitions/sec`, `C3 Transitions/sec`, `CPPC Request Context Switches/sec`, `Hardware Interrupts/sec`, `Hypervisor Branch Predictor Flushes/sec`, `Hypervisor Immediate L1 Data Cache Flushes/sec`, `Hypervisor L1 Data Cache Flushes/sec`, `Hypervisor Microarchitectural Buffer Flushes/sec`, `Inter-Processor Interrupts Sent/sec`, `Inter-Processor Interrupts/sec`, `Performance Monitoring Interrupts/sec`, `Posted Interrupt Notifications/sec`, `Scheduler Interrupts/sec`, `Timer Interrupts/sec`, `Total Interrupts/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Monitor Transition Cost`, `Reserve Group Id`, `Root Vp Index`, `Running Priority`, `Scheduler Local Run List Size` - `PERF_PRECISION_100NS_TIMER`: `% C1 Time`, `% C2 Time`, `% C3 Time` ### `Hyper-V Hypervisor Root Partition` Multi-instance. Instances: `_Total`, `Root`. Sample instance: `Root`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `1G device pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `1G GPA pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 11 | | | `2M device pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `2M GPA pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 2461 | | | `4K device pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `4K GPA pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 51200 | | | `Address Spaces` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Attached Devices` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Deposited Pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 29667 | | | `Device DMA Errors` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Device Interrupt Errors` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Device Interrupt Mappings` | `PERF_COUNTER_LARGE_RAWCOUNT` | 2 | | | `Device Interrupt Throttle Events` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `GPA Pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `GPA Space Modifications/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `I/O TLB Flush Cost` | `PERF_PRECISION_100NS_TIMER` | 0 | | | `I/O TLB Flushes/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Recommended Virtual TLB Size` | `PERF_COUNTER_LARGE_RAWCOUNT` | 64 | | | `Skipped Timer Ticks` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Virtual TLB Flush Entires/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Virtual TLB Pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 64 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `Nested TLB Trimmed Pages/sec`, `Pages Recombined/sec`, `Pages Shattered/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Nested TLB Free List Size`, `Nested TLB Size`, `Recommended Nested TLB Size`, `Virtual Processors` - `PERF_COUNTER_LARGE_RAWCOUNT_HEX`: `CPPC Requested Performance Level` ### `Hyper-V Hypervisor Root Virtual Processor` Multi-instance. Instances: `_Total`, `Root VP 0`, `Root VP 1`, `Root VP 10`, `Root VP 11`, `Root VP 2`, `Root VP 3`, `Root VP 4`, ... (13 in total). Sample instance: `Root VP 0`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `% Guest Run Time` | `PERF_PRECISION_100NS_TIMER` | 9150616357 | | | `% Hypervisor Run Time` | `PERF_PRECISION_100NS_TIMER` | 1260894784 | | | `% Remote Run Time` | `PERF_PRECISION_100NS_TIMER` | 0 | | | `% Total Run Time` | `PERF_PRECISION_100NS_TIMER` | 10411471300 | | | `CPU Wait Time Per Dispatch` | `PERF_PRECISION_100NS_TIMER` | 290865977 | | | `Logical Processor Dispatches/sec` | `PERF_COUNTER_BULK_COUNT` | 3171435 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `Address Domain Flushes/sec`, `Address Space Evictions/sec`, `Address Space Flushes/sec`, `Address Space Switches/sec`, `APIC EOI Accesses/sec`, `APIC IPIs Sent/sec`, `APIC MMIO Accesses/sec`, `APIC Self IPIs Sent/sec`, `APIC TPR Accesses/sec`, `Bus Lock Acquisitions/sec`, `Control Register Accesses Forwarded/sec`, `Control Register Accesses/sec`, `CPPC Request Context Switches/sec`, `CPU Group Hypercalls/sec`, `CPUID Instructions Forwarded/sec`, `CPUID Instructions/sec`, `Debug Register Accesses Forwarded/sec`, `Debug Register Accesses/sec`, `Deposit Hypercalls/sec`, `Device Domain Hypercalls/sec`, `Emulated Instructions Forwarded/sec`, `Emulated Instructions/sec`, `Event Log Hypercalls/sec`, `Extended Hypercall Intercept Messages/sec`, `Extended Hypercalls/sec`, `External Interrupts Forwarded/sec`, `External Interrupts/sec`, `Flush Physical Address List Hypercalls/sec`, `Flush Physical Address Space Hypercalls/sec`, `GIF Instruction Emulation Intercepts/sec`, `Global GVA Range Flushes/sec`, `Global I/O TLB Flushes/sec`, `GPA Space Hypercalls/sec`, `Guest Page Table Maps/sec`, `Hardware Interrupts/sec`, `HLT Instructions Forwarded/sec`, `HLT Instructions/sec`, `Hypercalls Forwarded/sec`, `Hypercalls/sec`, `InvEpt All Context Emulation Intercepts/sec`, `InvEpt Single Context Emulation Intercepts/sec`, `InvVpid All Context Emulation Intercepts/sec`, `InvVpid Single Address Emulation Intercepts/sec`, `InvVpid Single Context Emulation Intercepts/sec`, `IO Instructions Forwarded/sec`, `IO Instructions/sec`, `IO Intercept Messages/sec`, `IOMMU Hypercalls/sec`, `Large Page TLB Fills/sec`, `Local Flushed GVA Ranges/sec`, `Local I/O TLB Flushes/sec`, `Logical Processor Hypercalls/sec`, `Logical Processor Migrations/sec`, `Long Spin Wait Hypercalls/sec`, `MBEC Nested Page Table Switches/sec`, `Memory Intercept Messages/sec`, `MSR Accesses Forwarded/sec`, `MSR Accesses/sec`, `MWAIT Instructions Forwarded/sec`, `MWAIT Instructions/sec`, `Nested Page Fault Intercepts/sec`, `Nested SLAT Hard Page Faults/sec`, `Nested SLAT Soft Page Faults/sec`, `Nested TLB Page Table Evictions/sec`, `Nested TLB Page Table Reclamations/sec`, `Nested VM Entries/sec`, `Other Hypercalls/sec`, `Other Intercepts Forwarded/sec`, `Other Intercepts/sec`, `Other Messages/sec`, `Other Reflected Guest Exceptions/sec`, `Page Fault Intercepts Forwarded/sec`, `Page Fault Intercepts/sec`, `Page Invalidations Forwarded/sec`, `Page Invalidations/sec`, `Page Scans/sec`, `Page Table Allocations/sec`, `Page Table Evictions/sec`, `Page Table Reclamations/sec`, `Page Table Resets/sec`, `Page Table Validations/sec`, `Page Table Write Intercepts/sec`, `Pending Interrupts Forwarded/sec`, `Pending Interrupts/sec`, `Performance Monitoring Interrupts/sec`, `Performance Monitoring IPT MSR Accesses/sec`, `Performance Monitoring LBR MSR Accesses/sec`, `Performance Monitoring vPMU MSR Accesses/sec`, `Posted Interrupt Notifications/sec`, `Posted Interrupt Scans/sec`, `RDPMC Instructions/sec`, `Reflected Guest Page Faults/sec`, `Small Page TLB Fills/sec`, `SVM Hypercalls/sec`, `Synthetic Interrupt Hypercalls/sec`, `Synthetic Interrupts/sec`, `Total Intercepts/sec`, `Total Messages/sec`, `Total Virtualization Instructions Emulated/sec`, `Virtual Interrupt Hypercalls/sec`, `Virtual Interrupts/sec`, `Virtual MMU Hypercalls/sec`, `Virtual Processor Hypercalls/sec`, `VMCLEAR Emulation Intercepts/sec`, `VMLOAD Emulation Intercepts/sec`, `VMPTRLD Emulation Intercepts/sec`, `VMPTRST Emulation Intercepts/sec`, `VMREAD Emulation Intercepts/sec`, `VMSAVE Emulation Intercepts/sec`, `VMWRITE Emulation Intercepts/sec`, `VMXOFF Emulation Intercepts/sec`, `VMXON Emulation Intercepts/sec`, `VSM Hypercalls/sec`, `VTL1 Dispatches/sec`, `VTL2 Dispatches/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Scheduling Priority` - `PERF_PRECISION_100NS_TIMER`: `% Guest-Relative Utilization`, `% Total Core Run Time`, `% VTL1 Run Time`, `% VTL2 Run Time`, `Control Register Accesses Cost`, `Control Register Accesses Forwarding Cost`, `CPU Contention Time Per Dispatch`, `CPU Wake Up Time Per Dispatch`, `CPUID Instructions Cost`, `CPUID Instructions Forwarding Cost`, `Debug Register Accesses Cost`, `Debug Register Accesses Forwarding Cost`, `Emulated Instructions Cost`, `Emulated Instructions Forwarding Cost`, `External Interrupts Cost`, `GIF Instruction Emulation Cost`, `Global I/O TLB Flush Cost`, `HLT Instructions Cost`, `HLT Instructions Forwarding Cost`, `Hypercalls Cost`, `Hypercalls Forwarding Cost`, `InvEpt All Context Instruction Emulation Cost`, `InvEpt Single Context Instruction Emulation Cost`, `InvVpid All Context Instruction Emulation Cost`, `InvVpid Single Address Instruction Emulation Cost`, `InvVpid Single Context Instruction Emulation Cost`, `IO Instructions Cost`, `IO Instructions Forwarding Cost`, `Local I/O TLB Flush Cost`, `MSR Accesses Cost`, `MSR Accesses Forwarding Cost`, `MWAIT Instructions Cost`, `MWAIT Instructions Forwarding Cost`, `Nested Page Fault Intercepts Cost`, `Nested SLAT Hard Page Faults Cost`, `Nested SLAT Soft Page Faults Cost`, `Nested VM Entries Cost`, `Other Intercepts Cost`, `Other Intercepts Forwarding Cost`, `Page Fault Intercepts Cost`, `Page Fault Intercepts Forwarding Cost`, `Page Invalidations Cost`, `Page Invalidations Forwarding Cost`, `Pending Interrupts Cost`, `Pending Interrupts Forwarding Cost`, `RDPMC Instructions Cost`, `Total Intercepts Cost`, `Total Virtualization Instructions Emulation Cost`, `VMCLEAR Instruction Emulation Cost`, `VMLOAD Instruction Emulation Cost`, `VMPTRLD Instruction Emulation Cost`, `VMPTRST Instruction Emulation Cost`, `VMREAD Instruction Emulation Cost`, `VMSAVE Instruction Emulation Cost`, `VMWRITE Instruction Emulation Cost`, `VMXOFF Instruction Emulation Cost`, `VMXON Instruction Emulation Cost`, `VTL1 Average Run Time`, `VTL2 Average Run Time` ### `Hyper-V Hypervisor Virtual Processor` Multi-instance. Instances: `_Total`, `ubuntu:Hv VP 0`, `ubuntu:Hv VP 1`, `ubuntu:Hv VP 2`, `ubuntu:Hv VP 3`, `ubuntu:Hv VP 4`, `ubuntu:Hv VP 5`. Sample instance: `ubuntu:Hv VP 0`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `% Guest Run Time` | `PERF_PRECISION_100NS_TIMER` | 2198066669 | | | `% Hypervisor Run Time` | `PERF_PRECISION_100NS_TIMER` | 982721208 | | | `% Remote Run Time` | `PERF_PRECISION_100NS_TIMER` | 0 | | | `% Total Run Time` | `PERF_PRECISION_100NS_TIMER` | 3180787877 | | | `CPU Wait Time Per Dispatch` | `PERF_PRECISION_100NS_TIMER` | 1217187193 | | | `Logical Processor Dispatches/sec` | `PERF_COUNTER_BULK_COUNT` | 2007559 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `Address Domain Flushes/sec`, `Address Space Evictions/sec`, `Address Space Flushes/sec`, `Address Space Switches/sec`, `APIC EOI Accesses/sec`, `APIC IPIs Sent/sec`, `APIC MMIO Accesses/sec`, `APIC Self IPIs Sent/sec`, `APIC TPR Accesses/sec`, `Bus Lock Acquisitions/sec`, `Control Register Accesses Forwarded/sec`, `Control Register Accesses/sec`, `CPPC Request Context Switches/sec`, `CPU Group Hypercalls/sec`, `CPUID Instructions Forwarded/sec`, `CPUID Instructions/sec`, `Debug Register Accesses Forwarded/sec`, `Debug Register Accesses/sec`, `Deposit Hypercalls/sec`, `Device Domain Hypercalls/sec`, `Emulated Instructions Forwarded/sec`, `Emulated Instructions/sec`, `Event Log Hypercalls/sec`, `Extended Hypercall Intercept Messages/sec`, `Extended Hypercalls/sec`, `External Interrupts Forwarded/sec`, `External Interrupts/sec`, `Flush Physical Address List Hypercalls/sec`, `Flush Physical Address Space Hypercalls/sec`, `GIF Instruction Emulation Intercepts/sec`, `Global GVA Range Flushes/sec`, `Global I/O TLB Flushes/sec`, `GPA Space Hypercalls/sec`, `Guest Page Table Maps/sec`, `Hardware Interrupts/sec`, `HLT Instructions Forwarded/sec`, `HLT Instructions/sec`, `Hypercalls Forwarded/sec`, `Hypercalls/sec`, `InvEpt All Context Emulation Intercepts/sec`, `InvEpt Single Context Emulation Intercepts/sec`, `InvVpid All Context Emulation Intercepts/sec`, `InvVpid Single Address Emulation Intercepts/sec`, `InvVpid Single Context Emulation Intercepts/sec`, `IO Instructions Forwarded/sec`, `IO Instructions/sec`, `IO Intercept Messages/sec`, `IOMMU Hypercalls/sec`, `Large Page TLB Fills/sec`, `Local Flushed GVA Ranges/sec`, `Local I/O TLB Flushes/sec`, `Logical Processor Hypercalls/sec`, `Logical Processor Migrations/sec`, `Long Spin Wait Hypercalls/sec`, `MBEC Nested Page Table Switches/sec`, `Memory Intercept Messages/sec`, `MSR Accesses Forwarded/sec`, `MSR Accesses/sec`, `MWAIT Instructions Forwarded/sec`, `MWAIT Instructions/sec`, `Nested Page Fault Intercepts/sec`, `Nested SLAT Hard Page Faults/sec`, `Nested SLAT Soft Page Faults/sec`, `Nested TLB Page Table Evictions/sec`, `Nested TLB Page Table Reclamations/sec`, `Nested VM Entries/sec`, `Other Hypercalls/sec`, `Other Intercepts Forwarded/sec`, `Other Intercepts/sec`, `Other Messages/sec`, `Other Reflected Guest Exceptions/sec`, `Page Fault Intercepts Forwarded/sec`, `Page Fault Intercepts/sec`, `Page Invalidations Forwarded/sec`, `Page Invalidations/sec`, `Page Scans/sec`, `Page Table Allocations/sec`, `Page Table Evictions/sec`, `Page Table Reclamations/sec`, `Page Table Resets/sec`, `Page Table Validations/sec`, `Page Table Write Intercepts/sec`, `Pending Interrupts Forwarded/sec`, `Pending Interrupts/sec`, `Performance Monitoring Interrupts/sec`, `Performance Monitoring IPT MSR Accesses/sec`, `Performance Monitoring LBR MSR Accesses/sec`, `Performance Monitoring vPMU MSR Accesses/sec`, `Posted Interrupt Notifications/sec`, `Posted Interrupt Scans/sec`, `RDPMC Instructions/sec`, `Reflected Guest Page Faults/sec`, `Small Page TLB Fills/sec`, `SVM Hypercalls/sec`, `Synthetic Interrupt Hypercalls/sec`, `Synthetic Interrupts/sec`, `Total Intercepts/sec`, `Total Messages/sec`, `Total Virtualization Instructions Emulated/sec`, `Virtual Interrupt Hypercalls/sec`, `Virtual Interrupts/sec`, `Virtual MMU Hypercalls/sec`, `Virtual Processor Hypercalls/sec`, `VMCLEAR Emulation Intercepts/sec`, `VMLOAD Emulation Intercepts/sec`, `VMPTRLD Emulation Intercepts/sec`, `VMPTRST Emulation Intercepts/sec`, `VMREAD Emulation Intercepts/sec`, `VMSAVE Emulation Intercepts/sec`, `VMWRITE Emulation Intercepts/sec`, `VMXOFF Emulation Intercepts/sec`, `VMXON Emulation Intercepts/sec`, `VSM Hypercalls/sec`, `VTL1 Dispatches/sec`, `VTL2 Dispatches/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Scheduling Priority` - `PERF_PRECISION_100NS_TIMER`: `% Guest-Relative Utilization`, `% Total Core Run Time`, `% VTL1 Run Time`, `% VTL2 Run Time`, `Control Register Accesses Cost`, `Control Register Accesses Forwarding Cost`, `CPU Contention Time Per Dispatch`, `CPU Wake Up Time Per Dispatch`, `CPUID Instructions Cost`, `CPUID Instructions Forwarding Cost`, `Debug Register Accesses Cost`, `Debug Register Accesses Forwarding Cost`, `Emulated Instructions Cost`, `Emulated Instructions Forwarding Cost`, `External Interrupts Cost`, `GIF Instruction Emulation Cost`, `Global I/O TLB Flush Cost`, `HLT Instructions Cost`, `HLT Instructions Forwarding Cost`, `Hypercalls Cost`, `Hypercalls Forwarding Cost`, `InvEpt All Context Instruction Emulation Cost`, `InvEpt Single Context Instruction Emulation Cost`, `InvVpid All Context Instruction Emulation Cost`, `InvVpid Single Address Instruction Emulation Cost`, `InvVpid Single Context Instruction Emulation Cost`, `IO Instructions Cost`, `IO Instructions Forwarding Cost`, `Local I/O TLB Flush Cost`, `MSR Accesses Cost`, `MSR Accesses Forwarding Cost`, `MWAIT Instructions Cost`, `MWAIT Instructions Forwarding Cost`, `Nested Page Fault Intercepts Cost`, `Nested SLAT Hard Page Faults Cost`, `Nested SLAT Soft Page Faults Cost`, `Nested VM Entries Cost`, `Other Intercepts Cost`, `Other Intercepts Forwarding Cost`, `Page Fault Intercepts Cost`, `Page Fault Intercepts Forwarding Cost`, `Page Invalidations Cost`, `Page Invalidations Forwarding Cost`, `Pending Interrupts Cost`, `Pending Interrupts Forwarding Cost`, `RDPMC Instructions Cost`, `Total Intercepts Cost`, `Total Virtualization Instructions Emulation Cost`, `VMCLEAR Instruction Emulation Cost`, `VMLOAD Instruction Emulation Cost`, `VMPTRLD Instruction Emulation Cost`, `VMPTRST Instruction Emulation Cost`, `VMREAD Instruction Emulation Cost`, `VMSAVE Instruction Emulation Cost`, `VMWRITE Instruction Emulation Cost`, `VMXOFF Instruction Emulation Cost`, `VMXON Instruction Emulation Cost`, `VTL1 Average Run Time`, `VTL2 Average Run Time` ### `Hyper-V Legacy Network Adapter` Multi-instance. No instances on the recording host, so the table has types only. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Bytes Dropped` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Bytes Received/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Bytes Sent/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Frames Dropped` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Frames Received/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Frames Sent/sec` | `PERF_COUNTER_BULK_COUNT` | | | ### `Hyper-V Replica VM` Multi-instance. No instances on the recording host, so the table has types only. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Average Replication Latency` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Average Replication Size` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Compression Efficiency` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Last Replication Size` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Network Bytes Recv` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Network Bytes Sent` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Replication Count` | `PERF_COUNTER_RAWCOUNT` | | | | `Replication Latency` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Resynchronized Bytes` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | ### `Hyper-V Virtual Machine Health Summary` Single-instance. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Health Critical` | `PERF_COUNTER_RAWCOUNT` | 0 | | | `Health Ok` | `PERF_COUNTER_RAWCOUNT` | 1 | | ### `Hyper-V Virtual Network Adapter` Multi-instance. Instances: `DrPort 700EF58F-56E7-4982-9DC4-4BCD5FC2C56F_B3548C76-D68D-4199-B45F-5C9DE21BD03C`, `Ethernet_700EF58F-56E7-4982-9DC4-4BCD5FC2C56E`, `Internal_FDECB3D5-AD64-4B6A-B96C-6AFD1616F33A`, `Microsoft Hyper-V Network Adapter__DEVICE_{9FE7CB58-7B03-4A3F-814F-9CD52BF15705}`, `ubuntu_Network Adapter_2F713ADB-4A60-4959-8986-949D88D9D6AC--F28DA7DA-095C-4544-B094-97085584E17D`. Sample instance: `DrPort 700EF58F-56E7-4982-9DC4-4BCD5FC2C56F_B3548C76-D68D-4199-B45F-5C9DE21BD03C`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Broadcast Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Broadcast Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 18 | | | `Bytes Received/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Bytes Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 1708 | | | `Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | 1708 | | | `Directed Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Directed Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Dropped Packets Incoming/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Dropped Packets Outgoing/sec` | `PERF_COUNTER_BULK_COUNT` | 21 | | | `Extensions Dropped Packets Incoming/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Extensions Dropped Packets Outgoing/sec` | `PERF_COUNTER_BULK_COUNT` | 30 | | | `Multicast Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Multicast Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 12 | | | `Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 30 | | | `Packets/sec` | `PERF_COUNTER_BULK_COUNT` | 30 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `IPsec offload Bytes Receive/sec`, `IPsec offload Bytes Sent/sec`, `Packets Failed Software IP Rx CSO/sec`, `Packets Failed Software Rx CSO Parsing/sec`, `Packets Failed Software TCP Rx CSO/sec`, `Packets Failed Software UDP Rx CSO/sec`, `Packets Passed Software IP Rx CSO/sec`, `Packets Passed Software TCP Rx CSO/sec`, `Packets Passed Software UDP Rx CSO/sec`, `Packets With Software IP Tx CSO/sec`, `Packets With Software TCP Tx CSO/sec`, `Packets With Software UDP Tx CSO/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Packets Failed Software IP Rx CSO`, `Packets Failed Software TCP Rx CSO`, `Packets Failed Software UDP Rx CSO`, `RSC Coalesce Events`, `RSC Coalesced Bytes`, `RSC Coalesced Event Bucket 1 (0To1)`, `RSC Coalesced Event Bucket 2 (2To3)`, `RSC Coalesced Event Bucket 3 (4To7)`, `RSC Coalesced Event Bucket 4 (8To15)`, `RSC Coalesced Event Bucket 5 (16To31)`, `RSC Coalesced Event Bucket 6 (32To63)`, `RSC Coalesced Packet Bucket 1 (0To1)`, `RSC Coalesced Packet Bucket 2 (2To3)`, `RSC Coalesced Packet Bucket 3 (4To7)`, `RSC Coalesced Packet Bucket 4 (8To15)`, `RSC Coalesced Packet Bucket 5 (16To31)`, `RSC Coalesced Packet Bucket 6 (32To63)`, `RSC Coalesced Packets`, `RSC Packets Processed` ### `Hyper-V Virtual Network Adapter Drop Reasons` Multi-instance. Instances: `DrPort 700EF58F-56E7-4982-9DC4-4BCD5FC2C56F_B3548C76-D68D-4199-B45F-5C9DE21BD03C`, `Ethernet_700EF58F-56E7-4982-9DC4-4BCD5FC2C56E`, `Internal_FDECB3D5-AD64-4B6A-B96C-6AFD1616F33A`, `Microsoft Hyper-V Network Adapter__DEVICE_{9FE7CB58-7B03-4A3F-814F-9CD52BF15705}`, `ubuntu_Network Adapter_2F713ADB-4A60-4959-8986-949D88D9D6AC--F28DA7DA-095C-4544-B094-97085584E17D`. Sample instance: `DrPort 700EF58F-56E7-4982-9DC4-4BCD5FC2C56F_B3548C76-D68D-4199-B45F-5C9DE21BD03C`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Incoming BridgeReserved` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Busy` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming DhcpGuard` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Disconnected` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming FailedPvlanSetting` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming FailedSecurityPolicy` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Filtered` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming FilteredVLAN` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming InvalidConfig` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming InvalidData` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming InvalidPacket` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Ipsec` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming MacSpoofing` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming MTUMismatch` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming NativeFwdingReq` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming NotAccepted` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming NotReady` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Qos` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming RequiredExtensionMissing` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Resources` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming RouterGuard` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming UnauthorizedMAC` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming UnauthorizedVLAN` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming Unknown` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Incoming VirtualSubnetId` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing BridgeReserved` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Busy` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing DhcpGuard` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Disconnected` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing FailedPvlanSetting` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing FailedSecurityPolicy` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Filtered` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing FilteredVLAN` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing InvalidConfig` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing InvalidData` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing InvalidPacket` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Ipsec` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing MacSpoofing` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing MTUMismatch` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing NativeFwdingReq` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing NotAccepted` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing NotReady` | `PERF_COUNTER_LARGE_RAWCOUNT` | 9 | | | `Outgoing Qos` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing RequiredExtensionMissing` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Resources` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing RouterGuard` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing UnauthorizedMAC` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing UnauthorizedVLAN` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing Unknown` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Outgoing VirtualSubnetId` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | Not read by the collector: - `PERF_COUNTER_LARGE_RAWCOUNT`: `Incoming FailedDestinationListUpdate`, `Incoming FailedPacketFilter`, `Incoming FilteredIsolationUntagged`, `Incoming InjectedIcmp`, `Incoming InvalidDestMac`, `Incoming InvalidFirstNBTooSmall`, `Incoming InvalidPDQueue`, `Incoming InvalidSourceMac`, `Incoming InvalidVlanFormat`, `Incoming LowPowerPacketFilter`, `Incoming NicDisabled`, `Incoming StormLimit`, `Incoming SwitchDataFlowDisabled`, `Outgoing FailedDestinationListUpdate`, `Outgoing FailedPacketFilter`, `Outgoing FilteredIsolationUntagged`, `Outgoing InjectedIcmp`, `Outgoing InvalidDestMac`, `Outgoing InvalidFirstNBTooSmall`, `Outgoing InvalidPDQueue`, `Outgoing InvalidSourceMac`, `Outgoing InvalidVlanFormat`, `Outgoing LowPowerPacketFilter`, `Outgoing NicDisabled`, `Outgoing StormLimit`, `Outgoing SwitchDataFlowDisabled` ### `Hyper-V Virtual SMB` Multi-instance. No instances on the recording host, so the table has types only. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Current Open File Count` | `PERF_COUNTER_RAWCOUNT` | | | | `Current Pending Requests` | `PERF_COUNTER_RAWCOUNT` | | | | `Direct-Mapped Pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | | | | `Direct-Mapped Sections` | `PERF_COUNTER_RAWCOUNT` | | | | `Flush Requests/sec` | `PERF_COUNTER_COUNTER` | | | | `Read Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Read Bytes/sec (RDMA)` | `PERF_COUNTER_BULK_COUNT` | | | | `Read Requests/sec` | `PERF_COUNTER_COUNTER` | | | | `Read Requests/sec (RDMA)` | `PERF_COUNTER_COUNTER` | | | | `Received Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Requests/sec` | `PERF_COUNTER_COUNTER` | | | | `Sent Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Tree Connect Count` | `PERF_COUNTER_COUNTER` | | | | `Write Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | | | | `Write Bytes/sec (RDMA)` | `PERF_COUNTER_BULK_COUNT` | | | | `Write Requests/sec` | `PERF_COUNTER_COUNTER` | | | | `Write Requests/sec (RDMA)` | `PERF_COUNTER_COUNTER` | | | Not read by the collector: - `PERF_AVERAGE_TIMER`: `Avg. sec/Request` ### `Hyper-V Virtual Storage Device` Multi-instance. Instances: `--?-C:-ProgramData-Microsoft-Windows-Hyper-V-Virtual Machines-2F713ADB-4A60-4959-8986-949D88D9D6AC.vmgs`, `C:-ProgramData-Microsoft-Windows-Virtual Hard Disks-ubuntu.vhdx`, `ISO`. Sample instance: `--?-C:-ProgramData-Microsoft-Windows-Hyper-V-Virtual Machines-2F713ADB-4A60-4959-8986-949D88D9D6AC.vmgs`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Error Count` | `PERF_COUNTER_RAWCOUNT` | 0 | | | `Io Quota Replenishment Rate` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Latency` | `PERF_AVERAGE_TIMER` | 56686 | 10 | | `Lower Latency` | `PERF_AVERAGE_TIMER` | 56686 | 10 | | `Lower Queue Length` | `PERF_COUNTER_LARGE_QUEUELEN_TYPE` | 56686 | | | `Normalized Throughput` | `PERF_COUNTER_BULK_COUNT` | 95 | | | `Queue Length` | `PERF_COUNTER_LARGE_QUEUELEN_TYPE` | 56686 | | | `Read Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | 252416 | | | `Read Count` | `PERF_COUNTER_RAWCOUNT` | 6 | | | `Throughput` | `PERF_COUNTER_COUNTER` | 10 | | | `Write Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | 468992 | | | `Write Count` | `PERF_COUNTER_RAWCOUNT` | 4 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `Byte Quota Replenishment Rate` - `PERF_COUNTER_COUNTER`: `Read Operations/Sec`, `Write Operations/Sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `Maximum Bandwidth`, `Maximum IO Rate`, `Minimum IO Rate` - `PERF_COUNTER_RAWCOUNT`: `Adapter Open Channel Count`, `Flush Count`, `Maximum Adapter Worker Count` ### `Hyper-V Virtual Switch` Multi-instance. Instances: `External`, `Internal`. Sample instance: `External`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Broadcast Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 208 | | | `Broadcast Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 190 | | | `Bytes Received/sec` | `PERF_COUNTER_BULK_COUNT` | 6209983540 | | | `Bytes Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 6209976573 | | | `Bytes/sec` | `PERF_COUNTER_BULK_COUNT` | 12419960113 | | | `Directed Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 1035024 | | | `Directed Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 1035024 | | | `Dropped Packets Incoming/sec` | `PERF_COUNTER_BULK_COUNT` | 23 | | | `Dropped Packets Outgoing/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Extensions Dropped Packets Incoming/sec` | `PERF_COUNTER_BULK_COUNT` | 96 | | | `Extensions Dropped Packets Outgoing/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Learned Mac Addresses` | `PERF_COUNTER_LARGE_RAWCOUNT` | 3 | | | `Multicast Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 438 | | | `Multicast Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 360 | | | `Number of Send Channel Moves/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Number of VMQ Moves/sec` | `PERF_COUNTER_BULK_COUNT` | 0 | | | `Packets Flooded` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Packets Received/sec` | `PERF_COUNTER_BULK_COUNT` | 1035670 | | | `Packets Sent/sec` | `PERF_COUNTER_BULK_COUNT` | 1035574 | | | `Packets/sec` | `PERF_COUNTER_BULK_COUNT` | 2071244 | | | `Purged Mac Addresses` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | Not read by the collector: - `PERF_COUNTER_BULK_COUNT`: `Learned Mac Addresses/sec`, `Packets Flooded/sec`, `Purged Mac Addresses/sec` - `PERF_COUNTER_LARGE_RAWCOUNT`: `RSC Coalesce Events`, `RSC Coalesced Bytes`, `RSC Coalesced Event Bucket 1 (0To1)`, `RSC Coalesced Event Bucket 2 (2To3)`, `RSC Coalesced Event Bucket 3 (4To7)`, `RSC Coalesced Event Bucket 4 (8To15)`, `RSC Coalesced Event Bucket 5 (16To31)`, `RSC Coalesced Event Bucket 6 (32To63)`, `RSC Coalesced Packet Bucket 1 (0To1)`, `RSC Coalesced Packet Bucket 2 (2To3)`, `RSC Coalesced Packet Bucket 3 (4To7)`, `RSC Coalesced Packet Bucket 4 (8To15)`, `RSC Coalesced Packet Bucket 5 (16To31)`, `RSC Coalesced Packet Bucket 6 (32To63)`, `RSC Coalesced Packets`, `RSC Packets Processed` ### `Hyper-V VM Vid Partition` Multi-instance. Instances: `_Total`, `ubuntu`. Sample instance: `ubuntu`. Counters the collector reads: | Counter | Type | Raw | Base | |---|---|---|---| | `Physical Pages Allocated` | `PERF_COUNTER_LARGE_RAWCOUNT` | 526336 | | | `Preferred NUMA Node Index` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | | | `Remote Physical Pages` | `PERF_COUNTER_LARGE_RAWCOUNT` | 0 | |