1 Ağustos 2018 Çarşamba

PerformanceCounter Sınıfı

Giriş
Şu satırı dahil ederiz
using System.Diagnostics;
Constructor
1 - Memory
Şöyle yaparız.
PerformanceCounter pc = new PerformanceCounter("Memory", "Available MBytes");
2 - .NET CLR LocksAndThreads
Örnek
Şöyle yaparız.
var counter1 = new PerformanceCounter(".NET CLR LocksAndThreads",
 "Contention Rate / sec",  "ConsoleApp1");
var counter2 = new PerformanceCounter(".NET CLR LocksAndThreads",
 "Total # of Contentions", "ConsoleApp1");
3 - Processor
Örnek
Şöyle yaparız.
PerformanceCounter pc = new PerformanceCounter("Processor", "% Processor Time",
  "_Total", true);
Console.WriteLine(pc.NextValue());
Örnek
Idle zamanı ölçmek için şöyle yaparız.
PerformanceCounter pc = new PerformanceCounter("Processor", "% Idle Time", "_Total");
NextValue metodu
Açıklaması şöyle
If the calculated value of a counter depends on two counter reads, the first read operation returns 0.0. Resetting the performance counter properties to specify a different counter is equivalent to creating a new performance counter, and the first read operation using the new properties returns 0.0. The recommended delay time between calls to the NextValue method is one second, to allow the counter to perform the next incremental read.
İlk çağrıda 0 döner. Bir sonraki çağrı için 1 saniye beklemek gerekir. Şöyle yaparız.
while (true)
{
  Console.WriteLine(pc.NextValue());
  Thread.Sleep(1000);
}
Interpolated string olark kullanmak istersek şöyle yaparız.
Console.WriteLine($"Contention: {counter1.NextValue()}/sec,
                    Total: {counter2.NextValue()}");

Hiç yorum yok:

Yorum Gönder