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

DOCS-2543 iOS Monitoring > Crash Reporting and Error Tracking Beta #604

Merged
merged 25 commits into from
Oct 4, 2021

Conversation

priyanshi-gupta
Copy link
Contributor

@priyanshi-gupta priyanshi-gupta commented Sep 23, 2021

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

  • Feature or bugfix MUST have appropriate tests (unit, integration)
  • Make sure each commit and the PR mention the Issue number or JIRA reference

@priyanshi-gupta priyanshi-gupta requested review from a team as code owners September 23, 2021 09:00
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
Copy link
Contributor

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"

Copy link
Member

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 👍

Copy link
Contributor

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?"

Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
Comment on lines 51 to 74
#### 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
```
Copy link
Contributor

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

what do you think? @maxep @ncreated

Copy link
Member

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).

Copy link
Contributor

@buranmert buranmert Sep 23, 2021

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.

Comment on lines 29 to 30
```
Datadog.initialize(
Copy link
Contributor

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

Copy link
Member

@ncreated ncreated left a 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,
Copy link
Member

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.

docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
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
Copy link
Contributor

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?"

docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
Co-authored-by: cswatt <cecilia.watt@datadoghq.com>
Co-authored-by: Maciek Grzybowski <maciek.grzybowski@datadoghq.com>
@alai97 alai97 changed the title Priyanshi/ios crash reporting DOCS-2543 iOS Monitoring > Crash Reporting and Error Tracking Beta Sep 23, 2021
docs/rum_collection/_index.md Outdated Show resolved Hide resolved
docs/rum_collection/_index.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Show resolved Hide resolved
Copy link
Contributor

@cswatt cswatt left a 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?

docs/error_tracking/ios.md Outdated Show resolved Hide resolved
docs/error_tracking/ios.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
docs/error_tracking/ios.md Outdated Show resolved Hide resolved
docs/rum_collection/_index.md Outdated Show resolved Hide resolved
docs/error_tracking/ios.md Outdated Show resolved Hide resolved
docs/error_tracking/ios.md Outdated Show resolved Hide resolved
docs/rum_collection/_index.md Outdated Show resolved Hide resolved
docs/rum_collection/crash_reporting.md Outdated Show resolved Hide resolved
Co-authored-by: cswatt <cecilia.watt@datadoghq.com>
@alai97 alai97 requested review from cswatt October 4, 2021 17:25
@priyanshi-gupta priyanshi-gupta merged commit 1f3ff9e into master Oct 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants