@@ -114,6 +114,8 @@ internal static Dictionary<string, ProcessExecutionDetails> ExecuteLocally(GCPer
114
114
115
115
for ( int iterationIdx = 0 ; iterationIdx < configuration . Environment . Iterations ; iterationIdx ++ )
116
116
{
117
+ // Format: (Name of Run).(corerun / name of corerun).(IterationIdx)
118
+ string key = $ "{ runInfo . RunDetails . Key } .{ runInfo . CorerunDetails . Key } .{ iterationIdx } ";
117
119
using ( Process gcperfsimProcess = new ( ) )
118
120
{
119
121
gcperfsimProcess . StartInfo . FileName = processAndParameters . Item1 ;
@@ -155,6 +157,10 @@ internal static Dictionary<string, ProcessExecutionDetails> ExecuteLocally(GCPer
155
157
}
156
158
}
157
159
160
+ // Set dump name
161
+ string dumpPath = Path . Combine ( outputPath , key + ".dmp" ) ;
162
+ environmentVariables [ "DOTNET_DbgMiniDumpName" ] = dumpPath ;
163
+
158
164
// Check if the log file is specified, also store it in a run-specific location.
159
165
// This log file should be named in concordance with the name of the run and the benchmark.
160
166
const string gclogVariable = "DOTNET_GCLogFile" ;
@@ -170,13 +176,10 @@ internal static Dictionary<string, ProcessExecutionDetails> ExecuteLocally(GCPer
170
176
gcperfsimProcess . StartInfo . EnvironmentVariables [ environVar . Key ] = environVar . Value ;
171
177
}
172
178
173
- // Format: (Name of Run).(corerun / name of corerun).(IterationIdx)
174
179
string ? output = null ;
175
180
string ? error = null ;
176
181
177
- string key = $ "{ runInfo . RunDetails . Key } .{ runInfo . CorerunDetails . Key } .{ iterationIdx } ";
178
- string traceName = $ "{ runInfo . RunDetails . Key } .{ runInfo . CorerunDetails . Key } .{ iterationIdx } ";
179
- using ( TraceCollector traceCollector = new TraceCollector ( traceName , collectType , outputPath ) )
182
+ using ( TraceCollector traceCollector = new TraceCollector ( key , collectType , outputPath ) )
180
183
{
181
184
gcperfsimProcess . Start ( ) ;
182
185
output = gcperfsimProcess . StandardOutput . ReadToEnd ( ) ;
@@ -189,7 +192,7 @@ internal static Dictionary<string, ProcessExecutionDetails> ExecuteLocally(GCPer
189
192
if ( configuration . TraceConfigurations ? . Type != "none" )
190
193
{
191
194
// Not checking Linux here since the local run only allows for Windows.
192
- if ( ! File . Exists ( Path . Combine ( outputPath , traceName + ".etl.zip" ) ) )
195
+ if ( ! File . Exists ( Path . Combine ( outputPath , key + ".etl.zip" ) ) )
193
196
{
194
197
AnsiConsole . MarkupLine ( $ "[yellow bold] ({ DateTime . Now } ) The trace for the run wasn't successfully captured. Please check the log file for more details: { Markup . Escape ( output ) } Full run details: { Path . GetFileNameWithoutExtension ( configuration . Name ) } : { runInfo . CorerunDetails . Key } for { runInfo . RunDetails . Key } [/]") ;
195
198
}
0 commit comments