CeLog Event Tracking (Compact 2013)

3/28/2014

CeLog is a general-purpose event-tracking tool that logs a set of predefined kernel and coredll events; it can also be used anywhere for logging user-defined events, or for controlling event tracking.

CeLog collects data and stores it in a user-configurable location, such as the release directory of the host computer or the root of the device file system. The data can be viewed on the host computer using a graphical viewer, Kernel Tracker, or a non-graphical text reader such as Readlog. The graphical view provided by Kernel Tracker can help you visualize the activity on your system and develop an overall idea of interactions between threads and processes. The text output provided by Readlog can help you learn details about small, focused pieces of the log that you are interested in.

You collect CeLog data by building a run-time image with event tracking enabled. In the default configuration, when a target device begins running a run-image that has event tracking enabled, the CeLog flushing application CeLogFlush.exe creates a file named Celog.clg in the %_FLATRELEASEDIR% directory. This is a file of raw data, which is updated periodically as your device runs.

The data that CeLog captures is divided into zones that are similar to debug zones. Zones allow you to filter the logging output, and collect only the data you are interested in. Zones can be set from the development computer or from the device.

Important   Do not add CeLog to shipping devices. The goal is to avoid performance or memory loss because of CeLog and also to reduce the attack surface through which an attacker could try to compromise the system.

You can use CeLog event tracking to do the following:

  • Capture thread activity and application or driver initialization at boot, or during a suspend
  • Capture debug output on a device with no KITL connection
  • Track thread run-times over a long period of time, to catch threads that consume too much CPU or drain too much power
  • Measure the frequency of thread preemption to meet high performance requirements, such as the requirements of a multimedia player
  • Measure system idle that might increase power usage
  • Implement tools that need to track loaded processes and modules, such as notifying profilers of module load events
  • Track data per-thread

To add this feature to your OS, see Enable CeLog Event Tracking.

For reference information, see CeLog Event Tracking Reference.

See Also

Other Resources

Core OS