Skip to content

Latest commit

 

History

History
19 lines (12 loc) · 1.6 KB

EventLogging.md

File metadata and controls

19 lines (12 loc) · 1.6 KB

CoreClr Event Logging Design

Introduction

Event Logging is a mechanism by which CoreClr can provide a variety of information on it's state. This Logging works by inserting explicit logging calls by the developer within the VM . The Event Logging mechanism is largely based on ETW- Event Tracing For Windows

Adding Events to the Runtime

  • Edit the Event manifest to add a new event. For guidelines on adding new events, take a look at the existing events in the manifest and this guide for ETW Manifests.
  • The build system should automatically generate the required artifacts for the added events.
  • Add entries in the exclusion list if necessary
  • The Event Logging Mechanism provides the following two functions, which can be used within the VM:
    • FireEtwEventName, this is used to trigger the event
    • EventEnabledEventName, this is used to see if any consumer has subscribed to this event

Adding New Logging System

Though the the Event logging system was designed for ETW, the build system provides a mechanism, basically an adapter script- genEventing.py so that other Logging System can be added and used by CoreClr. An Example of such an extension for LTTng logging system can be found in genLttngProvider.py