Skip to content

The CLR Instrumentation Engine is a cooperation profiler that allows running multiple profiling extensions in the same process.

License

Notifications You must be signed in to change notification settings

poppastring/CLRInstrumentationEngine

 
 

Repository files navigation

CLR Instrumentation Engine

Develop Branch: Build Status

Main Branch: Build Status

Overview

The CLR Instrumentation Engine (CLRIE) is a cooperation profiler that allows running multiple profiling extensions in the same process. It was built to satisfy Application Insights, IntelliTrace, and Production Breakpoints scenarios.

The CLRIE's goal is to create a cooperative environment for different profilers to work together on various platforms. In order to further this goal, we plan to open source this repo to the community by the end June 2019.

For more information about our current and future project scope and to track our progress, please see the CLRIE Road Map.

Getting Started

The CLR Instrumentation Engine is a profiler implementation and is enabled and configured via environment variables for the running process.

Contributing

Please read Contributing for details on the Contributor License Agreement (CLA) and the process for submitting pull requests to us.

This repo builds using Visual Studio 2019 and requires the following components:

Component Id Component Friendly Name
Microsoft.Component.MSBuild MSBuild
Microsoft.VisualStudio.Workload.NativeDesktop Desktop development with C++ (Workload)
Microsoft.VisualStudio.Component.VC.ATL.Spectre C++ ATL for latest v142 build tools with Spectre Mitigations (x86 & x64)
Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (v14.2x)

Optionally, in order to develop Wixproj files in Visual Studio, you will need to install the Wix Toolset Visual 2019 Extension, also known as the "Votive" extension.

  • Design Notes - the overall design for CLR Instrumentation Engine.
  • Build - how to run local builds.
  • Test - how to run tests.
  • Release Process - how to release CLRIE to various platforms.

Versioning

The CLR Instrumentation Engine follows the Semantic Versioning scheme.

Encountering and reporting issues

See Troubleshooting for common pitfalls and remediation.

If you're still encountering a non-critical issues, please contact clrieowners@microsoft.com.

Critical security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com. See Security for more details.

License

Usage governance of the Instrumentation Engine is detailed in the License.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

The CLR Instrumentation Engine is a cooperation profiler that allows running multiple profiling extensions in the same process.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 83.4%
  • C 9.0%
  • C# 5.4%
  • PowerShell 1.0%
  • Shell 0.6%
  • CMake 0.5%
  • Other 0.1%