Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added the new benchmark based types that enable the Benchmark provider #3941

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,4 @@ output:
- json
name: Normal_Server
trace_configurations:
type: gc # gc, verbose, cpu, cpu_managed, threadtime, threadtime_managed, join.
type: gc # none, gc, gc_benchmarks, verbose, cpu, cpu_benchmarks, cpu_managed, cpu_managed_benchmarks, threadtime, join.
Original file line number Diff line number Diff line change
Expand Up @@ -133,4 +133,4 @@ output:
- json
name: Normal_Server
trace_configurations:
type: gc # gc, verbose, cpu, cpu_managed, threadtime, threadtime_managed, join.
type: gc # none, gc, gc_benchmarks, verbose, cpu, cpu_benchmarks, cpu_managed, cpu_managed_benchmarks, threadtime, join.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ coreruns:
environment_variables:
COMPlus_GCName: clrgc.dll

trace_configuration_type: gc # Choose between: none, gc, verbose, cpu, cpu_managed, threadtime, join.
trace_configuration_type: gc # Choose between: none, gc, gc_benchmarks, verbose, cpu, cpu_benchmarks, cpu_managed, cpu_managed_benchmarks, threadtime, join.

# Optional fields: the contents of both the symbol_path and the source_path will be copied over to the output path.
symbol_path:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public static GCPerfSimConfiguration Parse(string path, bool isIncompleteConfigu
// Trace Configurations if specified, must have a type specified.
if (configuration.TraceConfigurations != null && string.IsNullOrEmpty(configuration.TraceConfigurations.Type))
{
throw new ArgumentException($"{nameof(GCPerfSimConfigurationParser)}: Please ensure a trace configuration type is specified. If you don't want to collect a trace, simply don't include the trace_configuration type or choose either: gc, verbose, cpu, cpu_managed, threadtime, threadtime_managed.");
throw new ArgumentException($"{nameof(GCPerfSimConfigurationParser)}: Please ensure a trace configuration type is specified. If you don't want to collect a trace, simply don't include the trace_configuration type or choose either: gc, gc_benchmarks, verbose, cpu, cpu_benchmarks, cpu_managed, cpu_managed_benchmarks, threadtime, threadtime_managed.");
}

// If the user passes in a null output path, default to the current directory.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ public enum CollectType
{
none,
gc,
gc_benchmarks,
verbose,
cpu,
cpu_benchmarks,
cpu_managed,
cpu_managed_benchmarks,
threadtime,
threadtime_managed,
join
Expand All @@ -28,9 +31,12 @@ public sealed class TraceCollector : IDisposable
internal static readonly Dictionary<CollectType, string> WindowsCollectTypeMap = new()
{
{ CollectType.gc, "/GCCollectOnly" },
{ CollectType.gc_benchmarks, "/GCCollectOnly /Providers:Benchmarks" },
{ CollectType.verbose, "/ClrEventLevel:Verbose /ClrEvents:GC+Stack" },
{ CollectType.cpu, "/KernelEvents=Process+Thread+ImageLoad+Profile /ClrEventLevel:Informational /ClrEvents:GC+Stack /BufferSize:3000 /CircularMB:3000" },
{ CollectType.cpu_benchmarks, "/KernelEvents=Process+Thread+ImageLoad+Profile /Providers:Benchmarks /ClrEventLevel:Informational /ClrEvents:GC+Stack /BufferSize:3000 /CircularMB:3000" },
{ CollectType.cpu_managed, "/KernelEvents=Process+Thread+ImageLoad+Profile /ClrEventLevel:Informational /ClrEvents:GC+Stack+Codesymbols+JitSymbols+Compilation+Type+GCHeapAndTypeNames /BufferSize:3000 /CircularMB:3000" },
{ CollectType.cpu_managed_benchmarks, "/KernelEvents=Process+Thread+ImageLoad+Profile /Providers:Benchmarks /ClrEventLevel:Informational /ClrEvents:GC+Stack+Codesymbols+JitSymbols+Compilation+Type+GCHeapAndTypeNames /BufferSize:3000 /CircularMB:3000" },
{ CollectType.threadtime_managed, "/KernelEvents=Process+Thread+ImageLoad+Profile+ContextSwitch+Dispatcher /ClrEvents:GC+Stack+Codesymbols+JitSymbols+Compilation+Type+GCHeapAndTypeNames /BufferSize:3000 /CircularMB:3000 /ClrEventLevel=Verbose" },
{ CollectType.threadtime, "/KernelEvents=Process+Thread+ImageLoad+Profile+ContextSwitch+Dispatcher /ClrEvents:GC /ClrEventLevel=Verbose /BufferSize:3000 /CircularMB:3000 " },
{ CollectType.join, " /BufferSizeMB:4096 /CircularMB:4096 /KernelEvents:Process+Thread+ImageLoad /ClrEvents:GC+Threading /ClrEventLevel=Verbose " },
Expand All @@ -46,9 +52,12 @@ public sealed class TraceCollector : IDisposable
internal static readonly Dictionary<string, CollectType> StringToCollectTypeMap = new(StringComparer.OrdinalIgnoreCase)
{
{ "gc", CollectType.gc },
{ "gc_benchmarks", CollectType.gc_benchmarks },
{ "verbose", CollectType.verbose },
{ "cpu", CollectType.cpu },
{ "cpu_benchmarks", CollectType.cpu_benchmarks },
{ "cpu_managed", CollectType.cpu_managed },
{ "cpu_managed_benchmarks", CollectType.cpu_managed_benchmarks },
{ "threadtime", CollectType.threadtime },
{ "threadtime_managed", CollectType.threadtime_managed },
{ "join", CollectType.join },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,4 @@ output:
- json
name: Normal_Server
trace_configurations:
type: gc # gc, verbose, cpu, cpu_managed, threadtime, threadtime_managed, join.
type: gc # none, gc, gc_benchmarks, verbose, cpu, cpu_benchmarks, cpu_managed, cpu_managed_benchmarks, threadtime, join.