Makale Özeti

Örnekler yapıp, bitiriyoruz.

Makale

VISUAL STUDIO ANALYZER – 5

Olayları Tekrar Çalıştırmak ( Play Back)
Event Log’u yeniden çalıştırarak, hangi olay sıralı ve bileşenleri arasındaki hareketleri görebilirsiniz. Tüm VSA projeleri için bu işlemi gerçekleştirebiliriz. Bu işlemi gerçekleştirmek için;
VSA görünümünde işlem yapmak istediğimiz event log’u seçin, Analyzer menüsünde, Replay Events’i tıklayın.
Bir event log’dan biden fazla görünüm açabiliriz ve bu olaylara aynı zamanda play back işlemini gerçekleştirebiliriz.
Play back işlemini iptal etmek için, Analyzer menüsünden Stop Repley’i seçmeniz gerekmektedir.

Event Log Dosyaları
VSA, event log dosyalarını .val uzantılı dosyalarda tutar. Bu event log dosyalarını kopyalayıp başka bir projede de kullanabiliriz. Kaydedilmiş event log’u açabiliriz ve projemize eklenti olarak verebiliriz. Bu işlem, event log’ları ekip üyeleri arasında paylaştırabilmek için kolay bir yoldur.
Event log’u silebilir veya adını değiştirebiliriz. Ancak adını sadece açıkken veya kayıt işlemini yaparken değiştirebiliriz. Solution Explorer’da event log adı üstündeyken sağ tuş Rename ve Delete’i seçerek silme ve isim değiştirme işlemlerini gerçekleştirebiliriz.

Event Log’ların Import (İthal) ve Export (İhraç) Edilmesi
VSA event log’larıcoma-seperated veriable (.csv) dosyası olarak export edebiliriz. Sonrasında bu dosyayı MS Access veya Excel gibi programlarda açarak inceleyebilirsiniz. Export işlemlerinden sonra bilgilerikolon bazında listeler. Standart bir export işlrminde Event olarak gösterilir. Event type alanının aldığı sayısal değerlerin açıklamaları:
0: DEBUG-EVENT-TYPE-OUTSOUND
1: DEBUG-EVENT-TYPE-INBOUND
2: DEBUG-EVENT-TYPE-GENERIC VEYA
-DEFAULT
3: DEBUG-EVENT-TYPE- MEASURED
4: DEBUG-EVENT-TYPE-BEGIN
5: DEBUG-EVENT-TYPE-END

VSA Log Bilgisini Export Etme
Solution Explorer’de export etmek istediğiniz event log’u seçin ve Analyzer menüsünde Export Events’i seçin. Dosya adını verdikden sonra Save butonuna tıklayın.
Aynı şekilde export edilmiş bir VSA event log’unu VSA’a import edebiliriz. Bu işlemi yaptığımız zaman yeni bir event log otomatik olarak oluşturulur.

Import İşlemi Gerçekleştirme
Solution Explorer’da event log seçilir, Analyzer menüsünden Import Events tıklanır ve import edilecek dosya seçilerek Open butonuna basılır.

Views (Görünümler)
Views, uygulamaların analiz merkezidir. Bilgi veya event kayıt ortamında gerçekleştirilir ve bu sonuçlar bir çok şekilde view oluşturularak sunulur. Her bir view uygulamanın farklı performans sonuçlarının sunulmasını sağlar ve bilgileri analiz etme yoludur.bazı view’ler grafiksel görüntü sağlar, diğerleri olay bilgilerini tablolar gibi gösterir. View’ler aracılığı ile VSA’ınoluşturduğu event log’ları görebiliriz. VSA view’lerini kullanarak uygulamaların farklı iki noktada bilgilerini görebiliriz;
• Uygulamanın çalıştığı zaman,
• Uygulamanın çalışması bittikden sonra analiz etmek için. View’ler ve kullanım alanları;
Event List View:
Aktif event log’daki tüm olayların listesini verir. Çok bilgi verebileceği için sıralama yaparak tavsiye edilir.
Chart View:
Event Log’daki olaylatı ağaç şeklinde gösterir.
Block Diagram Views:
Uygulamanın bileşenlerini garfiksel olarak gösterir. Uygulamanın yapısını anlamak için kullanımı iyidir.

  mstrVSAnalyzer Project GUID= “{6C736D90-11D0-00A0C91EZACD}”
  Tanımlanmış değişken Solution objesinin TemplatePath metoduna gönderilir, VSA projesinden yol (path) bilgisi alınır.
  Dim strTemplatePath As String
  strTemplatePath=DTE.Solution.TemlatePath(mstrVSAnalyzerProject GUID)
  VSA proje dosyası adı güncellemsi için yol bilgisi Templat4ePath metodundan dönüyor.
  Dim strTemplateFullName As String
  mstrTemplateFullName=strTemplatePath+“\Analyzer.vap”
  Sting değişken tanımlanıyor ve projenin yolu bilgisini içermesi için değişkene atama yapılıyor.

  Dim mstrProjectPath As String
  mstrProjectPath= “C:\VSAnalyzerSamples\VBAutoSample”
  Projenin adını tutması için başka bir string değişken tanımlıyoruz.
  Dim mstrProjectName As String
  mstrProjectName= “VBAutoSample.vap”
  Solution objesinin AddFromTemlate metodu ile çağrılıyor ve tanımlanmış temlate adı, proje konumu ve proje adı gönderiliyor.
  Dim mMyVSProject As Project
  Set mMyVSProject=DTE.Solutio.AddFromTemlate(mstrTemlate FullName, mstrProjectPath, mstrProjectName, Exclusive=False)
  VSAnalyzerProject obje değişkeni tanımlanıyor:
  Dim mMyVSAnalyzerProject=mMyVSAnalyzerProject
  Set mMyVSAnalyzerProject=mMyVSProject, Object

Bu kodları çalıştırdıkdan sonra Visual Studio solution içinde, Visual Studio Analyzer projesini oluşturmuş oluyoruz. Diğer proje öğelerini oluşturabilir ve ekleyebilir durumdayız.

Event Log’un Progmatik Olarak Oluşturulması
Pragmatik olarak event log’ları oluşturabilir veya açabiliriz. Event Log’u oluşturdukdan ve bilgisayara bağlantı sağlandıktan sonra, filitre oluşturabilir ve event log’a olayları kaydetmeye başlayabiliriz. Gerekli kodlamalar (Visual Basic):

  VSAnalyzerProject arayüzünde StartRecording Metodu çağrılıyor.
  Dim mstrEventLogName= “NewEventLog”
  Dim EventLogItem As VSAnalyzerProject, StartRecording (mstrEventLogName)
  Set EventLogItem=mMyVSAnalyzerProject, StartRecordingmstrEventLogName)
  Pragmatik olarak var olan eventlog’u açma;
  AddEventLog metodu çağrılarak event log adı gönderiliyor.
  Dim mstrEventLogName= “OrnekEventLog”
  Dim EventLogItem As VSAnalyzerEventLog
  Set EventLogItem=mMyVSAnalyzerProject.AddEventLog(mstrEventLogName)

Bilgisayar Bağlantılarının Pragmatik Olarak Oluşturulması
Event Log içerisine olayları dolduracak bilgisayarları tanımlamak zorundayız. Eğer bağlantı işlemi gerçekleşmez ise bazı olaylar kaydedilmeyebilir.
Bilgisayar bağlantısı ekleme prosedürü, event log oluşturulmasına benzer. Bilgisayar bağlantılarını ekledikden sonra, herbir bilgisayar için olayları doldurmaya başlayabiliriz.

  AddMachine metodu bilgisayar bağlantısını oluşturur ve döndürür.
  Dim MachineItem As VSAnalyzer Machine
  Set MachineItem=mMyVSAnalyzerProject.AddMachine(“MakineAdi”)
  Pragmatik olarak filter objesi değişkeni tanımlayıp, bu değişkene VSAnalyzerProject  objesinin AddFilter metodunun çağrıldıkdan sonra dönen değerin atanması yeterlidir.
  Dim mRecordingFilter As VSAnalyzerFilter
  Set mRecording Filter=mMyVSAnalyzer Project.AddFilter(“FilterDemo”,True)

Event Log İçine, Olayların Pragramatik olarak Kaydedilmesi

  mMyVSAnalyzerProject.StartRecording Olaylar kaydedilmeye başlıyor.
  mMyVSAnalyzerProject.StopRecording Olay kaydedilme işlemini durduruyor.
  mMyAnalyzerProject.Deactivate Filter’ın aktivitesi kaldırıyor.

Olay kaydetme işlemini durdurmak için, VSAnalyzerProject.PauseRecording; veya kaydetme işlemini yenilemek için VSAnalyzerProject.ResumeRecording ifadelerini kullanabiliriz.

Veri Analizleri
Event log’a kaydedilen bilgilerin analizlerinde pragramatik olarak yapabiliriz.

  Dim singleEvent As VSAnalyzerEvent Olay listesi tanımlanıyor.
  For each singleEvent in mEventLog Bilgiler alınıyor.
   SourceMachine=singleEvent.SourceMachine
   SourceProcessName=singleEvent.SourceProcessName
   SourceThread=singleEvent.SourceThread
   LoggedTime=singleEvent.LoggedTime
  Next

.Next Ortamında Kullanım için Gerekli Bilgiler
Projenizde iken .Net tabında, Add References’i seçin. Gelen ekranın, .Net tabında Browse’u seçin. \Program Files\Visual Studio .NET\Comman7\Tools\Analyzer\VAPkg klasörü altında Microsoft.VisualStudoAnalyzer.Automatian.dll dosyasını seçin ve referans olarak ekleyin.

Yeliz Korkmaz, MVP
yeliz.korkmaz@bilisimanadolu.com
Kaynak: http://msdn.microsoft.com