-
Notifications
You must be signed in to change notification settings - Fork 472
For #11876: Bucket native code crashes by process type in GleanCrashReporterService #11908
Conversation
Request for data collection review formAll questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.
Which type of process a native code crash occured in.
We currently track whether a crash is fatal or non-fatal. This further This will allow us to keep track of crash numbers even when users do
There is no alternative.
No.
Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.
This collection is documented in the Glean Dictionary at https://dictionary.telemetry.mozilla.org/
I want to permanently monitor this data. Jamie Nicol
All release channels, countries and locales. No other filters.
Default telemetry opt-opt.
If a large number of crashes are detected I will look at socorro to If a large discrepancy is found between the number of crash pings
On github, bugzilla.
No third party tool. |
I'll need to update the yaml file with the new data review link, once completed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Some questions. Thanks
@@ -36,6 +36,12 @@ class GleanCrashReporterService( | |||
// as the persisted crashes in the crash count file (see above comment) | |||
const val UNCAUGHT_EXCEPTION_KEY = "uncaught_exception" | |||
const val CAUGHT_EXCEPTION_KEY = "caught_exception" | |||
const val MAIN_PROCESS_NATIVE_CODE_CRASH_KEY = "main_proc_native_code_crash" | |||
const val FOREGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY = "fg_proc_native_code_crash" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: for me just using foreground / background (vs fg / bg) here is more readable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build fails if the keys are too long, unfortunately
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 That's unfortunate. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think foreground_native_code_crash
(without the proc
) would fit. Would you prefer that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! That sounds good too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or perhaps remove the code
, ie foreground_proc_native_crash
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, no. Unfortunately none of those options work. I think we'll need to leave it as it is...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah that's even better. then it matches main_proc_native_crash
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries, just a small nit. Thanks
@@ -132,6 +144,9 @@ class GleanCrashReporterService( | |||
when (line) { | |||
UNCAUGHT_EXCEPTION_KEY -> ++uncaughtExceptionCount | |||
CAUGHT_EXCEPTION_KEY -> ++caughtExceptionCount | |||
MAIN_PROCESS_NATIVE_CODE_CRASH_KEY -> ++mainProcessNativeCodeCrashCount | |||
FOREGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY -> ++foregroundChildProcessNativeCodeCrashCount | |||
BACKGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY -> ++backgroundChildProcessNativeCodeCrashCount | |||
FATAL_NATIVE_CODE_CRASH_KEY -> ++fatalNativeCodeCrashCount |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Dexterp37 suggested here that we keep the deprecated keys around for a short while so that the pending data can still be submitted correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Understood. Please create an issue to track removing the deprecated keys. Thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
var foregroundChildProcessNativeCodeCrashCount = 0 | ||
var backgroundChildProcessNativeCodeCrashCount = 0 | ||
// These keys are deprecated and should be removed after a period to allow for persisted | ||
// crashes to be submitted. | ||
var fatalNativeCodeCrashCount = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these be removed?
const val BACKGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY = "bg_proc_native_code_crash" | ||
|
||
// These keys are deprecated and should be removed after a period to allow for persisted | ||
// crashes to be submitted. | ||
const val FATAL_NATIVE_CODE_CRASH_KEY = "fatal_native_code_crash" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these be removed?
Data Review
Yes, through the metrics.yaml file and the Glean Dictionary
Yes, through the "Send Usage Data" preference in the application settings
Jamie Nicol
Category 1, Technical data
default-on
No
Yes
No Resultdata-review+ |
Please also add your email to the |
Adding label till yaml is updated. Thanks |
…in GleanCrashReporterService Make GleanCrashReporterService count native code crashes based on their processType field rather than whether they are fatal or non-fatal. Persisted fatal and non-fatal crashes will still be submitted for now, but this code should be removed in a follow-up patch once we have allowed time for them to be submitted.
bdc2742
to
7334793
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
Make GleanCrashReporterService count native code crashes based on
their processType field rather than whether they are fatal or
non-fatal.
Persisted fatal and non-fatal crashes will still be submitted for now,
but this code should be removed in a follow-up patch once we have
allowed time for them to be submitted.
Pull Request checklist
After merge