Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 1, 2025

Adds trade-off information between EtwManifestEventFormat and EtwSelfDescribingEventFormat as identified in dotnet/runtime#121180.

Changes

  • EtwManifestEventFormat: Documented lower per-event serialization overhead
  • EtwSelfDescribingEventFormat: Documented higher capabilities, better listener compatibility (non-TraceEvent library), and higher per-event serialization overhead
  • Removed redundant sentence in EtwManifestEventFormat summary
  • Added link to EventSource documentation for more information on both enum values

These additions clarify the performance vs. compatibility trade-off when choosing event formats for EventSource configuration.

> [!WARNING]
>
>

Original prompt

Create PR that adds additional information mentioned in dotnet/runtime#121180 (comment) to the to EtwManifestEventFormat and EtwSelfDescribingEventFormat documentation


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI self-assigned this Nov 1, 2025
Copilot AI and others added 2 commits November 1, 2025 02:22
…EtwSelfDescribingEventFormat docs

Co-authored-by: jkotas <6668460+jkotas@users.noreply.github.com>
Co-authored-by: jkotas <6668460+jkotas@users.noreply.github.com>
Copilot AI changed the title [WIP] Add additional information to ETW documentation Add performance and compatibility details to EtwManifestEventFormat and EtwSelfDescribingEventFormat docs Nov 1, 2025
Copilot AI requested a review from jkotas November 1, 2025 02:26
Copilot finished work on behalf of jkotas November 1, 2025 02:26
Copilot AI requested a review from jkotas November 1, 2025 02:38
Copilot finished work on behalf of jkotas November 1, 2025 02:38
@jkotas jkotas marked this pull request as ready for review November 1, 2025 02:51
@jkotas jkotas requested a review from a team as a code owner November 1, 2025 02:51
@jkotas jkotas requested review from Copilot and noahfalk November 1, 2025 02:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR improves the documentation for the EventSourceSettings enumeration by clarifying the differences between manifest-based and self-describing event formats. The changes remove redundant text and add helpful context about performance characteristics and compatibility trade-offs.

  • Removed redundant sentence in EtwManifestEventFormat summary
  • Added performance and compatibility comparisons for both event format options
  • Added reference links to detailed documentation about event format differences

@jkotas
Copy link
Member

jkotas commented Nov 1, 2025

@noahfalk PTLA - this adds additional information you have mentioned in dotnet/runtime PR discussion a few days ago

@noahfalk
Copy link
Member

noahfalk commented Nov 1, 2025

I thought the comments got synced from the source code. Is that just a one time thing and then future updates should happen here?

Copy link
Member

@noahfalk noahfalk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Text looks good to me, my only question is if it belonged here or in the C# source comments. Thanks!

@jkotas
Copy link
Member

jkotas commented Nov 1, 2025

I thought the comments got synced from the source code. Is that just a one time thing and then future updates should happen here?

dotnet-api-docs repo is the source of truth for documentation of assemblies with <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile> property set in project file. The automatic sync is one time thing and only for newly introduced APIs in these assemblies. Older assemblies tend to be on this plan, including corelib https://github.com/dotnet/runtime/blob/e8812e7419db9137f20b990786a53ed71e27e11e/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems#L12 .

Source comments are the source of truth for documentation of assemblies that are missing this property. More recently introduced assemblies are on this plan.

Ideally, we would like to have the documentation in the source files for everything, but we have not been able to fund that work.

@noahfalk
Copy link
Member

noahfalk commented Nov 1, 2025

Thanks @jkotas, thats much clearer now. I tried searching around a bit for that info earlier but failed to find it.

@jkotas
Copy link
Member

jkotas commented Nov 1, 2025

I tried searching around a bit for that info earlier but failed to find it.

I hope dotnet/runtime#121271 will makes this information more discoverable.

@noahfalk
Copy link
Member

noahfalk commented Nov 1, 2025

I also just proposed #12004 which would have most directly helped me find the info earlier.

@gewarren gewarren merged commit 0bf6deb into main Nov 3, 2025
12 checks passed
@gewarren gewarren deleted the copilot/add-documentation-for-etw-formats branch November 3, 2025 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants