-
-
Notifications
You must be signed in to change notification settings - Fork 1k
PerfCollect diagnoser #2117
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
PerfCollect diagnoser #2117
Conversation
…enerate the path if it has failed
# Conflicts: # src/BenchmarkDotNet.Diagnostics.Windows/Sessions.cs # src/BenchmarkDotNet/Diagnosers/DiagnosersLoader.cs # src/BenchmarkDotNet/Extensions/CommonExtensions.cs
… asked for permission to install stuff (and redirecting input and all that stuff)
# Conflicts: # src/BenchmarkDotNet/BenchmarkDotNet.csproj # src/BenchmarkDotNet/Extensions/CommonExtensions.cs # src/BenchmarkDotNet/Extensions/ProcessExtensions.cs
{ | ||
start.EnvironmentVariables["COMPlus_PerfMapEnabled"] = "1"; | ||
start.EnvironmentVariables["COMPlus_EnableEventLog"] = "1"; | ||
start.EnvironmentVariables["COMPlus_EventSourceFilter"] = EngineEventSource.SourceName; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brianrob if I want to enable all events for given event source, is setting COMPlus_EventSourceFilter
enough?
The definition of event source that I care about:
BenchmarkDotNet/src/BenchmarkDotNet/Engines/EngineEventSource.cs
Lines 7 to 10 in 21a2940
[EventSource(Name = EngineEventSource.SourceName)] | |
public class EngineEventSource : EventSource | |
{ | |
public const string SourceName = "BenchmarkDotNet.EngineEventSource"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that and setting COMPlus_EnableEventLog=1
. If you set COMPlus_EventSourceFilter
to the EventSource that you want to capture, this will disable all other EventSources from being sent through to LTTng to avoid the cost of emitting all other EventSource events that may not be needed.
…kely due to failed install)
5b3a633
to
c0d692a
Compare
This appears to be breaking the wasm tests now that it has made it into dotnet/performance |
I finally got around to trying this out, looks like maybe it does not work with locally built runtimes?
|
@AndyAyersMS could you please log an issue? I suspect that we should just skip |
I am opening the PR to start a discussion. I know I need to write some docs and test it before it gets merged.
Must have:
Nice to have:
Please see dotnet/runtime#71786 (comment) for .NET 7 limitations
cc @janvorli