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
- 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
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