3/11/2010

CeLog2ETW is a tool included in the Windows Performance Toolkit (WPT) that converts Windows Phone OS 7.0 trace log files into a format recognized by tools built in to Microsoft Windows 7, which can help you to debug problems and track down performance issues that occur on a Windows Phone.

Windows Phone OS 7.0 writes information about events that happen on a Windows Phone into Windows Phone OS 7.0 event trace log files that have the extension .CLG. These files have a different format from the Event Trace for Windows (ETW) trace logs (with the extension .ETL) and macro-based WPP format that ETW tools require. CeLog2ETW converts a .CLG file into an .ETL trace log file so you can work with the file by using the standard tools.

Prerequisites

To use the CeLog2ETW tool, you must first install Windows 7, and then install the Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1, which includes an installation package for the Windows Performance Toolkit. CeLog2ETW uses APIs that are included in Windows 7, as well as features in the XPerf tool that is included in the Windows Performance Toolkit.

How CeLog2ETW Works

XPerf can parse the events from one or more .ETL files, insert metadata about the events, and then write a final .ETL file. The output .ETL file can be viewed and diagnosed from any computer, not just the original host computer on which the input .ETL file was created.

CeLog2ETW reads the Windows Phone .CLG file, and then uses XPerf to insert CeLog events into an .ETL trace file as if the trace information came from another .ETL file. The output from CeLog2ETW is an .ETL file that contains the events that originated on the phone, along with the phone-specific data and Windows Phone OS 7.0 event metadata. You can then parse these .ETL files—for example, by using XPerf or TraceRPT—on a computer running Windows 7.

Example Usage

The following examples assume that all manifests are included in the same directory—for example, in the developer’s flat release directory for Windows Phone OS 7.0 or in the release directory on the Watson servers correlating to the builds for the phone. Each .CLG file must be parsed individually. The output .ETL files can then be merged into a single file by using XPerf.

The following is a sample command line for using CeLog2ETW:

celog2etw trace.clg [manifestPath] [-o trace.etl] [-h|?|help]

where:

trace.clg = The input CeLog trace file.

manifestPath = The folder where the input manifest is located. By default, this is the path of the input CeLog file. This option can be omitted if the CeLog file does not contain Windows Phone ETW events. CeLog manifest-based events cannot be interpreted correctly without their corresponding manifests.

-o trace.etl = The output .ETL trace file. By default, the same input file name is used, replacing the .CLG extension with .ETL.

-h, -?, -help = Displays the usage information listed here.

You can open the resulting .ETL file in XPerf by using the following command:

XPerf  outputFromCeLog2ETW.etl

Related Tools and Files

Review this section to learn more about tools and files related to the CeLog2ETW tool.

  • XPerf: A command-line tool in the Windows Performance Toolkit (WPT) that you can use to control tracing and to process trace data.
  • Windows Performance Toolkit (WPT): A package that includes XPerf and related tools. CeLog2ETW is now also included in the toolkit.
  • TraceRPT: A Windows OS tool that writes reports of fully decorated events formatted as XML, CSV, and text.
  • Event Trace Log (ETL): Log file used by XPerf and related programs
  • Event Tracing for Windows (ETW): Log files that capture events for the Windows operating system. These files list most performance and event-based events.
  • Windows Phone ETW (WP7 ETW): A Windows Phone-specific implementation of the ETW APIs.
  • Windows Software Trace Preprocessor (WPP): WPP software tracing in kernel-mode drivers supplements and enhances WMI event tracing by adding conventions and mechanisms that simplify tracing a driver's operation.
  • Windows Phone WPP (WP7 WPP): A Windows Phone-specific implementation of the WPP macros that uses only the global logger.