ETW İzleme

AnalyticTrace örneği, Windows için Olay İzleme (ETW) kullanarak Uçtan Uca (E2E) izlemenin nasıl uygulandığını ve bu örnekle birlikte sağlananın ETWTraceListener nasıl uygulandığını gösterir. Örnek, Başlarken'i temel alır ve ETW izlemesini içerir.

Not

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda bulunur.

Bu örnekte, İzleme ve İleti Günlüğü hakkında bilgi sahibi olduğunuz varsayılır.

İzleme modelindeki her izleme kaynağı, System.Diagnostics verilerin nerede ve nasıl izleneceğini belirleyen birden çok izleme dinleyicisine sahip olabilir. Dinleyici türü, izleme verilerinin günlüğe kaydedildiği biçimi tanımlar. Aşağıdaki kod örneği, dinleyicinin yapılandırmaya nasıl ekleneceğini gösterir.

<system.diagnostics>
    <sources>
        <source name="System.ServiceModel"
             switchValue="Verbose,ActivityTracing"
             propagateActivity="true">
            <listeners>
                <add type=
                   "System.Diagnostics.DefaultTraceListener"
                   name="Default">
                   <filter type="" />
                </add>
                <add name="ETW">
                    <filter type="" />
                </add>
            </listeners>
        </source>
    </sources>
    <sharedListeners>
        <add type=
            "Microsoft.ServiceModel.Samples.EtwTraceListener, ETWTraceListener"
            name="ETW" traceOutputOptions="Timestamp">
            <filter type="" />
       </add>
    </sharedListeners>
</system.diagnostics>

Bu dinleyiciyi kullanmadan önce bir ETW İzleme Oturumu başlatılmalıdır. Bu oturum Logman.exe veya Tracelog.exe kullanılarak başlatılabilir. Bu örneğe bir SetupETW.bat dosyası eklenmiştir; böylece etw izleme oturumunu ve oturumu kapatıp günlük dosyasını tamamlamak için bir CleanupETW.bat dosyası ayarlayabilirsiniz.

Not

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır. Bu araçlar hakkında daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?LinkId=56580

ETWTraceListener kullanılırken, izlemeler ikili .etl dosyalarında günlüğe kaydedilir. ServiceModel izleme açıkken, oluşturulan tüm izlemeler aynı dosyada görünür. .etl ve .svclog günlük dosyalarını görüntülemek için Hizmet İzleme Görüntüleyicisi Aracı'nı (SvcTraceViewer.exe) kullanın. Görüntüleyici, bir iletiyi kaynağından hedefine ve tüketim noktasına kadar izlemeyi mümkün kılan sistemin uçtan uca bir görünümünü oluşturur.

ETW İzleme Dinleyicisi döngüsel günlüğü destekler. Bu özelliği etkinleştirmek için Başlat, Çalıştır'a gidin ve bir komut konsolu başlatmak için yazın cmd. Aşağıdaki komutta parametresini <logfilename> günlük dosyanızın adıyla değiştirin.

logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000

-f ve -max anahtarları isteğe bağlıdır. İkili döngüsel biçimi ve en fazla günlük boyutunu sırasıyla 1000 MB olarak belirtir. anahtar -p , izleme sağlayıcısını belirtmek için kullanılır. Örneğimizde , "{411a0819-c24b-428c-83e2-26b41091702e}" "XML ETW Örnek Sağlayıcısı" için GUID'dir.

Oturumu başlatmak için aşağıdaki komutu yazın.

logman start Wcf

Günlüğü tamamladıktan sonra, aşağıdaki komutla oturumu durdurabilirsiniz.

logman stop Wcf

Bu işlem, Hizmet İzleme Görüntüleyici Aracı (SvcTraceViewer.exe) veya Tracerpt dahil olmak üzere istediğiniz araçla işleyebileceğiniz ikili döngüsel günlükler oluşturur.

Döngüsel günlük kaydı gerçekleştirmek için alternatif bir dinleyici hakkında daha fazla bilgi için Döngüsel İzleme örneğini de gözden geçirebilirsiniz.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri için Tek Seferlik Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.

  2. Çözümü oluşturmak için Windows Communication Foundation Örnekleri Oluşturma başlığındaki yönergeleri izleyin.

    Not

    RegisterProvider.bat, SetupETW.bat ve CleanupETW.bat komutlarını kullanmak için yerel yönetici hesabı altında çalıştırmanız gerekir. Windows Vista veya sonraki bir sürümü kullanıyorsanız, yükseltilmiş ayrıcalıklarla komut istemini de çalıştırmanız gerekir. Bunu yapmak için komut istemi simgesine sağ tıklayın ve ardından Yönetici olarak çalıştır'a tıklayın.

  3. Örneği çalıştırmadan önce istemci ve sunucuda RegisterProvider.bat çalıştırın. Bu, Hizmet İzleme Görüntüleyicisi tarafından okunabilen izlemeler oluşturmak için sonuçta elde edilen ETWTracingSampleLog.etl dosyasını ayarlar. Bu dosya C:\logs klasöründe bulunabilir. Bu klasör yoksa, oluşturulması gerekir veya hiçbir izleme oluşturulmaz. Ardından, ETW İzleme Oturumu'nu başlatmak için istemci ve sunucu bilgisayarlarında SetupETW.bat çalıştırın. SetupETW.bat dosyası CS\Client klasörünün altında bulunabilir.

  4. Örneği tek veya bilgisayarlar arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.

  5. Örnek tamamlandığında, ETWTracingSampleLog.etl dosyasının oluşturulmasını tamamlamak için CleanupETW.bat çalıştırın.

  6. ETWTracingSampleLog.etl dosyasını Hizmet İzleme Görüntüleyicisi'nin içinden açın. İkili biçimlendirilmiş dosyayı .svclog dosyası olarak kaydetmeniz istenir.

  7. ETW ve ServiceModel izlemelerini görüntülemek için yeni oluşturulan .svclog dosyasını Hizmet İzleme Görüntüleyicisi'nden açın.

Ayrıca bkz.