-
Notifications
You must be signed in to change notification settings - Fork 185
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
Add mobile crash data model spec #362
Changes from all commits
3a9f9c6
1a469a4
0580004
77c08f6
093eab2
09cfd23
ff95d35
217589d
53f2f1d
5768c0c
a54a36c
96684b0
a3e635f
a30d4d9
6bce6bd
b6dd029
aeaabee
62225df
c775eee
90d9e1a
317f6d8
ead554f
1a37960
62a7b50
d62654f
5b2ba92
4dbe3d6
e6f30e9
b8645fd
a71b327
4604c4a
9b43c9a
d5b5dda
9d9710b
565a746
02be063
bf1be5a
1adf71f
0e997d1
bf5ca3e
7211652
03bb13b
de47a52
50b52b2
6ed33eb
d2e0035
e93cce9
bdbe2ad
4e91c6a
7a3a03b
32ceee0
b836574
c9cce9b
acf05b1
b50d4cd
0ee715a
70ae48a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
groups: | ||
- id: mobile-crash-event | ||
prefix: hello | ||
type: event | ||
brief: > | ||
This document defines attributes for crashes represented using Log Record Events. | ||
`event.domain` is 'device' and `event.name` is 'crash'. | ||
attributes: | ||
- ref: ios.state | ||
requirement_level: | ||
recommended: If the crash occurred on an iOS device. | ||
Comment on lines
+9
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
- ref: android.state | ||
requirement_level: | ||
recommended: If the crash occurred on an Android device. | ||
Comment on lines
+9
to
+14
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe we should just call it |
||
- ref: exception.stacktrace | ||
requirement_level: | ||
recommended: If the crash occurred on an Android device. | ||
brief: > | ||
The contents of printStackTrace() being called on the throwable | ||
- ref: thread.id | ||
requirement_level: | ||
recommended: If the crash occurred on an Android device. | ||
brief: > | ||
The id of the thread as output by Thread.currentThread().getId() | ||
- ref: thread.name | ||
requirement_level: | ||
recommended: If the crash occurred on an Android device. | ||
brief: > | ||
The name of the thread as output by Thread.currentThread().getName() | ||
- ref: exception.message | ||
requirement_level: | ||
recommended: If the crash occurred on an Android device. | ||
- id: ios.crash_report | ||
requirement_level: | ||
recommended: If the crash occurred on an iOS device. | ||
brief: > | ||
The contents from PLCrashReporter | ||
AlexanderWert marked this conversation as resolved.
Show resolved
Hide resolved
Comment on lines
+36
to
+37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would be possible to make the reporter agnostic? |
||
Contains three primary elements. "images", "threads" and "signal". These could be broken out as individual elements | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is meant here by "These could be broken out as individual elements"? Do you mean put them into separate attributes? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Images and Threads are arrays containing details of objects linked and stack traces respectively. |
||
Given that crash reports are only sent on the subsequent execution of the app, both the customer app or the phone os may have been upgraded. | ||
As such both the original app version and os version should be sent. | ||
"appMinorVersionAtCrash" - minor version of customer app at crash | ||
"appMajorVersionAtCrash" - major version of customer app at crash | ||
"osVersionAtCrash" - version of iOS at crash | ||
For ios crashes | ||
type: string | ||
examples: ['*Contents of PL CrashReporter crash report*'] |
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.
event.name
should allow something different thancrash
- or make it more generic.crash
means the application exited, but this format should allow swallowed errors - but captured as well which is technically not acrash
but rather an error/exception.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 current thinking is that we will model a separate event type for non-fatal errors/exceptions. There is already an event type called
exception
in the spec but that's more for span events, that is, errors occuring in the context of a span, but we will need to model a similar event for a more generic usecase.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.
any reason to make that a different event type? the only difference between a crash and an error is its severity, the metadata is 100% the same.