Not quite accurate. Let me explain.
you would like the Profile.exe to be able to receive a "signal" from the profiled process such that it stops profiling, writes results- but *does not* stop itself?
When a profiling of IIS is launched with the command line
- Code: Select all
'C:\\Program Files\\Red Gate\\ANTS Performance Profiler 8\\Profile.exe' /timeout:210 /RecordSqlIo /force /data:C:\\PerfTest\\ProfileIIS.app8results /project:".\\iis8profile.app8"
The only way the ProfileIIS.app8results file is written to disk is if the profiling times out (in this case, after 210 seconds). This is because the w3wp.exe process of IIS does not automatically shutdown, and there are no ways to signal the profiler that "we're finished now, please save your data and detach the process!".
As it is currently, the timeout value specified needs to have margins for the load test to complete; even if the test completes in 60 seconds, the profiler will linger until it hits its timeout threshold.
In addition to this, because it takes a while for the IIS app to start up, we connect and start the profiling session too soon because in this instance, the code we want to profile is not the startup code or warmup section of the applications life time -- it's the runtime code, preferably after the application has "warmed up".
Therefore, the profiling data captured during the first few minutes are not of interest, but it is not negligible in its impact of the size of the generated profile data.