C# - CounterSample osztály

forráskód letöltése
PerformanceCounter osztályt használva a rendszer különféle számlálóinak, teljesítmény mérő objektumainak értékét tudjuk lekérdezni. A kapott adatokat egy CounterSample osztály tárolja, nekünk ezt kell értelmezni, így nem árt tisztában lenni ezen osztály képességeivel.
Mellékelt példában a CounterSample tulajdonságait vizsgáljuk.
Amikor a PerformanceCounter osztály NextSample függvényét meghívjuk, akkor kapjuk a kijelölt számláló aktuális értékét a függvény visszatérési értékeként egy CounterSample osztály formájában. Nézzük hát milyen adatokat olvashatunk ki ebből az osztályból.
BaseValue
Osztály: System.Diagnostics.CounterSample
public long BaseValue {get;}
Bázis érték, mely abban az esetben használható, ha olyan számlálót kérdezünk le, melynek több értéke is van.
CounterFrequency
Osztály: System.Diagnostics.CounterSample
public long CounterFrequency {get;}
A számláló frekvenciája ezredmásodpercben mérve.
CounterTimeStamp
Osztály: System.Diagnostics.CounterSample
public long CounterTimeStamp {get;}
A számláló azon időpontja, amikor a mintavételezés történt.
CounterType
Osztály: System.Diagnostics.CounterSample
public PerformanceCounterType CounterType {get;}
A számláló típusa, mely az alábbiak egyike lehet:
  • AverageBase
  • AverageCount64
  • AverageTimer32
  • CounterDelta32
  • CounterDelta64
  • CounterMultiBase
  • CounterMultiTimer
  • CounterMultiTimer100Ns
  • CounterMultiTimer100NsInverse
  • CounterMultiTimerInverse
  • CounterTimer
  • CounterTimerInverse
  • CountPerTimeInterval32
  • CountPerTimeInterval64
  • ElapsedTime
  • NumberOfItems32
  • NumberOfItems64
  • NumberOfItemsHEX32
  • NumberOfItemsHEX64
  • RateOfCountsPerSecond32
  • RateOfCountsPerSecond64
  • RawBase
  • RawFraction
  • SampleBase
  • SampleCounter
  • SampleFraction
  • Timer100Ns
  • Timer100NsInverse
RawValue
Osztály: System.Diagnostics.CounterSample
public long RawValue {get;}
A számláló aktuális értéke.
SystemFrequency
Osztály: System.Diagnostics.CounterSample
public long SystemFrequency {get;}
A rendszer frekvenciája.
TimeStamp
Osztály: System.Diagnostics.CounterSample
public long TimeStamp {get;}
Az az időpont, amikor a számláló ki lett olvasva.
TimeStamp100nSec
Osztály: System.Diagnostics.CounterSample
public long TimeStamp100nSec {get;}
Ugyanaz, mint a TimeStamp, de 100 ns időközzel.
Calculate
Osztály: System.Diagnostics.CounterSample
public static float Calculate(
CounterSample counterSample
);
A jelenlegi és egy másik CounterSample osztályban tárolt adat különbségét lehet kiszámíttatni a Calculate függvénnyel.
Paraméterek
CounterSample counterSample
A számításban résztvevő másik CounterSample osztályt kell itt megadnunk.
Visszatérési érték
A kiszámított érték.
Calculate
Osztály: System.Diagnostics.CounterSample
public static float Calculate(
CounterSample counterSample,
CounterSample nextCounterSample
);
Két lekérdezés eredményeképp kapott CounterSample osztályban tárolt adat különbségét lehet kiszámíttatni a Calculate függvénnyel.
Paraméterek
CounterSample counterSample
A számításban résztvevő CounterSample osztályt kell itt megadnunk.
CounterSample nextCounterSample
A számításban résztvevő következő értéket tároló CounterSample osztályt kell itt megadnunk.
Visszatérési érték
A kiszámított érték.
A példaprogram
A mellékelt példában a rendelkezésre álló memória terület méretének változását figyelhetjük meg az adatokból kB-ban mérve.