Event listener overhead reduction pt. 3 (#52455)
authorMiha Zupan <mihazupan.zupan1@gmail.com>
Wed, 12 May 2021 05:09:46 +0000 (07:09 +0200)
committerGitHub <noreply@github.com>
Wed, 12 May 2021 05:09:46 +0000 (07:09 +0200)
commit2e618ff905a619bc75138e26e2ef15ebd5bc19b6
treef9564b48d7c814c09db1dd38558e62ca752b1524
parent8695eed7826c8951e9f7c153c7ba93cc47aa1e57
Event listener overhead reduction pt. 3 (#52455)

* Remove unused field

* Reduce common-case EventWrittenEventArgs overheads

Store PayloadNames on EventMetadata instead of EventWrittenEventArgs

* Avoid duplication around TraceLoggingEventTypes

* Move GetParameterNames into property getter

* While => For

* Add EventMetadata.ParameterTypes

* Defer fetching ParameterTypes

* Add RequiresUnreferencedCode attribute to TraceLoggingEventTypes getter

* Revert init => get

* ActivityId => RelatedActivityId

* Remove eventId arg from DispatchToAllListeners

* Store the first caller's ActivityId in EventWrittenEventArgs

* Move ActivityId from MoreInfo to base object
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/NativeRuntimeEventSource.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/TraceLogging/TraceLoggingEventSource.cs