summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorRama <ramarag@microsoft.com>2015-12-21 19:26:52 -0800
committerRama <ramarag@microsoft.com>2015-12-28 15:41:59 -0800
commitf1f40524c17035247666ca7f04e9dd41c5d1c172 (patch)
tree098d7521298cc8302e82e3958f867a0b62906397 /Documentation
parent4be02beac6b35dc675956c55ed0ab7b947fd5c4f (diff)
downloadcoreclr-f1f40524c17035247666ca7f04e9dd41c5d1c172.tar.gz
coreclr-f1f40524c17035247666ca7f04e9dd41c5d1c172.tar.bz2
coreclr-f1f40524c17035247666ca7f04e9dd41c5d1c172.zip
Automating Event Logging Infrastructure: With this change the infrastructure required for Event Logging
will be generated as part of build
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/README.md1
-rw-r--r--Documentation/building/windows-instructions.md6
-rw-r--r--Documentation/coding-guidelines/EventLogging.md19
3 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/README.md b/Documentation/README.md
index 384dd1f446..b207477471 100644
--- a/Documentation/README.md
+++ b/Documentation/README.md
@@ -38,6 +38,7 @@ Coding Guidelines
- [CLR Coding Guide](coding-guidelines/clr-code-guide.md)
- [CLR JIT Coding Conventions](coding-guidelines/clr-jit-coding-conventions.md)
- [Cross Platform Performance and Eventing Design](coding-guidelines/cross-platform-performance-and-eventing.md)
+- [Adding New Events to the VM](coding-guidelines/EventLogging.md)
Build CoreCLR from Source
=========================
diff --git a/Documentation/building/windows-instructions.md b/Documentation/building/windows-instructions.md
index 3d0a0389c9..fd4f3de3d0 100644
--- a/Documentation/building/windows-instructions.md
+++ b/Documentation/building/windows-instructions.md
@@ -31,6 +31,12 @@ The CoreCLR build relies on CMake for the build. We are currently using CMake 3.
- Install [CMake](http://www.cmake.org/download) for Windows.
- Add it to the PATH environment variable.
+Python
+---------
+Python is used in the build system. We are currently using python 2.7.9.
+- Install [Python](https://www.python.org/downloads/) for Windows.
+- Add it to the PATH environment variable.
+
Git Setup
---------
diff --git a/Documentation/coding-guidelines/EventLogging.md b/Documentation/coding-guidelines/EventLogging.md
new file mode 100644
index 0000000000..a53d6e9844
--- /dev/null
+++ b/Documentation/coding-guidelines/EventLogging.md
@@ -0,0 +1,19 @@
+# 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](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968803(v=vs.85).aspx)
+
+# Adding Events to the Runtime
+
+- Edit the [Event manifest](../../src/vm/ClrEtwAll.man) 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](https://msdn.microsoft.com/en-us/library/dd996930%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396).
+- The build system should automatically generate the required artifacts for the added events.
+- Add entries in the [exclusion list](../../src/vm/ClrEtwAllMeta) if necessary
+- The Event Logging Mechanism provides the following two functions, which can be used within the VM:
+ - **FireEtw**EventName, this is used to trigger the event
+ - **EventEnabled**EventName, 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- genXplatEventing.py](../../src/scripts/genXplatEventing.py) so that other Logging System can be added and used by CoreClr. An Example of such an extension for [LTTng logging system](https://lttng.org/) can be found in [genXplatLttng.py](../../src/scripts/genXplatLttng.py )