Skip to content

[Release/7.0] Port EventCounters multi session support to 7.0 - #84679

Merged
davmason merged 3 commits into
dotnet:release/7.0-stagingfrom
davmason:eventcounters_7.0
May 11, 2023
Merged

[Release/7.0] Port EventCounters multi session support to 7.0#84679
davmason merged 3 commits into
dotnet:release/7.0-stagingfrom
davmason:eventcounters_7.0

Conversation

@davmason

Copy link
Copy Markdown
Contributor

Ports #82970 to 7.0

Customer Impact

Currently multiple different EventCounters sessions can be started but when any session stops we stop emitting counters for all events. This is true for dotnet-counters and manually enabling counters via in an process EventListener or via ETW/EventPipe/LTTNG.

We have quite a few internal and external teams using EventCounters, so as time goes on we find that they are disabling each other's sessions more and more. We have received requests from internal and external partners that this be fixed in servicing.

Testing

Partner team validation that it fixes their scenario.

Risk

This fix includes a minor breaking change as described in #84586. We previously would issue callbacks for EventSource Disable events before we fully marked the EventSource as disabled, but after we disallowed any further events from being sent. With this change we will issue callbacks after we mark the EventSource as fully disabled.

I cannot think of a scenario this would break, but it is different behavior and could theoretically cause issues for customers.

@davmasondavmason added this to the 7.0.x milestone Apr 12, 2023
@davmason
davmason requested a review from a teamApril 12, 2023 07:18
@davmasondavmason self-assigned this Apr 12, 2023
@davmasondavmason changed the title [Release/6.0] Port EventCounters multi session support to 7.0[Release/7.0] Port EventCounters multi session support to 7.0Apr 12, 2023

@jeffschwMSFTjeffschwMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

approved. we will take for consideration in 7.0.x. please get a code review

@jeffschwMSFTjeffschwMSFT added the Servicing-consider Issue for next servicing release review label Apr 12, 2023
@leecowleecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 13, 2023
@leecowleecow modified the milestones: 7.0.x, 7.0.7Apr 13, 2023
@davmasondavmason added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Apr 13, 2023

@noahfalknoahfalk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same as the 6.0 PR. Behavior looks correct but ideally we'd not include the refactoring parts of the change that don't modify the final behavior.

@carlossanlop

Copy link
Copy Markdown
Contributor

@davmason - Reminder that you're free to merge your PR to the staging branch anytime, as long as:

  • It has been approved by Tactics (Servicing-approved label applied).
  • Signed-off by an area owner.
  • CI is either green, or the failures are investigated and considered unrelated.
  • OOB package authoring changes are added if needed.

If you want this fix to go into the June Release, please make sure to merge this before the code complete day (May 15th).

@davmason
davmasonforce-pushed the eventcounters_7.0 branch from c8e3d49 to 118a635CompareMay 9, 2023 20:16
@davmason

Copy link
Copy Markdown
ContributorAuthor

Rebasing against release/7.0-staging latest to trigger a new CI run

@davmason
davmason merged commit bf47f0d into dotnet:release/7.0-stagingMay 11, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jun 11, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tracing-coreclrneeds-breaking-change-doc-createdBreaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnetServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@davmason@carlossanlop@noahfalk@jeffschwMSFT@leecow