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

UnrealEngine: Add CrashType as a tag to allow filtering #38550

Closed
tdesveaux opened this issue Sep 8, 2022 · 7 comments · Fixed by #44021
Closed

UnrealEngine: Add CrashType as a tag to allow filtering #38550

tdesveaux opened this issue Sep 8, 2022 · 7 comments · Fixed by #44021

Comments

@tdesveaux
Copy link

Problem Statement

We use a self-hosted Sentry to collect crash reports from UnrealEngine using the CrashReporterClient (and it's been great so far!).
We added various tags through the CrashContext GameData field as suggested here.

However, there is several crash types (from the enum ECrashContextType) which produces CrashReports and we'd like to be able to filter on them (for example, Stall are less time critical than crashes).
It's not possible to add them to the CrashContext GameData easily so we'd like to look into doing this on the Sentry side.

I'm open to look into this myself but wanted to know if it's something that the sentry team is open to and get some pointer to where to look to implement this.

Solution Brainstorm

This information is present in the CrashContext.runtime-xml which is sent with issues to the UE endpoint under the field FGenericCrashContext -> RuntimeProperties -> CrashType.
Retrieving this string and adding it as a tag would allow users to filter on it.

I'm unfamiliar with Sentry so I'm not able to propose where this could be done.

@getsentry-release
Copy link

Routing to @getsentry/open-source for triage. ⏲️

@getsentry-release
Copy link

Routing to @getsentry/owners-native for triage. ⏲️

@tdesveaux
Copy link
Author

Took some time to look into it a bit.
The GameData is extracted from the context here.
Something that could be done would be to add context.crash_type to item.tags after the set_payload so that would still use the json provided in GameData but add the crashtype.

An issue might be that it could override something set in the CrashContext::GameData.

@Swatinem
Copy link
Member

I think adding that as a new tag might be a way to solve this.
I remember we discussed this briefly before but didn’t reach a full conclusion on how to add this to the search index. Maybe @jan-auer can help shed some light here.

@tdesveaux
Copy link
Author

Hey, just looking for an update since this was tagged In Progress a while ago.
Let me know if I can help!

@jjbayer
Copy link
Member

jjbayer commented Jan 23, 2023

As far as I can tell, there is some semantic overlap between ECrashContextType and sentry's exception.type. But unreal events currently do not have the Exception interface populated at all. @bitsandfoxes you recently worked on extracting more information for unreal events, do you have any opinion on this (setting a new custom tag vs. populating the exception interface)?

@bitsandfoxes
Copy link
Contributor

Hey there. Sorry for the lack of updates, I replied to the PR but forgot to comment here.
So the crash_type already gets extracted from the unreal event and is set as part of the unreal context. I added the required changes to Sentry to allow filtering based on that. It should be available once the changes get deployed.
Thank for your patience!

@github-actions github-actions bot locked and limited conversation to collaborators Feb 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
8 participants