Yazılım Eğitim

Yeni Haberler

C# PerformanceCounter Kullanımı ve PerformanceCounterCategory Listeleme | Ebubekir Bastama

Herkese iyi günler arkadaşlar.
Bu makalemizde sizlere "PerformanceCounter" kullanımından bahsedeceğim.Ayrıca en son sürümde "Category name","Counter name" ve "InstanceName" Properties(Özellikler)'de hazır olarak listelenmediği için bu bilgileri elle getireceğiz.
Şimdi Form'umuza 3 ListBox ve 1 adet Richtexbox ekliyorum..
Şimdi geleyim aşamalara:
  1. Form Load
  2. Listbox1 MousDouble Click
  3. Listbox2 MousDouble Click
  4. Listbox3 MousDouble Click
Şimdi yukardaki sıraya göre 'Events'leri oluşturup kodlamaya başlayalım.
1-) Form Load

     private void Form1_Load(object sender, EventArgs e)

        {

          
            var dizi = PerformanceCounterCategory.GetCategories();
            listBox1.Items.Add("Process");
            listBox1.Items.Add("Processor");

            for (int i = 0; i < dizi.Length; i++)
            {
                listBox1.Items.Add(dizi[i].CategoryName);
            }

        }
2-) Listbox1 MousDouble Click
        private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (listBox3.Items.Count!=0)
            {
                listBox3.Items.Clear();
                var dizi1 = new PerformanceCounterCategory(listBox1.SelectedItem.ToString());
                listBox2.Items.Clear();
                for (int i = 0; i < dizi1.GetInstanceNames().Length; i++)
                {
                    listBox2.Items.Add(dizi1.GetInstanceNames()[i].ToString());
                }
            }
            else
            {
                var dizi1 = new PerformanceCounterCategory(listBox1.SelectedItem.ToString());
                listBox2.Items.Clear();
                for (int i = 0; i < dizi1.GetInstanceNames().Length; i++)
                {
                    listBox2.Items.Add(dizi1.GetInstanceNames()[i].ToString());
                }
            }
           
        }
3-) Listbox2 MousDouble Click
        private void listBox2_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            var dizi2 = new PerformanceCounterCategory(listBox1.SelectedItem.ToString());
            var dizi3 = dizi2.GetCounters(listBox2.SelectedItem.ToString());
            listBox3.Items.Clear();
            for (int i = 0; i < dizi3.Length; i++)
            {
                listBox3.Items.Add(dizi3[i].CounterName);
            }
        }

4-) Listbox3 MousDouble Click



        private void listBox3_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            PerformanceCounter prf = new PerformanceCounter(listBox1.SelectedItem.ToString(),listBox3.SelectedItem.ToString(),listBox2.SelectedItem.ToString());
            richTextBox1.Clear();
            richTextBox1.AppendText(prf.NextValue().ToString());
        }

Kodlarımız bitti arkadaşlar yakın bir zamanda bunla alakalı videoya buradan ulaşabileceksiniz.!

Hiç yorum yok