Trasování událostí pro Windows

Ukázka AnalyticTrace ukazuje, jak implementovat trasování typu End-to-End (E2E) pomocí trasování událostí pro Windows (ETW) a ETWTraceListener které je k dispozici s touto ukázkou. Ukázka je založená na začínáme a zahrnuje trasování Trasování událostí pro Windows.

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Tato ukázka předpokládá, že znáte trasování a protokolování zpráv.

Každý zdroj trasování v System.Diagnostics modelu trasování může mít několik naslouchacích procesů trasování, které určují, kde a jak se data trasují. Typ naslouchacího procesu definuje formát, ve kterém se protokolují data trasování. Následující ukázka kódu ukazuje, jak přidat naslouchací proces do konfigurace.

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

Před použitím tohoto naslouchacího procesu musí být spuštěna relace trasování trasování pro Windows. Tuto relaci můžete spustit pomocí Logman.exe nebo Tracelog.exe. Součástí této ukázky je SetupETW.bat soubor, abyste mohli nastavit trasovací relaci trasování pro Windows společně s CleanupETW.bat souborem pro zavření relace a dokončení souboru protokolu.

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu. Další informace o těchto nástrojích najdete v tématu https://go.microsoft.com/fwlink/?LinkId=56580

Při použití ETWTraceListener se trasování protokolují v binárních souborech .etl. Když je trasování modelu ServiceModel zapnuté, zobrazí se všechna vygenerovaná trasování ve stejném souboru. K zobrazení souborů protokolu .etl a .svclog použijte nástroj prohlížeče trasování služby (SvcTraceViewer.exe ). Prohlížeč vytvoří ucelený pohled na systém, který umožňuje trasovat zprávu ze zdroje do cíle a bodu spotřeby.

Naslouchací proces trasování trasování pro Windows podporuje kruhové protokolování. Pokud chcete tuto funkci povolit, přejděte na Start, Spustit a zadejte cmd , abyste spustili konzolu příkazů. V následujícím příkazu nahraďte <logfilename> parametr názvem souboru protokolu.

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

Přepínače -f jsou -max volitelné. Určují binární kruhový formát a maximální velikost protokolu 1000 MB. Přepínač -p slouží k určení zprostředkovatele trasování. V našem příkladu "{411a0819-c24b-428c-83e2-26b41091702e}" je identifikátor GUID pro "Ukázkový zprostředkovatel TRASOVÁNÍ UDÁLOSTÍ PRO WINDOWS XML".

Relaci spustíte zadáním následujícího příkazu.

logman start Wcf

Po dokončení protokolování můžete relaci zastavit pomocí následujícího příkazu.

logman stop Wcf

Tento proces generuje binární cyklický protokol, který můžete zpracovat pomocí zvoleného nástroje, včetně nástroje Service Trace Viewer (SvcTraceViewer.exe) nebo Tracerpt.

Další informace o alternativním naslouchacím procesu pro provádění cyklických protokolování najdete také v ukázce cyklických trasování .

Nastavení, sestavení a spuštění ukázky

  1. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázový postup instalace.

  2. Pokud chcete sestavit řešení, postupujte podle pokynů v části Sestavení ukázek Windows Communication Foundation.

    Poznámka:

    Pokud chcete použít RegisterProvider.bat, SetupETW.bat a CleanupETW.bat příkazy, musíte spustit pod účtem místního správce. Pokud používáte systém Windows Vista nebo novější, musíte také spustit příkazový řádek se zvýšenými oprávněními. Uděláte to tak, že kliknete pravým tlačítkem myši na ikonu příkazového řádku a potom kliknete na Spustit jako správce.

  3. Před spuštěním ukázky spusťte RegisterProvider.bat na klientovi a serveru. Tím se nastaví výsledný soubor ETWTracingSampleLog.etl pro generování trasování, které může prohlížeč trasování služby přečíst. Tento soubor najdete ve složce C:\logs. Pokud tato složka neexistuje, musí být vytvořena nebo se negenerují žádné trasování. Potom spusťte SetupETW.bat na klientských a serverových počítačích, aby se spustila relace trasování trasování trasování pro Windows. Soubor SetupETW.bat najdete ve složce CS\Client.

  4. Pokud chcete spustit ukázku v konfiguraci s jedním nebo více počítači, postupujte podle pokynů v části Spuštění ukázek windows Communication Foundation.

  5. Po dokončení ukázky spusťte CleanupETW.bat a dokončete vytvoření souboru ETWTracingSampleLog.etl.

  6. V prohlížeči trasování služby otevřete soubor ETWTracingSampleLog.etl. Zobrazí se výzva k uložení binárního formátovaného souboru jako souboru .svclog.

  7. Otevřete nově vytvořený soubor .svclog v prohlížeči trasování služby, abyste zobrazili trasování Trasování událostí pro Windows a ServiceModel.

Viz také