Wat is er nieuw in gebeurtenistracering

In deze sectie worden de nieuwe functies beschreven die in elke release zijn toegevoegd aan Event Tracing voor Windows.

Windows 10, versie 1709

ETW kan nu optioneel binaire bestanden bijhouden voor alle providers die zijn ingeschakeld voor de sessie. Het bijhouden geldt met terugwerkende kracht voor providers die zijn ingeschakeld voor de sessie voorafgaand aan de oproep, evenals voor alle toekomstige providers die zijn ingeschakeld voor de sessie. U kunt nu ook een query uitvoeren op het momenteel geconfigureerde maximum aantal systeemloggers dat is toegestaan door het besturingssysteem. Voor meer informatie, zie de waarden TraceProviderBinaryTracking en TraceMaxLoggersQuery van de opsomming TRACE_INFO_CLASS, evenals Aanvullende gegevens voor gebeurtenistracering ophalen.

ETW kan nu gebeurtenissen filteren op basis van de gebeurtenisnaam. U kunt ook bepalen welke gebeurtenissen hun stacks vastleggen. Zie voor meer informatie de EVENT_FILTER_TYPE_EVENT_NAME, EVENT_FILTER_TYPE_STACKWALK_NAME en EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW waarden van de EVENT_FILTER_DESCRIPTOR structuur, evenals de bijbehorende EVENT_FILTER_EVENT_NAME- en EVENT_FILTER_LEVEL_KW structuren.

Windows 10

TraceLogging- bouwt voort op ETW en biedt een vereenvoudigde manier om systeemeigen code te instrumenteren voor .NET- en WinRT-ontwikkelaars. Met TraceLogging kunt u gestructureerde gegevens opnemen met gebeurtenissen, gebeurtenissen correleren en is geen afzonderlijk XML-bestand met instrumentatiemanifesten vereist.

Provider Traits zijn toegevoegd als methode voor het koppelen van meer gegevens aan een afzonderlijke providerregistratie. Ze kunnen worden gebruikt voor manifest-gebaseerde providers of TraceLogging-providers. Dit omvat momenteel ondersteuning voor het toevoegen van een providernaam en/of een providergroep aan een afzonderlijke providerregistratie. Providergroepen zijn een nieuwe functie waarmee meerdere ETW-providers samen kunnen worden beheerd door de groep waartoe ze behoren.

Periodieke vastleggingstoestand is een manier om te realiseren dat meldingen over de vastleggingstoestand regelmatig naar aanbieders worden verzonden. Wanneer dit is ingeschakeld, worden meldingen alleen verzonden naar providerregistraties die eerder zijn ingeschakeld voor de huidige sessie. Elke provider kan een eigen antwoord (indien van toepassing) definiëren voor een melding. Zie TRACE_PERIODIC_CAPTURE_STATE_INFOvoor meer informatie over de implementatie.

Windows 8.1 en Windows Server 2012 R2

De volgende functies zijn toegevoegd aan Event Tracing op Windows 8.1 en Windows Server 2012 R2.

Functies die ondersteuning bieden voor het gebruik van filters voor gebeurtenisladingsinhoud, bereik en stack-walk die worden gebruikt door de functie EnableTraceEx2, en de structuren ENABLE_TRACE_PARAMETERS en EVENT_FILTER_DESCRIPTOR om te filteren op specifieke voorwaarden in een loggersessie. Zie voor meer informatie:

Zie bovendien de uitgebreid herziene documentatie voor de functie EnableTraceEx2 en de ENABLE_TRACE_PARAMETERS- en EVENT_FILTER_DESCRIPTOR structuren die door deze functies worden gebruikt.

Een structuur die een predicaat voor het filteren van de payload van een gebeurtenis definieert en beschrijft hoe u kunt filteren op een enkel veld in een traceersessie, die wordt gebruikt door de nieuwe TdhCreatePayloadFilter functie. Ook wordt een nieuwe structuur gebruikt door filters voor gebeurtenis-ID's en stack walks. Zie voor meer informatie:

Functies die informatie ophalen over gebeurtenissen die aanwezig zijn in het providermanifest. Zie voor meer informatie:

Een structuur die een matrix met gebeurtenissen definieert in een providermanifest dat wordt gebruikt door de nieuwe TdhEnumerateManifestProviderEvents functie. Zie voor meer informatie:

Windows 8 en Windows Server 2012

De volgende functies zijn toegevoegd aan de gebeurtenistracering op Windows 8 en Windows Server 2012.

Functies die bewerkingen uitvoeren op een registratieobject, voorzien in het parseren van de nettolading van gebeurtenissen, het browsen van traceringsproviders, sessie-instellingen voor het traceren van querygebeurtenissen en het verwerken van een opnieuw geregistreerd traceringsbestand. Zie voor meer informatie:

Interfaces die informatie bieden aan het relogger over het traceringsproces en wanneer gebeurtenissen worden geregistreerd, toegang tot gegevens voor een specifieke gebeurtenis en toegang tot reloggerfuncties die het bewerken van ETL-bestanden (Event Trace Log) mogelijk maken. Zie voor meer informatie:

Aanvullende inventarisaties die worden gebruikt door de nieuwe functies en interfaces. Zie voor meer informatie:

Windows 7 en Windows Server 2008 R2

De volgende functies zijn toegevoegd in deze release:

  • De mogelijkheid voor providers om filters in het manifest te definiëren. In Windows Vista kunnen controllers filtergegevens doorgeven aan de provider. De indeling van de filtergegevens is echter niet gedefinieerd in het manifest, dus moet de provider andere middelen gebruiken om de filterdefinitie aan controllers te verstrekken. Met deze release kunnen providers de filterdefinitie definiëren in het manifest (zie het filters kenmerk van het ProviderType complex type). Controllers kunnen vervolgens de TdhEnumerateProviderFilters functie gebruiken om de filterdefinitie te bepalen. Providers die filters gebruiken, moeten de EventWriteEx- functie gebruiken om de gebeurtenis te schrijven.
  • De mogelijkheid om één buffer te gebruiken om gebeurtenissen te verzamelen die zijn gegenereerd op meerdere processors. Als u één buffer gebruikt, worden gebeurtenissen niet meer op volgorde weergegeven op computers met meerdere processors. Voor meer informatie, zie de EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING logmodus. ETW maakt standaard gebruik van buffers per processor.
  • De mogelijkheid om een stack-trace vast te leggen voor gebeurtenissen. Zie de functie TraceSetInformation om stacktracering in te schakelen voor kernel-gebeurtenissen. Als u stacktracering voor gebruikersgebeurtenissen wilt inschakelen, raadpleegt u de flag EVENT_ENABLE_PROPERTY_STACK_TRACE voor het EnableProperty lid van ENABLE_TRACE_PARAMETERS.
  • De mogelijkheid om de EVENT_TRACE_BUFFERING_MODE- of EVENT_TRACE_FILE_MODE_NEWFILE-modus samen met de EVENT_TRACE_PRIVATE_LOGGER_MODE-modus voor logboekregistratie op te geven (zie Logboekregistratiemodusconstanten).
  • De mogelijkheid om een provider synchroon in te schakelen. Providers worden standaard asynchroon ingeschakeld. Als u een provider synchroon wilt inschakelen, stelt u de time-outparameter van EnableTraceEx2--in.
  • De mogelijkheid voor de controller om te verzoeken dat de provider zijn status vastlegt. Voor meer informatie, zie de EVENT_CONTROL_CODE_CAPTURE_STATE vlag voor de ControlCode parameter van EnableTraceEx2.
  • De mogelijkheid voor consumenten om gebeurtenisgegevens op te maken met behulp van de functie TdhFormatProperty.
  • De mogelijkheid om manifestgebeurtenissen te decoderen op computers die de provider niet bevatten. Zie de functie TdhLoadManifest voor meer informatie.

De volgende functies zijn toegevoegd in deze release:

De volgende structuren zijn toegevoegd in deze release:

De volgende opsommingen zijn toegevoegd in deze release:

De volgende MOF-klassen zijn toegevoegd in deze release: