Pelacakan ETW

Sampel AnalyticTrace menunjukkan cara menerapkan pelacakan End-to-End (E2E) menggunakan Pelacakan Peristiwa untuk Windows (ETW) dan ETWTraceListener yang disediakan dengan sampel ini. Contoh ini berdasarkan Memulai dan mencakup pelacakan ETW.

Nota

Prosedur penyusunan dan instruksi build untuk sampel ini terletak di akhir topik ini.

Sampel ini mengasumsikan bahwa Anda terbiasa dengan Penelusuran dan Pengelogan Pesan.

Setiap sumber pelacakan dalam System.Diagnostics model pelacakan dapat memiliki beberapa listener pelacakan yang menentukan di mana dan bagaimana data dilacak. Jenis pendengar menentukan format di mana data pelacakan dicatat. Sampel kode berikut menunjukkan cara menambahkan pendengar ke konfigurasi.

<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>

Sebelum menggunakan listener ini, sesi pelacakan ETW harus dimulai. Sesi ini dapat dimulai dengan menggunakan Logman.exe atau Tracelog.exe. File SetupETW.bat disertakan dengan sampel ini sehingga Anda dapat menyiapkan Sesi Jejak ETW bersama dengan file CleanupETW.bat untuk menutup sesi dan menyelesaikan file log.

Nota

Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini. Untuk informasi selengkapnya tentang alat-alat ini, lihat https://go.microsoft.com/fwlink/?LinkId=56580

Saat menggunakan ETWTraceListener, jejak dicatat dalam file .etl biner. Dengan pelacakan ServiceModel diaktifkan, semua jejak yang dihasilkan muncul dalam file yang sama. Gunakan Alat Penampil Jejak Layanan (SvcTraceViewer.exe) untuk melihat file log .etl dan .svclog. Penampil membuat tampilan end-to-end sistem yang memungkinkan untuk melacak pesan dari sumbernya ke tujuan dan titik konsumsinya.

Pendengar Jejak ETW mendukung pengelogan melingkar. Untuk mengaktifkan fitur ini, buka Mulai, Jalankan , dan ketik cmd untuk memulai konsol perintah. Dalam perintah berikut, ganti <logfilename> parameter dengan nama file log Anda.

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

Sakelar -f dan -max adalah opsional. Mereka menentukan format melingkar biner dan ukuran log maks masing-masing 1000MB. Sakelar -p digunakan untuk menentukan penyedia pelacakan. Dalam contoh kami, "{411a0819-c24b-428c-83e2-26b41091702e}" adalah GUID untuk "Penyedia Sampel XML ETW".

Untuk memulai sesi, ketik perintah berikut.

logman start Wcf

Setelah selesai pengelogan, Anda dapat menghentikan sesi dengan perintah berikut.

logman stop Wcf

Proses ini menghasilkan log melingkar biner yang dapat Anda proses dengan alat pilihan Anda, termasuk Service Trace Viewer Tool (SvcTraceViewer.exe) atau Tracerpt.

Anda juga dapat meninjau sampel Circular Tracing untuk informasi selengkapnya tentang listener alternatif untuk melakukan pencatatan melingkar.

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur PenyetelanOne-Time untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi, ikuti instruksi dalam Membangun Sampel Windows Communication Foundation.

    Nota

    Untuk menggunakan perintah RegisterProvider.bat, SetupETW.bat, dan CleanupETW.bat, Anda harus berjalan di bawah akun administrator lokal. Jika Anda menggunakan Windows Vista atau yang lebih baru, Anda juga harus menjalankan prompt perintah dengan hak istimewa yang ditingkatkan. Untuk melakukannya, klik kanan ikon perintah, lalu klik Jalankan sebagai administrator.

  3. Sebelum menjalankan sampel, jalankan RegisterProvider.bat di klien dan server. Ini menyiapkan file ETWTracingSampleLog.etl yang dihasilkan untuk menghasilkan jejak yang dapat dibaca oleh Penampil Jejak Layanan. File ini dapat ditemukan di folder C:\logs. Jika folder ini tidak ada, folder tersebut harus dibuat jika tidak, tidak ada jejak yang akan dihasilkan. Kemudian, jalankan SetupETW.bat pada komputer klien dan server untuk memulai Sesi Pelacakan ETW. File SetupETW.bat dapat ditemukan di bawah folder CS\Client.

  4. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi dalam Menjalankan Sampel Windows Communication Foundation.

  5. Setelah sampel selesai, jalankan CleanupETW.bat untuk menyelesaikan pembuatan file ETWTracingSampleLog.etl.

  6. Buka file ETWTracingSampleLog.etl dari dalam Penampil Jejak Layanan. Anda akan diminta untuk menyimpan file berformat biner sebagai file .svclog.

  7. Buka file .svclog yang baru dibuat dari dalam Penampil Pelacakan Layanan untuk melihat jejak ETW dan ServiceModel.

Lihat juga