title | author | ms.author | ms.date | ms.topic | description | keywords |
---|---|---|---|---|---|---|
Event Tracing for Windows IoT Core |
saraclay |
saclayt |
08/28/2017 |
article |
Learn how to use Event Tracing to write events and consume events for Windows IoT Core. |
windows iot, event tracing, ETW, event tracing for windows, devices |
Event Tracing for Windows (ETW) provides developers the ability to start and stop event tracing sessions, instrument an application to provide trace events, and consume trace events. ETW on Windows IoT Core devices supports both manifest-based and classic events, and is no different than other Windows 10 devices.
This section will provide useful links on the basics of writing and consuming events. Find more detailed information from the Windows Event Tracing page.
Find a UWP sample that implements the different methods of writing events as part of the Windows Universal Samples Github. This will run on Windows IoT Core devices and is also a great code reference.
Detailed guide on writing events and obtaining GUIDs can be found here.
Events are either saved to an ETL file or captured in real-time. Use FTP or Windows File Sharing to retrieve ETL files from Windows IoT Core devices.
Windows Assessment and Deployment Kit includes 3 tools to help capture and analyze events. Click here to download
-
Windows Performance Analyzer visualizes ETL files on desktop, with a step by step guide here.
-
Xperf command line tool captures real-time events and writes them to an ETL file. This tool is already installed on Windows IoT Core devices, just run the following commands on the devices:
// Start capturing events from specific GUID and save them to an ETL file xperf -start <Session Name> -f <ETL File> -on <GUID> // Stop capturing events with the specified session name xperf -stop <Session Name>
-
Tracerpt command line tool converts ETL files into xml files.
// Generate dumpfile.xml from ETL file tracerpt <ETL File>
Device portal can capture events in real-time, with instructions here.
Note
This method does not produce an ETL file for further analysis, but requires minimal setup.
Enable an application to consume events from an ETL file or in real-time using function calls. Learn how to use these functions here.