summaryrefslogtreecommitdiff
path: root/src/vm/eventpipesession.cpp
diff options
context:
space:
mode:
authorBrian Robbins <brianrob@microsoft.com>2018-10-05 16:44:15 -0700
committerGitHub <noreply@github.com>2018-10-05 16:44:15 -0700
commit457148064c836daa746542f1559b7958d6420c22 (patch)
tree637c49662f44b301afc0f3450055a7c72fd00119 /src/vm/eventpipesession.cpp
parent27c848e37e9998142b60e776cf5b5d08a3543fe1 (diff)
downloadcoreclr-457148064c836daa746542f1559b7958d6420c22.tar.gz
coreclr-457148064c836daa746542f1559b7958d6420c22.tar.bz2
coreclr-457148064c836daa746542f1559b7958d6420c22.zip
Enable Config-File Based Control of EventPipe (#20238)
Diffstat (limited to 'src/vm/eventpipesession.cpp')
-rw-r--r--src/vm/eventpipesession.cpp42
1 files changed, 14 insertions, 28 deletions
diff --git a/src/vm/eventpipesession.cpp b/src/vm/eventpipesession.cpp
index b10caf2f5b..2dd1a3f38d 100644
--- a/src/vm/eventpipesession.cpp
+++ b/src/vm/eventpipesession.cpp
@@ -75,19 +75,6 @@ void EventPipeSession::AddSessionProvider(EventPipeSessionProvider *pProvider)
m_pProviderList->AddSessionProvider(pProvider);
}
-void EventPipeSession::EnableAllEvents()
-{
- CONTRACTL
- {
- THROWS;
- GC_NOTRIGGER;
- MODE_ANY;
- }
- CONTRACTL_END;
-
- m_pProviderList->EnableAllEvents();
-}
-
EventPipeSessionProvider* EventPipeSession::GetSessionProvider(EventPipeProvider *pProvider)
{
CONTRACTL
@@ -118,12 +105,21 @@ EventPipeSessionProviderList::EventPipeSessionProviderList(
for(unsigned int i=0; i<numConfigs; i++)
{
EventPipeProviderConfiguration *pConfig = &pConfigs[i];
- EventPipeSessionProvider *pProvider = new EventPipeSessionProvider(
- pConfig->GetProviderName(),
- pConfig->GetKeywords(),
- (EventPipeEventLevel)pConfig->GetLevel());
- m_pProviders->InsertTail(new SListElem<EventPipeSessionProvider*>(pProvider));
+ // Enable all events if the provider name == '*', all keywords are on and the requested level == verbose.
+ if((wcscmp(W("*"), pConfig->GetProviderName()) == 0) && (pConfig->GetKeywords() == 0xFFFFFFFFFFFFFFFF) && ((EventPipeEventLevel)pConfig->GetLevel() == EventPipeEventLevel::Verbose) && (m_pCatchAllProvider == NULL))
+ {
+ m_pCatchAllProvider = new EventPipeSessionProvider(NULL, 0xFFFFFFFFFFFFFFFF, EventPipeEventLevel::Verbose);
+ }
+ else
+ {
+ EventPipeSessionProvider *pProvider = new EventPipeSessionProvider(
+ pConfig->GetProviderName(),
+ pConfig->GetKeywords(),
+ (EventPipeEventLevel)pConfig->GetLevel());
+
+ m_pProviders->InsertTail(new SListElem<EventPipeSessionProvider*>(pProvider));
+ }
}
}
@@ -176,16 +172,6 @@ void EventPipeSessionProviderList::AddSessionProvider(EventPipeSessionProvider *
}
}
-void EventPipeSessionProviderList::EnableAllEvents()
-{
- LIMITED_METHOD_CONTRACT;
-
- if(m_pCatchAllProvider == NULL)
- {
- m_pCatchAllProvider = new EventPipeSessionProvider(NULL, 0xFFFFFFFFFFFFFFFF, EventPipeEventLevel::Verbose);
- }
-}
-
EventPipeSessionProvider* EventPipeSessionProviderList::GetSessionProvider(
EventPipeProvider *pProvider)
{