Makale Özeti

VISUAL STUDIO ANALYZER, performans analiz aracıdır. Uygulamalarınızın çalışma anında bu analizi yapabiliriz. VISUAL STUDIO ANALYZER, uygulamanın performansını ve çalışmasını kaydedebilir. Bu bilgileri tablo, grafik ve diyagram içinde görebiliriz. Uygulamalarınızın performansını, bileşenlerinizin durumunu bu veri koleksiyonu içinde görebilirsiniz.

Makale

VISUAL STUDIO ANALYZER - 1

  VISUAL STUDIO ANALYZER, performans analiz aracıdır. Uygulamalarınızın çalışma anında bu analizi yapabiliriz. VISUAL STUDIO ANALYZER, uygulamanın performansını ve çalışmasını kaydedebilir. Bu bilgileri tablo, grafik ve diyagram içinde görebiliriz. Uygulamalarınızın performansını, bileşenlerinizin durumunu bu veri koleksiyonu içinde görebilirsiniz.

Performans Analizi Nedir?
  Bir uygulamanın, performans, yazılım ve network açısından problemleri olabilir. Bu durumda uygulamanın sorun yarattığı bölümlerin dizaynı, yazılım aşamaları incelenmelidir. Bu işleme performans analizi denir.

VISUAL STUDIO ANALYZER Nedir?
  Modern yazılım geliştirme, distributed obje mimarisi kullanır. Birçok obje içeren uygulamalarda bu objeler her türlü yer için her türlü görevi yapabilirler. Bunun sonucunda da tasarım sorunları, network sorunları ve donanım sorunları yaşanabilir. VISUAL STUDIO ANALYZER bu aşamada bize aşağıdaki başlıklarda yardımcı olabilir;
• Platformdaki görünürlük,
• Birçok bilgisayar ve bileşenlerden gelen veri kapasitesi sorunları,
• Dağıtık uygulamanın profil kapasitesi,

  Bildiğiniz gibi debug ederekde bir uygulamadaki sorunları algılayabiliriz. Ancak birçok yerden etkilenen bir uygulama veya aşamaları çok fazla olan bir uygulama olduğunu düşündüğünüzde debug etme işlemi yetersiz kalabilir.
Ancak VISUAL STUDIO ANALYZER, yüksek seviyede bileşenlerinizdeki çıkan sorunları bulmamıza yardımcı olur. Ancak hatanın olduğu yeri bildiğiniz zaman debug işlemini kullanmak daha başarılı bir sonuç verecektir. VISUAL STUDIO ANALYZER, profil ölçen araçlara benzer. Ancak farklı alanda faaliyet gösterir. Kod profil araçları bileşenlerin veya tek işlemli uygulamaların nerede kullanıldığını çalışma zamanında kullanır. Bu araçlar kaynak koddaki özel fonksiyonların veya özel satırların çalışma zamanında ne kadar zaman harcadığını raporlar. VISUAL STUDIO ANALYZER, yüksek seviyede performans analizi yapar ve bunu raporlar. Uygulamanın bileşenlerinin nerede ne kadar zaman harcadığını yüksek seviyede raporlar. Bu performans bilgisini bileşen seviyesinde, fonksiyonda veya kaynak kod seviyesinde görebiliriz. Olay anındaki zamanlama raporlanır, fonksiyonun çağrılması ve geriye dönüşü gibi işlemleri takip edebiliriz.

VISUAL STUDIO ANALYZER Mimarisi
  Yüksek seviyede VISUAL STUDIO ANALYZER mimarisi istemci ve sunucu içerir. İstemci bilgisayarı bilgileri doldurur ve olayları işler. İstemci ve sunucu aynı makine üzerinde de olabilir. Visual Studio kurulumu sırasında sadece VISUAL STUDIO ANALYZER sunucusunu kurabiliriz. Veya hem sunucu hemde istemci (her ikisi) kurulumunu gerçekleştirebiliriz.
  VISUAL STUDIO ANALYZER Server, sunucu bilgisayarı üzerinde kurulmaz. Kurulum, olaylar hangi bilgisayar üzerinde gerçekleşecekse o bilgisayar üzerinde gerçekleştirilmelidir. Eğer işlemler tek bilgisayar üzerinde gerçekleşiyorsa, bu bilgisayara VISUAL STUDIO ANALYZER’ın istemci ve sunucu bileşenlerinin kurulması gerekmektedir. Eğer olaylar birden fazla bilgisayarda gerçekleşiyorsa, tüm makinelere sunucu bileşenlerini kurmak gerekmektedir. İstemci kurulumunu ise hangi bilgisayarda olayları analiz edeceksek oraya gerçekleştirmemiz gerekmektedir.
VISUAL STUDIO ANALYZER’ın yüksek seviyede bileşenleri;
• Kaynak kod: Olayın nerede oluşturulduğu bilgisidir. VISUAL STUDIO ANALYZER sunucusu üzerindedir.
• In-process event creator (IEC): Olay oluşturulması için metotların uyarlanması. VISUAL STUDIO ANALYZER sunucusu üzerindedir.
• Local event concentrator (LEC): VISUAL STUDIO ANALYZER sunucusu üzerinde tüm olaylar doldurulmuş durumdadır. Eğer uygulama mimariniz birden fazla VISUAL STUDIO ANALYZER sunucu bilgisayarı içeriyorsa, her bir bilgisayar için bir LEC bulunur. VISUAL STUDIO ANALYZER sunucusu üzerindedir.
• Primary event collector(PEC): Her bir LEC’den gelen tüm filitrelenmiş olaylar doldurulur. Eğer uygulama mimariniz birden fazla bilgisayar içeriyorsa sadece PEC istemci bilgisayarına kurulur ve herbir LEC’den filitrelenmiş olaylar burada tutulur. VISUAL STUDIO ANALYZER istemcisi üzerindedir.
• User interface(UI): Bu olayların analizleri buradan takip edilebilir. Event Log’a kaydedilen olaylar buradan görünebilir. VISUAL STUDIO ANALYZER istemcisi üzerindedir.

Olay Gerçekleştirme(Event Generation)
  Olay gerçekleştirme, olay kaynağı ve olay koleksiyonu arasında etkileşimi sağlar. Olay kaynağı tarafından olay gerçekleşir ve bu olay VISUAL STUDIO ANALYZER üzerindedir. Örneğin olay kaynağı IEC objesinde oluşturulduğu zaman BeginSession, FireEvent ve EndSession metotları çağrılır. Sonrasında IEC silinir. Birincil olay koleksiyonu (primary event collector - PEC) filitrelenmiş olaylarla doldurulur ve bunlar Event Log’da doldurulur. Eğer bir bilgisayar üzerinde birden fazla olay kaynağı varsa, her bir çağırım, kendi IEC arayüzünde olur.
Olay gerçekleşme figürleri;
1) VISUAL STUDIO ANALYZER kullanıcı arayüzünde manuel filitre oluşturulur veya dışardan bir uygulama ile programlayabiliriz.
2) Filitre ifadesindeki listelenmiş tüm bilgisayarlara PEC filitre gönderir.
3) Local Event Concentrator(LEC): Her bir bilgisayar filitreleri alır. Filitre tabanlıdır. Sonrasında hangi olay kaynaklarının aktif edileceğine karar verir.
4) In-Process Event Collector(IEC) kullanımı, olay kaynakları olayları oluşturur.
5) Bu olaylar LEC tarafından filitrelenir.
6) Bu olaylar LEC tarafından filitrelenir, sonrasında PEC’e geri gönderilir.
7) Bu filitrelenmiş olaylar, başka yazılmış bir uygulama ile başka kullanıcı arayüzünde gösterilir.

Kaynak: http://msdn.microsoft.com

Yeliz Korkmaz
yeliz.korkmaz@bilisimanadolu.com