2025-11-28 00:35:46 +09:00
..
new
2025-11-28 00:35:46 +09:00
new
2025-11-28 00:35:46 +09:00
new
2025-11-28 00:35:46 +09:00

Hyper-V metrics sample

This sample demonstrates how to use the Hyper-V metrics WMI APIs to manage metrics for a virtual machine.The sample demonstrates how to perform each of the following operations:

This sample is written in C# and requires some experience with WMI programming.

The Windows-classic-samples repo includes a variety of code samples that demonstrate the use of various new programming features for managing Hyper-V that are available starting in Windows 8.1 and/or Windows Server 2012 R2. This repo provides a Visual Studio solution (SLN) file for each sample, along with the source files, assets, resources, and metadata needed to compile and run the sample. For more information about the programming models, platforms, languages, and APIs demonstrated in this sample, please refer to the Hyper-V WMI provider (V2) documentation.

To get a copy of Windows, go to Downloads and tools.

Hyper-V metrics API

Operating system requirements

Client

Windows 8.1

Server

Windows Server 2012 R2

Build the sample

  1. Start Visual Studio and select File > Open > Project/Solution.

  2. Go to the directory named for the sample, and double-click the Microsoft Visual Studio Solution (.sln) file titled Metrics.sln.

  3. Press F7 (or F6 for Microsoft Visual Studio 2013) or use Build > Build Solution to build the sample.

Run the sample

Note This sample must be run as an administrator.

This sample can be run in six different modes.

Enable metrics gathering for a virtual machine

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe EnableMetricsForVm vmName

    where vmName is the name of the virtual machine.

  2. To debug the app and then run it from Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.

Disable metrics gathering for a network adapter

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe DisableMetricsForNetworkAdapter MacAddress **** IpAddress

    where the parameters are as follows:

    • MacAddress is the MAC address of the network adapter.
    • IpAddress is the IP address of the port ACL to disable metrics for. This network port ACL must have been previously added to the virtual machine.
  2. To debug the app and then run it from Visual Studio., press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.

Set the metrics flush interval for a virtual machine

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe ConfigureMetricsFlushInterval flush-interval-hours

    where flush-interval-hours is the new metrics flush interval, in hours.

  2. To debug the app and then run it from Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.

Determine if metrics collection is enabled for a virtual machine

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe QueryMetricCollectionEnabledForVm vmName

    where vmName is the name of the virtual machine.

  2. To debug the app and then run it from Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.

Enumerate the discrete metrics for a virtual machine

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe EnumerateDiscreteMetricsForVm vmName

    where vmName is the name of the virtual machine.

  2. To debug the app and then run it from Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.

Enumerate the metrics for a resource pool

To run this sample in this mode, follow these steps.

  1. Enter the debug command line arguments for the project. The usage of this sample is:

    MetricsSample.exe EnumerateMetricsForResourcePool ResourceType **** ResourceSubType [PoolId]

    where ResourceType is the numeric resource type, ResourceSubType is the resource sub type, and PoolId is the resource pool identifier. The PoolId is optional.

  2. To debug the app and then run it from Visual Studio, press F5 or use Debug > Start Debugging. To run the app without debugging, press Ctrl+F5 or use Debug > Start Without Debugging.

  3. The final result of the operation will be displayed in the console window.