EWT Tracing
If you would like to know what is going on under the hood of the Lumia Imaging SDK, we provide internal logging over WPP (Windows Trace PreProcessor). WPP provides effective tracing with low impact on binary size and CPU, making it suitable for both Debug and Release builds.
This section describes how to set up and use FieldMedic on your phone, and how to capture a Lumia Imaging SDK trace. You need to install FieldMedic with our custom FieldMedic profile, in order to capture a Lumia Imaging trace.
Set up FieldMedic
Get the FieldMedic profile for Lumia Imaging SDK here
- Install FieldMedic on your phone. It is available for free at the Windows Phone Store.
- Connect your phone to your computer.
- Copy the profile to <myphone>\Phone\Documents\FieldMedic\CustomProfiles. (You may need to create the CustomProfiles folder.)
- Start FieldMedic and go into Advanced.
- Under Choose which ETW providers to use, check LumiaImaginSDK.wprp at the bottom (you can uncheck the others).
Start tracing
Every time you want to get a trace log, follow the steps below:
- Open FieldMedic and tap Start logging.
- Run an Imaging SDK app.
- Open FieldMedic again and tap Stop logging.
- From your PC, find the new folder that has appeared under <myphone>\Phone\Documents\FieldMedic\reports.
- The trace log is in a file named Custom-LumiaImagingSDK.etl. Copy it to the PC.
Examine trace
The trace output files (.ETW) are in a binary format, and the tools below can be used to display or convert the trace into human readable information. You will also need the Lumia.Imaging .PDB files to extract the information.
TraceView is a GUI tool that is a part of the Windows Driver Kit (WDK). After installing the WDK, TraceView can be located in the tools\tracing\<Platform> subdirectory WDK, where <Platform> is either i386, amd64, or ia64. The screenshot below is from
Windows Driver Kit on MSDN.
TracePrt is a command line tool for extracting the ETW files into human readable text.
You can find out how to use TracePrt here
Resources
MSDN Article - Improve Debugging And Performance Tuning With ETW
If you would like to add your own tracing to your own application, this is a great starting point.