perfview icon indicating copy to clipboard operation
perfview copied to clipboard

Don't include binder events in default CLR events

Open elinor-fung opened this issue 2 years ago • 2 comments

The binder events - for Fusion in .NET Framework and assembly load tracing in .NET Core/5+ - are for the targeted scenario of assembly bind tracing. They aren't generally helpful to have on by default and can come with a significant performance cost. This removes the binder events from ClrTraceEventParser.Keywords.Default, since I don't think those intentionally verbose events make sense in the default set.

elinor-fung avatar Nov 21 '22 21:11 elinor-fung

@elinor-fung thanks for submitting this. While these events can be costly, they are often quite helpful, as ETW traces are often used for troubleshooting issues that are related to assembly loading. A good example is understanding NGEN image rejection on .NET Framework. We include these by default because we use them enough and they aren't so costly that we want to have to ask for them each time we need them. Unless something has changed, my preference would be to leave them in the default set.

brianrob avatar Nov 28 '22 00:11 brianrob

@brianrob Can you point me at which events those are? From what I could tell, all the actual binder events in .NET Framework come through the Microsoft-Windows-DotNETRuntimePrivate provider and nothing actually comes through the FusionKeyword for Microsoft-Windows-DotNETRuntime in Framework.

elinor-fung avatar Nov 28 '22 19:11 elinor-fung