Last active
October 4, 2017 20:53
-
-
Save onyxmaster/ab3eaf7ebe81fad33d3da537b354befd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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