-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Allow multiple matchers with the same key in fingerprinting rules #84502
Comments
Auto-routing to @getsentry/product-owners-issues for triage ⏲️ |
There's some nuance here, and I don't think the example actually illustrates the stated problem, which is about errors with stacktraces. In the example, neither error has a stacktrace, so we're falling back to looking at error message, and in the case of the Nonetheless, it's true that in cases where we're grouping on exception type, we don't have any way to say "give the chain with errors I'm going to leave this open as a feature request for that feature (which I do think would be a good one). In the meantime, if you want me to look at the example above, please post a link. |
Thanks for taking a look @lobsterkatie , provided examples from the customer's org here. |
Hey @lobsterkatie , |
I think in this case the best bet is to do it on the SDK side, in (If you do go the SDK route, remember that |
@InterstellarStella @lobsterkatie , I tried to resolve our issue with SDK fingerprinting, but didn't succeed. Given the amount of time I had spent on this issue, this probably indicates that fingerprinting documentation should be improved. Then I decided to attempt a hacky solution myself. Tried to change various Throwable's and event's attributes (incl. using reflection), and, eventually, stumbled across this approach which seems to do the trick:
This looks hacky, so I'm not sure this is a good solution, but leaving it here if someone faces a similar problem in the future. |
Thanks for sharing your solution, and for the feedback about the docs. On that latter point, could you say more about what about the docs was confusing? |
@lobsterkatie . I can't put a finger on the exact issue with the docs of this feature, but, even though I read them thoroughly multiple times, I still can't say that I understand how fingerprinting works, and what the various options do. |
Thanks for that feedback. I'll pass it along to the docs team. Leaving this open to track the main issue, about the ability to combine matchers in fingerprint rules. |
Problem Statement
Currently, when a chained exception happens, the automatic grouping will take into consideration the latest exception. For example, this exception group:

and this one:

Will be grouped together because of

DiagnosticCoroutineContextException
However there is benefit to not only separate these two events between
RuntimeException
andNullPointerException
, but to also have differentRuntimeException
andNullPointerException
issues depending on the rest of their stack trace. Therefore, we can't just create a server side fingerprinting rule that will group them based on their title.However,
stack.
variables (ie.{{stack.functon}}
) will always belong to the topmost frame, which belongs to the latest exception that is causing the problem in the first place (DiagnosticCoroutineContextException
), and cannot be used to make more fine-grained server side fingerprinting rules. The user's only choice here is to turn to SDK Fingerprinting.Solution Brainstorm
It would be very helpful to users if server side fingerprinting could take into consideration both exceptions from the exception group, so that
stack.
variables can be used to fine tune grouping.Product Area
Issues
The text was updated successfully, but these errors were encountered: