From 78ea6cd595e96cee9c54d6f4090fbc894c3e1c04 Mon Sep 17 00:00:00 2001 From: noahfalk Date: Fri, 24 Jun 2016 13:25:11 -0700 Subject: [PATCH] Update supported profiler APIs --- Documentation/project-docs/profiling-api-status.md | 30 ++++++++++++++++------ 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/Documentation/project-docs/profiling-api-status.md b/Documentation/project-docs/profiling-api-status.md index 323c250..a1f2f17 100644 --- a/Documentation/project-docs/profiling-api-status.md +++ b/Documentation/project-docs/profiling-api-status.md @@ -2,7 +2,7 @@ The notes below will help you determine what profiling APIs are safe to use. The .NET Core project started with the codebase from the desktop CoreCLR/Silverlight so all the profiler APIs present there are also present in the code here. However that doesn't automatically imply that they are all working or being actively tested right now. Our goal is to eventually have everything tested and working across all the supported OSes. As we make progress we'll document it here. If you want to use APIs that we haven't tested yet you are welcome to do so, but you need to do your own testing to determine whether they work. If you do test APIs we haven't gotten to yet, we hope you'll add a note below in the Community Tested API section so that everyone can benefit. -##Microsoft Tested APIs: +#Microsoft Tested APIs: ###Windows @@ -16,14 +16,13 @@ The notes below will help you determine what profiling APIs are safe to use. The * ICorProfilerInfo: * `GetModuleInfo` - * `GetModuleMetaData` + * `GetModuleMetaData`* * `GetModuleInfo` * `GetModuleInfo2` - * `GetModuleMetaData` * `GetFunctionInfo` - * `SetILFunctionBody` - * `SetILInstrumentedCodeMap` - * `GetILFunctionBodyAllocator` + * `SetILFunctionBody`* + * `SetILInstrumentedCodeMap`* + * `GetILFunctionBodyAllocator`* * `GetRuntimeInformation` * `SetEventMask` @@ -32,15 +31,30 @@ The notes below will help you determine what profiling APIs are safe to use. The * `COR_PRF_MONITOR_JIT_COMPILATION` * `COR_PRF_DISABLE_INLINING` +\* Instrumentation APIs have not been tested on assemblies compiled with Ready2Run technology. Ready2Run is currently used + for all Framework assemblies. + ###Linux ###OS X -##Community Tested APIs (please include GitHub handle) +#Community Tested APIs (please include GitHub handle) + ###Windows + * IProfilerCallback + * ModuleLoadStarted (noahfalk on behalf of one of our vendors) + * JITCompilationStarted (noahfalk on behalf of one of our vendors) + * IMetaDataEmit + * various DefineXXX methods (noahfalk on behalf of one of our vendors) + * IMetadataDataDispenserEx + * OpenScopeOnMemory (noahfalk on behalf of one of our vendors) + * IMetaDataTables (noahfalk on behalf of one of our vendors) + * IMetaDataAssemblyEmit + * DefineAssemblyRef (noahfalk on behalf of one of our vendors) + ###Linux ###OS X -##APIs definitely known not to work yet +#APIs definitely known not to work yet ###Windows ###Linux -- 2.7.4