Skip to content

Instantly share code, notes, and snippets.

@onyxmaster
Last active October 4, 2017 20:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save onyxmaster/ab3eaf7ebe81fad33d3da537b354befd to your computer and use it in GitHub Desktop.
Save onyxmaster/ab3eaf7ebe81fad33d3da537b354befd to your computer and use it in GitHub Desktop.
diff --git a/src/PerfView/CommandProcessor.cs b/src/PerfView/CommandProcessor.cs
index cda121c..1d71717 100644
--- a/src/PerfView/CommandProcessor.cs
+++ b/src/PerfView/CommandProcessor.cs
@@ -562,17 +562,22 @@ namespace PerfView
ClrPrivateTraceEventParser.Keywords.Stack
));
- // Used to determine what is going on with tasks.
- var netTaskStacks = stacksEnabled;
- if (TraceEventProviderOptions.FilteringSupported)
+ if ((parsedArgs.KernelEvents & KernelTraceEventParser.Keywords.ThreadTime) == KernelTraceEventParser.Keywords.ThreadTime)
{
- // This turns on stacks only for TaskScheduled (7) TaskWaitSend (10) and AwaitTaskContinuationScheduled (12)
- netTaskStacks = new TraceEventProviderOptions() { EventIDStacksToEnable = new List<int>() { 7, 10, 12 } };
+ // Used to determine what is going on with tasks.
+ var netTaskStacks = stacksEnabled;
+ if (TraceEventProviderOptions.FilteringSupported)
+ {
+ // This turns on stacks only for TaskScheduled (7) TaskWaitSend (10) and AwaitTaskContinuationScheduled (12)
+ netTaskStacks = new TraceEventProviderOptions() { EventIDStacksToEnable = new List<int>() { 7, 10, 12 } };
+ // This turns off high-traffic TPL events that are not used in neither thread time analysis nor activity tracking
+ netTaskStacks.EventIDsToDisable = new List<int>() { 13, 14, 15, 16, 17, 18 };
+ }
+ EnableUserProvider(userModeSession, ".NETTasks",
+ TplEtwProviderTraceEventParser.ProviderGuid, parsedArgs.ClrEventLevel,
+ (ulong)(TplEtwProviderTraceEventParser.Keywords.Default),
+ netTaskStacks);
}
- EnableUserProvider(userModeSession, ".NETTasks",
- TplEtwProviderTraceEventParser.ProviderGuid, parsedArgs.ClrEventLevel,
- (ulong)(TplEtwProviderTraceEventParser.Keywords.Default),
- netTaskStacks);
EnableUserProvider(userModeSession, ".NETFramework",
FrameworkEventSourceTraceEventParser.ProviderGuid,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment