Skip to content
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

[Parameter Capturing] Make probe management APIs asynchronous #5125

Conversation

schmittjoseph
Copy link
Member

@schmittjoseph schmittjoseph commented Aug 10, 2023

Summary

This PR converts the probe management APIs to be asynchronous. The prior behavior was to submit requests to our profiler without any feedback on if the requests succeeded or failed. Now the results of requests are reported back to our managed code so we can act on it accordingly.

High-level changes:

  • Move the probe faulting behavior from the mutating profiler into ParameterCapturingService.
  • Support registering probe management callbacks with the mutating profiler. These callbacks will be invoked by a new dedicated thread (See ProbeInstrumentation::InitBackgroundService for an explanation of why this is necessary).
  • FunctionProbesManager now maintains an internal state to properly handle callbacks and transition its new task completion sources as necessary.

Out of scope of this PR:

  • The dotnet-monitor side changes for logging probe faults
Release Notes Entry

@ghost ghost added the needs-review label Aug 10, 2023
@schmittjoseph schmittjoseph changed the title [do not review] [Parameter Capturing] Make probe management APIs asynchronous [Parameter Capturing] Make probe management APIs asynchronous Aug 10, 2023
@schmittjoseph schmittjoseph marked this pull request as ready for review August 10, 2023 21:23
@schmittjoseph schmittjoseph requested a review from a team as a code owner August 10, 2023 21:23
@ghost ghost removed the needs-review label Aug 16, 2023
@ghost ghost added the needs-review label Aug 16, 2023
@ghost ghost added the needs-review label Aug 16, 2023
@ghost ghost removed the needs-review label Aug 17, 2023
wiktork
wiktork previously approved these changes Aug 17, 2023
@ghost ghost removed the needs-review label Aug 17, 2023
@ghost ghost added the needs-review label Aug 17, 2023
@ghost ghost removed the needs-review label Aug 17, 2023
@schmittjoseph schmittjoseph enabled auto-merge (squash) August 17, 2023 22:19
@schmittjoseph schmittjoseph merged commit 88de6a3 into dotnet:feature/parameter-capturing Aug 18, 2023
26 checks passed
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.

3 participants