getsentry / team-webplatform-meta

0 stars 0 forks source link

[EPIC] Simplify the SDK Setup flow for errors, sourcemaps and tracing #71

Open danielkhan opened 1 year ago

danielkhan commented 1 year ago

Problem

Depending on the platform, setting up the Sentry SDK can be complicated. We identified a set of friction points that we wanted to fix. This Epic is a tracking issue for this large initiative to improve our setup UX.

A novice developer should be able to set up Sentry (at least errors, sourcemaps for JS, and tracing) in 5 minutes.

User Stories

Definition of done

FAQ ### Why must the users have source maps in CI/CD? Sentry is a tool meant for production monitoring. It's cool if a developer is able to test the setup on his machine and this is the first step - but it's irrelevant if the setup is not working in production. A company usually uses some CI/CD setup so the process has to work end-to-end there. If it's a smaller company and things get directly deployed from the developers machine, well then it should work right away. ### How short should the setup guide be? As short as possible - the initial instructions should contain all steps required for the most common use case of the given platform. The steps must contain everything to get all the value out of Sentry - Install -> Simple Usage for Errors & Custom instrumentation -> Enable key features like Replays & Profiling if available. Following these steps, the user has to be able to understand and see how Sentry provides immediate value. ### Why a new auth token? Our current system requires the user to leave the setup page and find the spot where to create an Auth Token required for the setup. Goal should be that the user never has to leave the same page until they fully configured Sentry. We need a new system to enable that. ### Why do we start with the cli wizard setup first? The CLI Wizard takes a lot of the chores away of the user for example: Finding the Org/project -> copy pasting DSN, creating an Auth Token, putting everything in the config files/init. In the ideal case, the user when setting up Sentry in their platform, never has to read and documentation and the CLI wizard when setting up does all the steps. It will happen that the Wizard is not able to fulfill every step because the setup is so different - if that is the case the wizard should clearly guide the user to the dedicated docs or provide the snippets to manually add, directly to the user.
### SDK Setup Improvements
- [ ] https://github.com/getsentry/sentry-javascript/issues/8378
- [ ] https://github.com/getsentry/sentry-wizard/issues/280
- [ ] https://github.com/getsentry/sentry-wizard/issues/226
- [ ] https://github.com/getsentry/sentry-docs/issues/7240
- [ ] https://github.com/getsentry/sentry-docs/issues/7092
### Source maps (sentry in CI)
- [ ] https://github.com/getsentry/sentry/issues/52068
- [ ] https://github.com/getsentry/sentry-docs/pull/7304
- [x] https://github.com/getsentry/sentry-docs/pull/7306
- [ ] https://github.com/getsentry/sentry-wizard/issues/296
- [ ] https://github.com/getsentry/team-sdks/issues/6
- [ ] https://github.com/getsentry/team-ingest/issues/460
- [ ] https://github.com/getsentry/sentry-cli/issues/1670
- [ ] https://github.com/getsentry/sentry/issues/54015
### Java
- [ ] https://github.com/getsentry/sentry-java/issues/2770
### Android
- [ ] https://github.com/getsentry/sentry-java/issues/2802
### IOS
- [ ] https://github.com/getsentry/team-mobile/issues/142