Skip to content

Latest commit

 

History

History
19 lines (12 loc) · 1.58 KB

EventLogging.md

File metadata and controls

19 lines (12 loc) · 1.58 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 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