-
Notifications
You must be signed in to change notification settings - Fork 134
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
DOCS-2543 iOS Monitoring > Crash Reporting and Error Tracking Beta #604
Conversation
Enable iOS crash reporting and error tracking to get comprehensive crash reports, and error trends in RUM UI. With this beta feature, you get access to | ||
|
||
- Aggregated iOS crash data and RUM crash attributes | ||
- Desymbolicated iOS error reports |
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.
isn't it called "symbolicated"? 🤔
we convert memory addresses into symbols, fwiu it should be "symbolicated iOS error reports"
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.
Agree, "symbolication" is more common word 👍
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.
To clarify, should we use "desymbolicated" or "unsymbolicated?"
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.
if we see method names: symbolicated
if we see memory addresses instead of method names: unsymbolicated
(reference from Apple docs: Adding Identifiable Symbol Names to a Crash Report)
|
||
This guide follows the setup for iOS crash reporting and error tracking in the following steps | ||
- Add crash reporting | ||
- Desymbolicate error reports |
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.
same
Global.rum = RUMMonitor.initialize() | ||
``` | ||
|
||
### Desymbolicate reports |
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.
same
#### Install Datadog CI | ||
|
||
If you haven't already, install [Datadog CI][4] through NPM or Yarn. The package is under [@datadog/datadog-ci][5]. | ||
|
||
```sh | ||
# NPM | ||
npm install --save-dev @datadog/datadog-ci | ||
|
||
# Yarn | ||
yarn add --dev @datadog/datadog-ci | ||
``` | ||
|
||
If you need `datadog-ci` as a CLI tool instead of a package, you can run it with [`npx`][6] or install globally: | ||
|
||
```sh | ||
# npx | ||
npx @datadog/datadog-ci [command] | ||
|
||
# NPM install globally | ||
npm install -g @datadog/datadog-ci | ||
|
||
# Yarn v1 add globally | ||
yarn global add @datadog/datadog-ci | ||
``` |
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 we can keep it shorter than that.
most of the cases npx
should be enough (npm install/yarn add
can even cause problems/confusion)
instead of Install Datadog CI
+ Upload dSYM files
+ Verify setup
, we can put a Using Datadog CI
section:
# Using Datadog CI
export DATADOG_API_KEY="<API KEY>"
// if you have a zip file containing dSYMs
npx @datadog/datadog-ci dsyms upload appDsyms.zip
// if you have a folder containing dSYMs
npx @datadog/datadog-ci dsyms upload /path/to/appDsyms/
For more info, please visit https://github.com/DataDog/datadog-ci/blob/master/src/commands/dsyms/README.md
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.
Does
npx @datadog/datadog-ci dsyms upload ...
come with any overhead when compared to following?
datadog-ci dsyms upload ...
I'm wondering if using npx
from Build Phase would be same performant as using the tool directly (after installing it globally with npm
).
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.
even if there is overhead, it is negligible as i don't notice it (i guess npx
does caching but just a guess).
but one of our iOS customers had problems with installing it globally due to a permission issue in their local.
that's why i think npx
way could be the best option for iOS devs.
``` | ||
Datadog.initialize( |
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 we also need to add import DatadogCrashReporting
line here
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.
Thanks for adding this 🚀 !
``` | ||
Datadog.initialize( | ||
appContext: .init(), | ||
trackingConsent: .pending, |
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'd rather use .granted
or just trackingConsent
variable that the user might declare on their end. This would be more unified with what we state in existing docs. If using .pending
and just blindly pasting this snippet into code, all data will be tracked, but nothing will be sent.
Enable iOS crash reporting and error tracking to get comprehensive crash reports, and error trends in RUM UI. With this beta feature, you get access to | ||
|
||
- Aggregated iOS crash data and RUM crash attributes | ||
- Desymbolicated iOS error reports |
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.
To clarify, should we use "desymbolicated" or "unsymbolicated?"
Co-authored-by: cswatt <cecilia.watt@datadoghq.com> Co-authored-by: Maciek Grzybowski <maciek.grzybowski@datadoghq.com>
…-sdk-ios into priyanshi/ios_crash_reporting
…-sdk-ios into priyanshi/ios_crash_reporting
…-sdk-ios into priyanshi/ios_crash_reporting
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.
still very unclear how Crash Reporting and Error Tracking are related to each other. are they two different features? if not, why are they explained on two different pages?
Co-authored-by: cswatt <cecilia.watt@datadoghq.com>
…-sdk-ios into priyanshi/ios_crash_reporting
Co-authored-by: cswatt <cecilia.watt@datadoghq.com>
What and why?
Crash Reporting and Error Tracking for iOS is in public beta. We are adding two pages under iOS Monitoring and Error Tracking.
How?
We should merge this PR and then merge Documentation PR #11778 (DataDog/documentation#11778).
Preview
https://docs-staging.datadoghq.com/alai97/ios-monitoring-crash-reporting-link/real_user_monitoring/ios/crash_reporting/
Review checklist