Top Ad unit 728 × 90

Konularımız

random
[post_ad]

C# PerformanceCounter Kullanımı ve PerformanceCounterCategory Listeleme: İleri Düzey Performans İzleme

C# Programlama Diline Giriş: Başlangıçtan Uzmanlığa Adım Adım Rehber

PerformanceCounter Nedir?

PerformanceCounter, .NET Framework içinde bulunan bir sınıftır ve uygulamalarınızın çalışma zamanındaki performansını ölçmek için kullanılır. Bu sınıf, işlemci kullanımı, bellek tüketimi, disk performansı gibi çeşitli ölçümleri gerçek zamanlı olarak izlemenizi sağlar. Bu sayede, uygulamalarınızın performans sorunlarını tanımlayabilir ve geliştirebilirsiniz.

PerformanceCounter Neden Kullanmalıyız?

  1. Performans İzleme ve Analiz: PerformanceCounter, uygulamalarınızın performansını izlemenizi ve analiz etmenizi sağlar. Bu, uygulamanızın kaynak tüketimini anlamanızı ve performans sorunlarını tespit etmenizi kolaylaştırır.
  2. Hata Ayıklama ve Optimizasyon: Uygulamanızın hangi alanlarda daha fazla kaynak kullandığını bilmek, performans sorunlarını hızlı bir şekilde tespit etmenize ve optimize etmenize yardımcı olur. Bu da uygulamanızın daha verimli çalışmasına olanak tanır.
  3. Uygulama Güvenilirliği: PerformansCounter, uygulamanızın sistem kaynaklarıyla nasıl etkileşimde bulunduğunu gösterir. Bu bilgiler, uygulamanızın daha güvenilir ve sağlam olmasına yardımcı olabilir.

PerformanceCounter Nerelerde Kullanılır?

  • Web Uygulamaları: Web uygulamalarında, HTTP istekleri, bellek kullanımı ve veritabanı etkileşimleri gibi performans ölçümlerini izlemek için PerformanceCounter kullanılabilir.
  • Windows Servisleri: Arka planda çalışan Windows servisleri, sistem kaynaklarını etkili bir şekilde kullanmalıdır. PerformanceCounter, bu servislerin performansını sürekli olarak izlemek için ideal bir araçtır.
  • Veritabanı Uygulamaları: PerformansCounter, SQL Server gibi veritabanı uygulamalarında sorgu performansı, bağlantı havuzu kullanımı gibi faktörleri izlemek için kullanılabilir.
  • Mobil Uygulamalar: C# PerformanceCounter, mobil uygulamalarda kullanılan kaynakları izleyerek pil ömrünü artırabilir ve genel performansı optimize edebilir.

PerformanceCounter Kullanımı

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" özelliklerinin hazır olarak listelenmediği için bu bilgileri elle getireceğiz.

Şimdi, bir Windows Forms uygulamasında bu özellikleri nasıl kullanabileceğimize göz atalım.

Öncelikle, bir Form'a 3 ListBox ve 1 adet RichTextBox ekleyelim.

Adım 1: Form Load

Form yüklenirken, PerformanceCounter kategorilerini alarak ilk ListBox'a ekleyelim. Ayrıca bazı örnek kategoriler de ekleyebiliriz.

csharp
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); } }

Adım 2: ListBox1 MouseDoubleClick

İkinci adımda, listBox1'in MouseDoubleClick olayını ele alacağız. Eğer listBox3'ün içi doluysa, önce listBox3'ü temizleyelim. Ardından seçilen kategoriye ait örnek isimlerini listBox2'ye ekleyelim.

csharp
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()); } } }

Adım 3: ListBox2 MouseDoubleClick

Üçüncü adımda, listBox2'nin MouseDoubleClick olayını ele alacağız. Seçilen kategori ve örnek ismine göre counter isimlerini listBox3'e ekleyelim.

csharp
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); } }

Adım 4: ListBox3 MouseDoubleClick

Son adımda, listBox3'ün MouseDoubleClick olayını ele alacağız. Seçilen kategori, counter ve örnek ismine göre bir PerformanceCounter oluşturup, değerini RichTextBox'a yazdıralım.

csharp
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 tamamlandı arkadaşlar! Yakın bir zamanda bu konuyla ilgili bir videoya buradan ulaşabileceksiniz!

Umarım bu makale size faydalı olur. İyi çalışmalar!

Hiç yorum yok:

All Rights Reserved by Csharp Eğitim Dünyası © 2023 - 2023
Powered By Ebubekir Bastama(EBS), Designed by EÇK Yazılım

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.