-
-
Notifications
You must be signed in to change notification settings - Fork 207
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
Blocking detector with event volume throttling #3174
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…dotnet into feat/blocking-detector
…sactionEndedAsCrashed.Net4_8.verified.txt
…dotnet into feat/blocking-detector
…dotnet into feat/blocking-detector
… the number of blocking calls for a particular code location
jamescrosswell
changed the title
Blocking detector throttled
Blocking detector with event volume throttling
Feb 26, 2024
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
- Blocking detector with event volume throttling ([#3174](https://github.com/getsentry/sentry-dotnet/pull/3174)) If none of the above apply, you can opt out of this check by adding |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a variant of:
In the other PR (that we want to merge) we removed some code that had been added to address volume concerns.
The original thinking was that if blocking calls exist on a hot path, we don't want to be sending thousands of events that all communicate the same thing. This PR includes a mechanism to record when each blocking call was last reported to Sentry and skip reporting if we detect the same blocking call within a cooldown period (hard coded to 1 day).
In this PR the blocking detector also emits a System.Diagnostics.Metric each time a blocking call is detected, using the code location as a tag, so that people can known how often a particular blocking call occurs.
There were concerns about emitting internal metrics when our Metrics product is so naiscent however... and also about the UX experience, which with this implementation would look something like this:
A
location
tag is added to the blocking call metrics and whilst it would be possible to add this same tag to the blocking call events and use that as a correlation id, there's no "standard" established for doing that across the other Sentry APIs yet (discussions about that haven't happened).This PR exists mainly to preserve the solution we came up with in case we want to revisit or ressurect it once wider discussions across Sentry are a bit more mature.