C# - PerformanceCounter komponens használata

forráskód letöltése
Win NT/XP esetén számtalan olyan rendszer teljesítmény mérő áll rendelkezésünkre, melyeken keresztül sok értékes adatot kérdezhetünk le a rendszerünk aktuális állapotáról. Ilyen lehet például a rendelkezésre álló memória terület, a processzor terheltsége, hálózati adatok, sql szerver, web, stb.
Ezeket az adatokat a Windows a regisztrációs adatbázis dinamikusan frissülő területén tárolja el. Ezek kiolvasását a PerformanceCounter komponens igen nagy mértékben leegyszerűsíti.
Használata is igen egyszerű: miután feltettünk egyet a Form-ra a ToolBox Components lapjáról, válasszuk ki a CategoryName property-ből azt a kategória csoportot, melyben megtalálható a számunkra érdekes adat.
Második lépésként a CounterName property-nél választhatunk egy értéket az adott csoportból. Bizonyos értékeknél még az InstanceName property-nél is lehetőségünk nyílik választásra (pl.: Processor – Processor Time).
A mellékelt példában Label komponensekre írjuk ki az aktuális értékeket, melyeknek frissítését egy Timer komponenssel oldjuk meg. Az adott számláló aktuális értékét a PerformanceCounter komponens RawValue property-én keresztül érhetjük el. A komponens CounterHelp nevű property-éből megkaphatjuk a választott számláló szöveges leírását is.
      protected void timer1_Tick (object sender, System.EventArgs e)
      {
        label1.Text = performanceCounter1.CounterHelp + ": " + performanceCounter1.RawValue.ToString();
        label2.Text = performanceCounter2.CounterHelp + ": " + performanceCounter2.RawValue.ToString();        
        label3.Text = performanceCounter3.CounterHelp + ": " + performanceCounter3.RawValue.ToString();                
      }