diff options
author | Mukul Sabharwal <mjsabby@gmail.com> | 2017-05-10 18:37:58 -0700 |
---|---|---|
committer | Mukul Sabharwal <mjsabby@gmail.com> | 2017-05-10 18:37:58 -0700 |
commit | 095c7fec7fc928ceff364c1eaa86386f26b53c93 (patch) | |
tree | f23e566f92c3a4fe377abd414a6b91c73f650c1b | |
parent | 02b8f503523f09a9b3668cabd9473fe810f66389 (diff) | |
download | coreclr-095c7fec7fc928ceff364c1eaa86386f26b53c93.tar.gz coreclr-095c7fec7fc928ceff364c1eaa86386f26b53c93.tar.bz2 coreclr-095c7fec7fc928ceff364c1eaa86386f26b53c93.zip |
Remove EventPipeProfiler due to time constraints
-rw-r--r-- | src/inc/corprof.idl | 17 | ||||
-rw-r--r-- | src/inc/profilepriv.inl | 15 | ||||
-rw-r--r-- | src/vm/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/vm/eetoprofinterfaceimpl.cpp | 31 | ||||
-rw-r--r-- | src/vm/eetoprofinterfaceimpl.h | 15 | ||||
-rw-r--r-- | src/vm/eventpipe.cpp | 27 | ||||
-rw-r--r-- | src/vm/eventpipe.h | 4 | ||||
-rw-r--r-- | src/vm/eventpipeeventinstance.cpp | 14 | ||||
-rw-r--r-- | src/vm/eventpipeeventinstance.h | 6 | ||||
-rw-r--r-- | src/vm/eventpipeprofilerapi.cpp | 41 | ||||
-rw-r--r-- | src/vm/eventpipeprofilerapi.h | 30 |
11 files changed, 2 insertions, 199 deletions
diff --git a/src/inc/corprof.idl b/src/inc/corprof.idl index cbea5c0d4a..db67b3c6bb 100644 --- a/src/inc/corprof.idl +++ b/src/inc/corprof.idl @@ -621,13 +621,11 @@ typedef enum COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED = 0x00000002, - COR_PRF_HIGH_MONITOR_EVENT_PIPE = 0x00000004, - - COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS = 0x00000008, + COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS = 0x00000004, COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE = 0, - COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_EVENT_PIPE | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS, + COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS, // MONITOR_IMMUTABLE represents all flags that may only be set during initialization. // Trying to change any of these flags elsewhere will result in a @@ -2424,17 +2422,6 @@ interface ICorProfilerCallback9 : ICorProfilerCallback8 // and subsequently unloaded. HRESULT DynamicMethodUnloaded([in] FunctionID functionId); - - HRESULT EventPipeEventDelivered( - [in] REFGUID eventGuid, - [in] DWORD eventId, - [in] DWORD eventVersion, - [in] DWORD eventThreadId, - [in] LARGE_INTEGER eventTimestamp, - [in] ULONG cbEventData, - [in, size_is(cbEventData)] LPCBYTE eventData, - [in] ULONG numStackFrames, - [in, length_is(numStackFrames)] UINT_PTR stackFrames[]); } diff --git a/src/inc/profilepriv.inl b/src/inc/profilepriv.inl index e863fc760d..d334e1086b 100644 --- a/src/inc/profilepriv.inl +++ b/src/inc/profilepriv.inl @@ -736,21 +736,6 @@ inline BOOL CORProfilerInMemorySymbolsUpdatesEnabled() ((&g_profControlBlock)->dwEventMaskHigh & COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED)); } -inline BOOL CORProfilerIsMonitoringEventPipe() -{ - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - CANNOT_TAKE_LOCK; - SO_NOT_MAINLINE; - } - CONTRACTL_END; - - return (CORProfilerPresent() && - ((&g_profControlBlock)->dwEventMaskHigh & COR_PRF_HIGH_MONITOR_EVENT_PIPE)); -} - inline BOOL CORProfilerIsMonitoringDynamicFunctionUnloads() { CONTRACTL diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt index cf088d6d26..556eb0e93a 100644 --- a/src/vm/CMakeLists.txt +++ b/src/vm/CMakeLists.txt @@ -169,7 +169,6 @@ set(VM_SOURCES_WKS eventpipeeventinstance.cpp eventpipefile.cpp eventpipejsonfile.cpp - eventpipeprofilerapi.cpp eventpipeprovider.cpp eventstore.cpp fastserializer.cpp diff --git a/src/vm/eetoprofinterfaceimpl.cpp b/src/vm/eetoprofinterfaceimpl.cpp index 37dfcfb61d..75f4a02af2 100644 --- a/src/vm/eetoprofinterfaceimpl.cpp +++ b/src/vm/eetoprofinterfaceimpl.cpp @@ -6390,36 +6390,5 @@ HRESULT EEToProfInterfaceImpl::GetAssemblyReferences(LPCWSTR wszAssemblyPath, IA return hr; } -HRESULT EEToProfInterfaceImpl::EventPipeEventDelivered( - REFGUID eventGuid, - DWORD eventId, - DWORD eventVersion, - DWORD eventThreadId, - LARGE_INTEGER eventTimestamp, - ULONG cbEventData, - LPCBYTE eventData, - ULONG numStackFrames, - UINT_PTR stackFrames[]) -{ - CONTRACTL - { - THROWS; - GC_TRIGGERS; - MODE_ANY; - } - CONTRACTL_END; - - CLR_TO_PROFILER_ENTRYPOINT((LF_CORPROF, - LL_INFO1000, - "**PROF: EventPipeEventDelivered.\n")); - - if (m_pCallback9 == NULL) - { - return S_OK; - } - - return m_pCallback9->EventPipeEventDelivered(eventGuid, eventId, eventVersion, eventThreadId, eventTimestamp, cbEventData, eventData, numStackFrames, stackFrames); -} - #endif // PROFILING_SUPPORTED diff --git a/src/vm/eetoprofinterfaceimpl.h b/src/vm/eetoprofinterfaceimpl.h index ed190bc810..63d1cadfbb 100644 --- a/src/vm/eetoprofinterfaceimpl.h +++ b/src/vm/eetoprofinterfaceimpl.h @@ -483,21 +483,6 @@ public: HRESULT GetAssemblyReferences(LPCWSTR wszAssemblyPath, IAssemblyBindingClosure * pClosure, AssemblyReferenceClosureWalkContextForProfAPI * pContext); - // - // Event Pipe - // - - HRESULT EventPipeEventDelivered( - REFGUID eventGuid, - DWORD eventId, - DWORD eventVersion, - DWORD eventThreadId, - LARGE_INTEGER eventTimestamp, - ULONG cbEventData, - LPCBYTE eventData, - ULONG numStackFrames, - UINT_PTR stackFrames[]); - private: // diff --git a/src/vm/eventpipe.cpp b/src/vm/eventpipe.cpp index 27fa1ab844..8ea3f0867e 100644 --- a/src/vm/eventpipe.cpp +++ b/src/vm/eventpipe.cpp @@ -9,11 +9,6 @@ #include "eventpipefile.h" #include "eventpipeprovider.h" #include "eventpipejsonfile.h" - -#ifdef PROFILING_SUPPORTED -#include "eventpipeprofilerapi.h" -#endif - #include "sampleprofiler.h" #ifdef FEATURE_PAL @@ -28,10 +23,6 @@ EventPipeConfiguration* EventPipe::s_pConfig = NULL; EventPipeFile* EventPipe::s_pFile = NULL; EventPipeJsonFile* EventPipe::s_pJsonFile = NULL; -#ifdef PROFILING_SUPPORTED -EventPipeProfilerApi* EventPipe::s_pProfilerApi = NULL; -#endif - #ifdef FEATURE_PAL // This function is auto-generated from /src/scripts/genEventPipe.py extern "C" void InitProvidersAndEvents(); @@ -108,10 +99,6 @@ void EventPipe::Enable() eventPipeFileOutputPath.Printf("Process-%d.netperf", GetCurrentProcessId()); s_pFile = new EventPipeFile(eventPipeFileOutputPath); -#ifdef PROFILING_SUPPORTED - s_pProfilerApi = new EventPipeProfilerApi(); -#endif - if(CLRConfig::GetConfigValue(CLRConfig::INTERNAL_PerformanceTracing) == 2) { // File placed in current working directory. @@ -200,12 +187,6 @@ void EventPipe::WriteEvent(EventPipeEvent &event, BYTE *pData, unsigned int leng _ASSERTE(s_pFile != NULL); s_pFile->WriteEvent(instance); -#ifdef PROFILING_SUPPORTED - // Write to the EventPipeProfilerApi. - _ASSERTE(s_pProfilerApi != NULL); - s_pProfilerApi->WriteEvent(instance); -#endif - // Write to the EventPipeJsonFile if it exists. if(s_pJsonFile != NULL) { @@ -229,14 +210,6 @@ void EventPipe::WriteSampleProfileEvent(SampleProfilerEventInstance &instance) s_pFile->WriteEvent(instance); } -#ifdef PROFILING_SUPPORTED - // Write to the EventPipeProfilerApi. - if(s_pProfilerApi != NULL) - { - s_pProfilerApi->WriteEvent(instance); - } -#endif - // Write to the EventPipeJsonFile if it exists. if(s_pJsonFile != NULL) { diff --git a/src/vm/eventpipe.h b/src/vm/eventpipe.h index 7b3fa228c4..225c1987c0 100644 --- a/src/vm/eventpipe.h +++ b/src/vm/eventpipe.h @@ -15,10 +15,6 @@ class EventPipeEvent; class EventPipeFile; class EventPipeJsonFile; -#ifdef PROFILING_SUPPORTED -class EventPipeProfilerApi; -#endif - class MethodDesc; class SampleProfilerEventInstance; diff --git a/src/vm/eventpipeeventinstance.cpp b/src/vm/eventpipeeventinstance.cpp index 1b903b4cc2..2bf500be70 100644 --- a/src/vm/eventpipeeventinstance.cpp +++ b/src/vm/eventpipeeventinstance.cpp @@ -64,20 +64,6 @@ unsigned int EventPipeEventInstance::GetLength() const return m_dataLength; } -unsigned int EventPipeEventInstance::GetThreadId() const -{ - LIMITED_METHOD_CONTRACT; - - return m_threadID; -} - -LARGE_INTEGER EventPipeEventInstance::GetTimestamp() const -{ - LIMITED_METHOD_CONTRACT; - - return m_timeStamp; -} - void EventPipeEventInstance::FastSerialize(FastSerializer *pSerializer, StreamLabel metadataLabel) { CONTRACTL diff --git a/src/vm/eventpipeeventinstance.h b/src/vm/eventpipeeventinstance.h index 770a9c63b3..84ad566489 100644 --- a/src/vm/eventpipeeventinstance.h +++ b/src/vm/eventpipeeventinstance.h @@ -31,12 +31,6 @@ public: // Get the length of the data. unsigned int GetLength() const; - // Get the thread id of the event. - unsigned int GetThreadId() const; - - // Get the timestamp of the event. - LARGE_INTEGER GetTimestamp() const; - // Serialize this object using FastSerialization. void FastSerialize(FastSerializer *pSerializer, StreamLabel metadataLabel); diff --git a/src/vm/eventpipeprofilerapi.cpp b/src/vm/eventpipeprofilerapi.cpp deleted file mode 100644 index 047f616d35..0000000000 --- a/src/vm/eventpipeprofilerapi.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -#include "common.h" -#include "eventpipeprofilerapi.h" - -#ifdef FEATURE_PERFTRACING - -#ifdef PROFILING_SUPPORTED - -void EventPipeProfilerApi::WriteEvent(EventPipeEventInstance &instance) -{ - CONTRACTL - { - THROWS; - GC_TRIGGERS; - MODE_ANY; - } - CONTRACTL_END; - - auto event = instance.GetEvent(); - auto stackContents = instance.GetStack(); - - BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); - g_profControlBlock.pProfInterface->EventPipeEventDelivered( - event->GetProvider()->GetProviderID(), - event->GetEventID(), - event->GetEventVersion(), - instance.GetThreadId(), - instance.GetTimestamp(), - instance.GetLength(), - instance.GetData(), - stackContents->GetLength(), - reinterpret_cast<UINT_PTR*>(stackContents->GetPointer())); - END_PIN_PROFILER(); -} - -#endif // PROFILING_SUPPORTED - -#endif // FEATURE_PERFTRACING diff --git a/src/vm/eventpipeprofilerapi.h b/src/vm/eventpipeprofilerapi.h deleted file mode 100644 index 476d8081f6..0000000000 --- a/src/vm/eventpipeprofilerapi.h +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -#ifndef __EVENTPIPE_PROFILERAPI_H__ -#define __EVENTPIPE_PROFILERAPI_H__ - -#ifdef FEATURE_PERFTRACING - -#ifdef PROFILING_SUPPORTED - -#include "eeprofinterfaces.h" -#include "eventpipe.h" -#include "eventpipeeventinstance.h" - -class EventPipeProfilerApi -{ - public: - EventPipeProfilerApi() {}; - ~EventPipeProfilerApi() {}; - - // Write an event to the profiler api. - void WriteEvent(EventPipeEventInstance &instance); -}; - -#endif // PROFILING_SUPPORTED - -#endif // FEATURE_PERFTRACING - -#endif // __EVENTPIPE_PROFILERAPI_H__ |