Skip to content

Commit

Permalink
Merge branch 'master' into ui-redesign
Browse files Browse the repository at this point in the history
  • Loading branch information
a-hariti committed Apr 26, 2024
2 parents 8409309 + 5ad2fa6 commit 20b9d92
Show file tree
Hide file tree
Showing 94 changed files with 1,622 additions and 222 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 43 additions & 36 deletions docs/concepts/migration/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_order: 300
description: "Learn more about the reasons to move to Sentry's SaaS solution, which for many customers is less expensive to maintain, and easier to scale and support."
---

Sentry offers a cloud-hosted, software-as-a-service (SaaS) solution in addition to a self-hosted solution, which are both functionally the same. However, many customers find that self-hosted Sentry can quickly become expensive to maintain, scale, and support, making our SaaS product the better and less costly option.
Sentry offers a cloud-hosted, software-as-a-service (SaaS) solution in addition to a self-hosted solution, which are both functionally the same. However, many customers find that self-hosted Sentry can quickly become expensive to maintain, scale, and support, making our SaaS product the better and less costly option. To facilitate moving from self-hosted to SaaS, we provide a self-serve process known as instance "relocation".

<Alert>
We're hosting a live workshop on **Migrating to Sentry SaaS on April 30th.** [Sign up here](https://sentry.io/resources/migrate-to-sentry-saas-workshop/) to learn about our relocation tooling and get a chance to ask questions live.
Expand All @@ -16,65 +16,72 @@ For additional reading on considering SaaS, take a look at:
- [XS:Code > Open Source is Free - But Expensive](https://dev.to/helad11/open-source-is-free-but-expensive-3h8a)
- [Frequently asked migration questions](https://sentry.io/from/self-hosted/)

## Migrating to Cloud
## Relocating to Cloud

If your organization started with self-hosted Sentry, you've invested time and effort in configuring and customizing your Sentry org. Once you decide to move to a SaaS account, it's important to know that you can migrate a lot of that investment into your new account instead of starting from scratch.
If your organization started with self-hosted Sentry, you've invested time and effort in configuring and customizing your Sentry org. Once you decide to move to a SaaS account, it's important to know that you can relocate a lot of that investment into your new account instead of starting from scratch.

To make this migration as seamless as possible, Sentry has a migration workflow that allows you to migrate most of your account's settings and configurations.
To make this relocation as seamless as possible, Sentry has a workflow that allows you to retain most of your account's settings and configurations as you move to SaaS. All you'll need is owner access to your self-hosted install, and a way to access it via the terminal.

One thing to note is we won't be able to transfer over historical event data, but new incoming events will populate the projects in your new organization. You will also need to re-invite all your members and add them to the correct teams.
### What you'll keep

## How to Migrate
All of the configurations, team and project structure, and most metadata will be relocated. Specifically, for every organization you [choose to relocate](#2-choose-which-organizations-to-relocate) this includes:

### 1. Sign up
- All of the organization settings
- The user accounts and options for all of the organization's members
- Projects and their settings
- Teams and their settings
- Alert rules
- Crons
- Dashboards
- Enabled data scrubbers
- Repositories
- Recent and saved searches

Before you begin the migration process, [sign up](https://sentry.io/signup/) for a new organization in Sentry.
### What gets left behind

![Sentry welcome page](./img/sign-up-welcome.png)
Any data related to specific issues, events, stack traces, or files like replays and source maps won't be coming along. Additionally, for security reasons, you'll need to reconnect and re-authenticate all of your integrations, and your users will need to re-connect their 2FA and mint new API tokens after relocating.

Once you complete the onboarding steps, get your **org slug** from the browser URL or in **Settings > General Settings**. We'll need this information to know where to migrate your data.
One thing to note is that while we won't be able to transfer over historical event data, new incoming events will populate the projects in your relocated organization as soon as you [update your DSNs](#5-update-your-dsns). All relocated organization members will be automatically notified and re-invited via email once the relocation completes.

![Org slug in the url](./img/org-slug.png)
### Version support window

<Note>
Self-serve relocation is only possible from any of the last two minor self-hosted releases. That is, if the latest self-hosted release is 24.2.3, your self-hosted install must be on at least 24.1.0 to be successfully relocate.

You can also modify your org slug in the org settings.
If you'd like to relocate from an earlier release, we ask that you [update](https://develop.sentry.dev/self-hosted/releases/) your self-hosted install to the latest version first. If there is some reason that this is not possible, please [contact support](https://sentry.io/contact/enterprise/) for more guidance.

</Note>
### Data security

### 2. Choose a plan
Your data will be encrypted end-to-end during the relocation process. The only file that will pass over the network will be an encrypted tarball that we'll never store in plaintext, and will delete within 30 days of the start of your relocation.

Take a look at our [plans](https://sentry.io/pricing/) and select one that suits your needs based on the different features and capabilities. Note that plan pricing varies based on the type of _Contract_ and _Monthly Event Volume_, so make sure you are familiar with your current/expected monthly usage (number of events per month).
## How to Relocate

If you're expecting higher volumes or you're interested in our Enterprise capabilities (priority support and SLAs, and single-tenant options, for example), please [contact us](https://sentry.io/contact/enterprise/) regarding our **Enterprise Plan**.
### 1. Sign up with a promo code

### 3. Export your data
Before you begin the relocation process, [sign up](https://sentry.io/signup/relocate/) for a new account on Sentry. If you already have a Sentry account, login and navigate to the [relocation landing page](https://sentry.sentry.io/relocation/). In either case, you should see a page like this:

Self-hosted Sentry provides a script that allows you to perform a backup of your basic data into a json file. For versions of self-hosted under 23.3.1, an `export` command is required instead. See [here](https://develop.sentry.dev/self-hosted/backup/) for more.
![Relocation getting started page](./img/relocation-landing-page.png)

Run the following command in your terminal to start the backup script and export your data:
**To receive a $100 credit, make sure to use the promo code `relocate100` on this page.**

$ ./scripts/backup.sh
### 2. Choose which organizations to relocate

This invokes the sentry CLI `export` command on a new isolated instance of our Docker web container.
Your self-hosted installation may have had multiple organizations, each identified by a unique slug. You'll need to collect those from your installed instance, and decide which ones you'll want to keep. You can always change these to whatever you like post-relocation on the organization settings page.

The export migrates your account's settings and configurations, including:
![Changing the org slug on the settings page](./img/org-slug.png)

- Project settings
- Alert rules
- Enabled data scrubbers
- Team settings
- Saved search queries
- Integration platform metadata (Sentry 10)
### 3. Follow the relocation instructions

### 4. Send it to us
The remaining pages in the relocation instructions will contain specific details on how to export your self-hosted instance's relocatable data. This will require terminal access to the machine running your self-hosted instance. In brief, you'll save a public key that we generate for you on your self-hosted machine, which you'll then use to execute a command that we provide to generate an encrypted tarball containing your data. You'll then upload this tarball, and we'll take it from there!

To kick off the migration process, contact us using the form at [Switch to Hosted Sentry](https://sentry.io/from/self-hosted/). Once we get your request, one of our support reps will reach out through a support ticket to get the following details:
Most relocations complete in under an hour, though certain large or complex cases can take a bit longer. If you don't get an update from us within 24 hours, please [contact support](https://sentry.io/contact/enterprise/) for further assistance.

### 4. Choose a plan

Once your relocation succeeds, you can take a look at our [plans](https://sentry.io/pricing/) and select one that suits your needs based on the different features and capabilities. Note that plan pricing varies based on the type of _Contract_ and _Monthly Event Volume_, so make sure you are familiar with your current/expected monthly usage (number of events per month).

If you're expecting higher volumes or you're interested in our Enterprise capabilities (priority support and SLAs, and single-tenant options, for example), please [contact us](https://sentry.io/contact/enterprise/) regarding our **Enterprise Plan**.

- Your **Organization slug**.
- **Selected plan**. If you're unsure, let us know. We'll be happy to help you make the right decision. Also, if you think you'll need an Enterprise plan, we can connect you with the right person to discuss details.
- The **sentry_export.json** file.
### 5. Update your DSNs

Alternatively, you can send us an email at [support@sentry.io](mailto:support@sentry.io) with the subject: `Self-Hosted Migration Application`.
Though your project data has been fully relocated, the DSNs for all of your projects will have changed, as they are now located at https://sentry.io rather than your prior self-hosted domain name. This means that you'll need to update the [DSN](/product/sentry-basics/dsn-explainer/) you use in each of your SDKs for each relevant project. Once you complete this step, you'll should start to see issues and events (though hopefully not too many!) appearing as before.

Once we have your organization set up on [sentry.io](https://sentry.io), we'll apply a **$100 credit** to your account for migrating from self-hosted Sentry.
2 changes: 1 addition & 1 deletion docs/concepts/search/searchable-properties/events.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ The time between start of the request and start of the response (see [diagram](h

### `message`

Returns errors with the matching message or transactions with matching transaction name. Also matches on any message containing the supplied value.Searching `message:undefined` will match an event with a message of `undefined is not an object`.Raw text searches (searches without the `message` key) are also checked against this field. For errors, the message can be a concatenatenation of elements, so searches might include unexpected results.
Returns errors with the matching message or transactions with matching transaction name. Also matches on any message containing the supplied value.Searching `message:undefined` will match an event with a message of `undefined is not an object`. Raw text searches (searches without the `message` key) are also checked against this field. For errors, the message can be a concatenatenation of elements, so searches might include unexpected results.

- **Type:** string

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/search/searchable-properties/issues.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ Location where the error happened.

### `message`

Returns errors with the matching message or transactions with matching transaction name. Also matches on any message containing the supplied value.Searching `message:undefined` will match an event with a message of `undefined is not an object`.Raw text searches (searches without the `message` key) are also checked against this field. For errors, the message can be a concatenatenation of elements, so searches might include unexpected results.
Returns errors with the matching message or transactions with matching transaction name. Also matches on any message containing the supplied value.Searching `message:undefined` will match an event with a message of `undefined is not an object`. Raw text searches (searches without the `message` key) are also checked against this field. For errors, the message can be a concatenatenation of elements, so searches might include unexpected results.

- **Type:** string

Expand Down
66 changes: 46 additions & 20 deletions docs/contributing/pages/redirects.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,57 @@ title: Redirects
noindex: true
---


Redirects allow you to automatically redirect an incoming request path to a new destination path. When you move or rename a file, you should make sure to set up a redirect from the old path to the new path, so that the old URL still takes users to the right place.

## Add a New Redirect

Redirects are configured in [`next.config.js`](https://github.com/getsentry/sentry-docs/blob/master/next.config.js) and are checked before the filesystem (including pages and `/public` files ). The `redirects` function returns an array holding redirect objects.
There are two ways to add redirects in the Sentry docs:

- [Add a New Redirect in `middleware.ts` (Recommended)](#add-a-new-redirect-in-middlewarets-recommended)
- [Add a New Redirect in `vercel.json`](#add-a-new-redirect-in-verceljson)

Because Sentry has a limited number of Vercel redirects, you should configure your redirects in `middleware.ts` whenever possible. You should only use `vercel.json` if you need to use regular expressions in your redirects.

### Add a New Redirect in `middleware.ts` (Recommended)

Set up all simple one-to-one redirects in `src/middleware.ts`.

To add a new redirect in [`src/middleware.ts`](https://github.com/getsentry/sentry-docs/blob/master/src/middleware.ts), add a new object to `REDIRECTS` with the following properties:

- `from`: The incoming request path.
- `to`: The new destination path you want to route to.

#### Example Redirect in `middleware.ts`

To add a new redirect, add a new object in the redirects array with the following properties:
The example below redirects `https://docs.sentry.io/performance/` to `https://docs.sentry.io/product/performance/`:

```typescript {filename:middleware.ts} {2-5}
const REDIRECTS: {from: PathWithTrailingSlash; to: string}[] = [
{
from: '/performance/',
to: '/product/performance/',
},
];
```

### Add a New Redirect in `vercel.json`

Sentry has a limited number of Vercel redirects, so you should only configure redirects in `vercel.json` if your redirects need to use regular expressions. Otherwise, use [`middleware.ts`](#add-a-new-redirect-in-middlewarets-recommended).

To add a new redirect in [`vercel.json`](https://github.com/getsentry/sentry-docs/blob/master/vercel.json#L34), add a new object in `redirects` with the following properties:

- `source`: The incoming request path pattern.
- `destination`: The new destination path you want to route to instead.
- `permanent`: Whether the redirect is permanent and should be cached forever (`true`) or is temporary (`false`).

### Example Redirect

The example below adds a redirect for the alerts page after its parent folder was renamed from `alerts-notifications` to `alerts`.

```javascript {filename:next.config.js}
redirects() {
return [
{
source: '/product/alerts-notifications/',
destination: '/product/alerts/',
permanent: true,
},
]
}
- `destination`: The new destination path you want to route to.

#### Example Redirect in `vercel.json`

The example below redirects URLs like `https://docs.sentry.io/cli/(.*)` to `https://docs.sentry.io/product/cli/$1` with a matching regex pattern. For example, `https://docs.sentry.io/cli/installation/` would be redirected to `https://docs.sentry.io/product/cli/installation/`.

```json {filename:vercel.json}
"redirects": [
{
"source": "/cli/(.*)",
"destination": "/product/cli/$1"
},
]
```
2 changes: 1 addition & 1 deletion docs/organization/integrations/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ For more details, see the [full Integration Platform documentation](/product/int
| [Azure DevOps](/product/integrations/source-code-mgmt/azure-devops/) | X | X | |
| [Bitbucket](/product/integrations/source-code-mgmt/bitbucket/) | X | X | |
| [GitHub](/product/integrations/source-code-mgmt/github/) | X | X | X |
| [GitHub Enterprise](/product/integrations/source-code-mgmt/github/) | X | X | |
| [GitHub Enterprise](/product/integrations/source-code-mgmt/github/) | X | X | X |
| [GitLab](/product/integrations/source-code-mgmt/gitlab/) | X | X | X |

## Issue Tracking
Expand Down
6 changes: 6 additions & 0 deletions docs/platforms/apple/common/configuration/app-hangs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ sidebar_order: 11
description: "Learn about how to add app hang detection reporting."
---

<Note>

We recommend disabling this feature for Widgets and Live Activities because it might detect false positives.

</Note>

This integration tracks app hangs. This feature is available on iOS, tvOS, and macOS.

Trying to use an unresponsive app is extremely frustrating for users. There are many reasons why an app may become unresponsive, such as long- running code, infinite loop bugs, and so on. With app hang tracking you can detect and fix them.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ sidebar_order: 5

If Sentry has access to your application's source code, it can show snippets of code (_source context_) around the location of stack frames, which helps to quickly pinpoint problematic code.

For example, here's a stack trace from a .NET application. The source context contains
the original C# source code of the application, with the location of the frame highlighted.
For example, here's a stack trace from a Swift application. The source context contains
the original Swift source code of the application, with the location of the frame highlighted.

![Screenshot of stack trace showing source context.](./img/source-context-screenshot.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/platforms/apple/common/troubleshooting/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_order: 9000

## "Missing API declaration" after App Store review

Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reaasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/apple/data-management/apple-privacy-manifest) guide.
Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/apple/data-management/apple-privacy-manifest) guide.

## Wrong App Start Data

Expand Down
Loading

0 comments on commit 20b9d92

Please sign in to comment.