The Vostok.Sys.Metrics.PerfCounters library provides interface for efficient consuming Windows Performace Counters data. It uses Performance Data Helpers (PDH) API under the hood.
var counter = PerformanceCounterFactory
.Default
.CreateCounter("Memory", "Committed Bytes");
var counter = PerformanceCounterFactory
.Default
.CreateCounter("LogicalDisk", "% Idle Time", "C:");
var counter = PerformanceCounterFactory
.Default
.CreateCounter(".NET CLR Memory", "Gen 2 Heap Size", InstanceNameProviders.DotNet.ForPid(1234));