Make gc/gc-collect profiles available (#441)
authorSung Yoon Whang <suwhang@microsoft.com>
Wed, 11 Sep 2019 22:35:05 +0000 (15:35 -0700)
committerGitHub <noreply@github.com>
Wed, 11 Sep 2019 22:35:05 +0000 (15:35 -0700)
* Make gc/gc-collect profiles available

* Add a new gc-verbose profile, rename existing gc profile to gc-with-heapsurvival, remove sampleprofiler from gc-collect

* gc-verbose only needs stack at gc events -- disabling sampleprofiler for this profile

* Remove gc-with-heapsurvival, update description for gc-verbose

src/Tools/dotnet-trace/CommandLine/Commands/ListProfilesCommandHandler.cs

index d0cfe22a5f25fcfd79179651c0170fedda787614..c0e33ea2f56570cc43cfecd60526f03b9a74c382 100644 (file)
@@ -48,28 +48,21 @@ namespace Microsoft.Diagnostics.Tools.Trace
                     new Provider("Microsoft-Windows-DotNETRuntime", (ulong)ClrTraceEventParser.Keywords.Default, EventLevel.Informational),
                 },
                 "Useful for tracking CPU usage and general runtime information. This the default option if no profile is specified."),
-#if DEBUG // Coming soon: Preview6
             new Profile(
-                "gc",
+                "gc-verbose",
                 new Provider[] {
-                    new Provider("Microsoft-DotNETCore-SampleProfiler"),
                     new Provider(
                         name: "Microsoft-Windows-DotNETRuntime",
                         keywords: (ulong)ClrTraceEventParser.Keywords.GC |
-                                  (ulong)ClrTraceEventParser.Keywords.GCHeapSurvivalAndMovement |
-                                  (ulong)ClrTraceEventParser.Keywords.Stack |
-                                  (ulong)ClrTraceEventParser.Keywords.Jit |
-                                  (ulong)ClrTraceEventParser.Keywords.StopEnumeration |
-                                  (ulong)ClrTraceEventParser.Keywords.SupressNGen |
-                                  (ulong)ClrTraceEventParser.Keywords.Loader |
+                                  (ulong)ClrTraceEventParser.Keywords.GCHandle |
                                   (ulong)ClrTraceEventParser.Keywords.Exception,
-                        eventLevel: EventLevel.Verbose),
+                        eventLevel: EventLevel.Verbose
+                    ),
                 },
-                "Tracks allocation and collection performance."),
+                "Tracks GC and GC handle events at verbose level, and samples the allocation events as well."),
             new Profile(
                 "gc-collect",
                 new Provider[] {
-                    new Provider("Microsoft-DotNETCore-SampleProfiler"),
                     new Provider(
                         name: "Microsoft-Windows-DotNETRuntime",
                         keywords:   (ulong)ClrTraceEventParser.Keywords.GC |
@@ -77,7 +70,6 @@ namespace Microsoft.Diagnostics.Tools.Trace
                         eventLevel: EventLevel.Informational),
                 },
                 "Tracks GC collection only at very low overhead."),
-#endif // DEBUG
             new Profile(
                 "none",
                 null,