Skip to content

Commit ec1536a

Browse files
committed
Merge branch 'master' into feat/add-docs-for-release-health-dataset
2 parents 0e3dbfa + e001eeb commit ec1536a

File tree

203 files changed

+3336
-2074
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+3336
-2074
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
3+
4+
<!-- Describe your PR here. -->
5+
6+
7+
8+
<!--
9+
10+
Sentry employees and contractors can delete or ignore the following.
11+
12+
-->
13+
14+
### Legal Boilerplate
15+
16+
Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided that you d
1616
error-reporting or application monitoring features of the
1717
Licensed Work.
1818

19-
Change Date: 2025-04-15
19+
Change Date: 2025-05-15
2020

2121
Change License: Apache License, Version 2.0
2222

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
<p align="center">
2-
<a href="https://sentry.io" target="_blank" align="center">
3-
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
4-
</a>
2+
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
3+
<picture>
4+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-white.png" media="(prefers-color-scheme: dark)" />
5+
<source srcset="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
6+
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" alt="Sentry" width="280">
7+
</picture>
8+
</a>
59
</p>
610

711
_Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us [<kbd>**Check out our open positions**</kbd>](https://sentry.io/careers/)_

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"@mdx-js/mdx": "^1.6.18",
1616
"@mdx-js/react": "^1.6.18",
1717
"@sentry-internal/global-search": "0.1.3",
18-
"@sentry/gatsby": "^6.19.2",
19-
"@sentry/tracing": "^6.19.2",
18+
"@sentry/gatsby": "^7.0.0-rc.0",
19+
"@sentry/tracing": "^7.0.0-rc.0",
2020
"@sentry/webpack-plugin": "^1.18.3",
2121
"@types/dompurify": "^2.0.3",
2222
"@types/node": "^12",

src/components/banner.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import React, { useState, useEffect } from "react";
77
//
88
const SHOW_BANNER = true;
99
const BANNER_TEXT =
10-
"Sentry will be at Pycon US 2022 - join our live workshop, 'Elasticsearch and Python, a Match Made in Heaven' on Apr. 28 @ 9:00 AM MDT.";
10+
"See how Calixa protected their developers' time by building a custom integration on Sentry in our live workshop on June 7 @ 10am PT.";
1111
const BANNER_LINK_URL =
12-
"https://us.pycon.org/2022/schedule/presentation/168/";
12+
"https://sentry.io/resources/calixa-sentry-workshop/?promo_name=docs-banner";
1313
const BANNER_LINK_TEXT = "Register here.";
1414
const OPTIONAL_BANNER_IMAGE = null;
1515

src/components/cliChecksumTable.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import styled from "@emotion/styled";
55
const query = graphql`
66
query CliExecutableChecksums {
77
app(id: { eq: "sentry-cli" }) {
8+
version,
89
files {
910
name
1011
checksums {
@@ -23,14 +24,14 @@ const ChecksumValue = styled.code`
2324

2425
export default (): JSX.Element => {
2526
const {
26-
app: { files },
27+
app: { files, version },
2728
} = useStaticQuery(query);
2829

2930
return (
3031
<table style={{ display: "block", overflow: "scroll" }}>
3132
<thead>
3233
<tr>
33-
<th>File</th>
34+
<th>Filename (v{version})</th>
3435
<th>Integrity Checksum</th>
3536
</tr>
3637
</thead>

src/docs/contributing/approach/sdk-docs/write-configuration.mdx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ title: How to Write - Configuration
33
noindex: true
44
sidebar_order: 40
55
redirect_from:
6-
- /contributing/approach/write-configuration/
6+
- /contributing/approach/write-configuration/
77
---
88

99
The Configuration section of the content covers, unsurprisingly, how customers can configure an SDK. In most cases, the SDK will adopt the common content, which is stored in `/platforms/common/configuration/` - feel free to peruse the files in that directory to help answer any questions.
1010

1111
<Alert >
1212

13-
DO NOT change the common content. That change will ripple across all SDKs that rely on the common content. Instead, open an issue on GitHub with questions/suggestions.
13+
DO NOT change the common content. That change will ripple across all SDKs that rely on the common content. Instead, open an issue on GitHub with questions/suggestions.
1414

1515
</Alert >
1616

@@ -20,27 +20,27 @@ Most of these pages are pretty self-evident, so only basic information is provid
2020

2121
Determine if the page applies:
2222

23-
- If the content *does not apply*, add the SDK to `notSupported` list in the frontmatter of the file. This will turn off the display of the content for this SDK.
24-
- If the content *does apply*, add the `include` file to the correct directory as noted for each page. If the code sample is not provided, the page will display a big gray box requesting that customers open an issue for the missing sample.
23+
- If the content _does not apply_, add the SDK to `notSupported` list in the frontmatter of the file. This will turn off the display of the content for this SDK.
24+
- If the content _does apply_, add the `include` file to the correct directory as noted for each page. If the code sample is not provided, the page will display a big gray box requesting that customers open an issue for the missing sample.
2525

2626
### Basic Options
2727

28-
This file is `options.mdx`. It explains all the configuration options. And by that, we do mean *all*. It is the trickiest file to manage, because it uses a variety of techniques to determine whether to display the content.
28+
This file is `options.mdx`. It explains all the configuration options. And by that, we do mean _all_. It is the trickiest file to manage, because it uses a variety of techniques to determine whether to display the content.
2929

3030
To develop content for this file:
3131

3232
1. Create the `configuration/config-intro/` statement, which covers how options can be set.
3333
2. For individual options that the SDK does NOT support, add the name of the SDK to the `ConfigKey` statement for that option. This will prevent that option from displaying for this SDK. For example:
3434

35-
`<ConfigKey name="debug" notSupported={["php"]}>`
35+
`<ConfigKey name="debug" notSupported={["php"]}>`
3636

37-
Alternately, for individual options that the SDK DOES support, add the name of the SDK to `ConfigKey` statement for that option, which ensures the option displays. For example:
37+
Alternately, for individual options that the SDK DOES support, add the name of the SDK to `ConfigKey` statement for that option, which ensures the option displays. For example:
3838

39-
`<ConfigKey name="send-default-pii" supported={["dotnet", "javascript", "node", "react-native", "python", "java", "php", "rust"]}>`
39+
`<ConfigKey name="send-default-pii" supported={["dotnet", "javascript", "node", "react-native", "python", "java", "php", "rust"]}>`
4040

4141
3. For a grouping of options that the SDK DOES support, add the name of the SDK to the `PlatformSection` statement for those options, which ensures the option displays. For example:
4242

43-
`<PlatformSection supported={["javascript", "python", "node"]}>`
43+
`<PlatformSection supported={["javascript", "python", "node"]}>`
4444

4545
### Releases & Health
4646

@@ -51,9 +51,9 @@ This file is `releases.mdx`. It explains how to configure the SDK to tell Sentry
5151
A few nuances:
5252

5353
- If adding an SDK related to JavaScript, update the source maps-related paragraph, as appropriate, in the `PlatformSection supported` statement.
54-
- For SDKs that support Release Health, we control the display of content with a `PlatformSection supported` statement. For these SDKs, provide the following code samples:
55-
- Session tracking, stored in `/src/includes/configuration/session-tracking-interval`
56-
- Opt out of auto session tracking, stored in `/src/includes/configuration/auto-session-tracking`
54+
- For SDKs that support release health, we control the display of content with a `PlatformSection supported` statement. For these SDKs, provide the following code samples:
55+
- Session tracking, stored in `/src/includes/configuration/session-tracking-interval`
56+
- Opt out of auto session tracking, stored in `/src/includes/configuration/auto-session-tracking`
5757

5858
### Environments
5959

src/docs/contributing/approach/sdk-docs/write-data-management.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This file is `/sensitive-data/index.mdx`. It explains how to scrub or filter dat
3030

3131
For data scrubbing that the SDK DOES NOT support, add the name of the SDK to the `PlatformSection notSupported` statement, which ensures the content won't display. For example:
3232

33-
`<PlatformSection notSupported={["flutter", "apple", "perl", "native.breakpad", "native.crashpad", "native.minidumps", "native.wasm", "native.ue4", "go", "ruby", "native", "elixir"]}>`
33+
`<PlatformSection notSupported={["flutter", "apple", "perl", "native.breakpad", "native.crashpad", "native.minidumps", "native.wasm", "unreal", "go", "ruby", "native", "elixir"]}>`
3434

3535
Add the code sample to these directories:
3636

src/docs/contributing/platforms/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ If you wanted to make hide the content for a platform by default, but enable it
110110

111111
```markdown
112112
---
113-
supported:
114-
- native.ue4
113+
supported:
114+
- native.wasm
115115
notSupported:
116116
- native
117117
---

src/docs/product/accounts/pricing.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,8 @@ You can set a maximum monthly on-demand invoice amount by setting an on-demand b
4646

4747
<Note>
4848

49-
Per-category on-demand budgets are rolling out for general availability (GA) to paying customers on plans with [performance monitoring](/product/performance/) features.
49+
Per-category on-demand budgets are available to paying customers on plans with [performance monitoring](/product/performance/) features.
5050

51-
Until the GA rollout is complete, the feature is still available for organizations on paid performance plans in the Early Adopter program. If you opt out of the Early Adopter program while on the per-category on-demand budget strategy, you'll retain the per-category budgets you've set and the ability to update them. However, if you switch to the shared on-demand budget strategy, you won't be able to switch back unless you opt in to the Early Adopter program again.
5251
Customers on plans without performance monitoring can only use the shared on-demand budget strategy.
5352

5453
</Note>

src/docs/product/accounts/quotas/manage-event-stream-guide.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ To review the error events dropped because of spike protection, go to **Settings
152152

153153
Learn more about [how spike protection works](/product/accounts/quotas/#spike-protection).
154154

155-
## 6. Event Usage Stats {#common-workflows-for-managing-your-event-stream}
155+
## 8. Event Usage Stats {#common-workflows-for-managing-your-event-stream}
156156

157157
Once you've completed the steps above, you can look at your events in aggregate in the "Usage Stats" tab of **Stats**. This information will help you answer some key questions like:
158158

src/docs/product/alerts/best-practices.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ These routing best practices ensure that you alert the right people about a prob
5555
- Medium priority: Notification (for example, Slack)
5656
- Low priority: Email
5757
- **Review List**: Found in the "For Review" tab of **Issues**, the [**Review List**](/product/issues/states-triage/#mark-reviewed) is where you can check on your lowest priority issues without receiving any alerts.
58-
- **Build an integration**: If you would like to route alert notifications to solutions with which Sentry doesn't yet have an out-of-the-box integration, you can use our [Integration Platform](/product/integrations/integration-platform/). When you create an integration, it will be available in the alert actions menu. You might want use your own integration for:
58+
- **Build an integration**: If you would like to route alert notifications to solutions with which Sentry doesn't yet have an out-of-the-box integration, you can use our [integration platform](/product/integrations/integration-platform/). When you create an integration, it will be available in the alert actions menu. You might want use your own integration for:
5959
- Sending alerts to integrations not supported natively
6060
- Aggregating alerts from your different monitoring systems
6161
- Writing custom rules in the webhook handler to route alerts more intelligently

src/docs/product/alerts/create-alerts/issue-alert-config.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Learn more about and <PlatformLink to="/enriching-events/tags/">tags</PlatformLi
8585
- Send a [PagerDuty](/product/integrations/notification-incidents/pagerduty/) notification
8686
- Send a [Microsoft Teams](/product/integrations/notification-incidents/msteams/) notification
8787
- Send a notification to all legacy integrations.
88-
- Send a notification using an [integration](/product/integrations/) built on the [Integration Platform](/product/integrations/integration-platform/)
88+
- Send a notification using an [integration](/product/integrations/) built on the [integration platform](/product/integrations/integration-platform/)
8989
- Create an issue for an [integration](/product/integrations/), which includes:
9090
- [Jira](/product/integrations/issue-tracking/jira/)
9191
- [Azure DevOps](/product/integrations/source-code-mgmt/azure-devops)

src/docs/product/alerts/create-alerts/metric-alert-config.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Actions define how you and your team will be alerted:
102102
- Send a [Slack](/product/integrations/notification-incidents/slack/) notification.
103103
- Trigger a [PagerDuty](/product/integrations/notification-incidents/pagerduty/) incident.
104104
- Send a [Microsoft Teams](/product/integrations/notification-incidents/msteams/) notification.
105-
- Send a request using [internal integrations](/product/integrations/integration-platform/#internal-integrations).
105+
- Send a request using [Sentry integrations](/product/integrations/integration-platform/).
106106

107107
Learn more about [routing alerts with integrations](/product/alerts/create-alerts/routing-alerts/).
108108

src/docs/product/alerts/create-alerts/routing-alerts.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Alert Routing With Integrations
33
sidebar_order: 30
44
redirect_from:
5-
- /product/sentry-basics/guides/alert-notifications/routing-alerts/
5+
- /product/sentry-basics/guides/alert-notifications/routing-alerts/
66
description: "Learn more about routing alerts using Sentry integrations."
77
---
88

@@ -32,7 +32,7 @@ A Sentry organization owner, manager, or admin can install and configure the [Mi
3232

3333
## Build Your Own Integration
3434

35-
If you would like to route alert notifications to other solutions that Sentry doesn't have an out-of-the-box integration with, you can use our [Integration Platform](/product/integrations/integration-platform/). The Integration Platform provides a way for external services to interact with the Sentry SaaS service using the REST API and webhooks.
35+
If you would like to route alert notifications to other solutions that Sentry doesn't have an out-of-the-box integration with, you can use our [integration platform](/product/integrations/integration-platform/). The integration platform provides a way for external services to interact with the Sentry SaaS service using the REST API and webhooks.
3636

3737
Sending alerts to webhooks can also be helpful if you want to do things like aggregate alerts from your different monitoring systems or write custom rules to route alerts more intelligently.
3838

src/docs/product/cli/installation.mdx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ If you are on OS X or Linux, you can use the automated downloader which will fet
2020
curl -sL https://sentry.io/get-cli/ | bash
2121
```
2222

23+
We do however, encourage you to pin the specific version of the CLI, so your builds are always reproducible.
24+
To do that, you can use the exact same method, with an additional version specifier:
25+
26+
```bash
27+
curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="{{ apps.version('sentry-cli') }}" bash
28+
```
29+
2330
This will automatically download the correct version of `sentry-cli` for your operating system and install it. If necessary, it will prompt for your admin password for `sudo`. For a different installation location or for systems without `sudo` (like Windows), you can `export INSTALL_DIR=/custom/installation/path` before running this command.
2431

2532
To verify it’s installed correctly you can bring up the help:
@@ -102,7 +109,6 @@ Options listed below control how `sentry-cli` install script behaves, when insta
102109

103110
: If set, the script will change where it writes its output. Possible values are `stdout` and `stderr`. Defaults to `stdout`.
104111

105-
106112
## Installation via Homebrew
107113

108114
If you are on OS X, you can install `sentry-cli` via homebrew:
@@ -139,3 +145,6 @@ When downloading an executable from a remote server, it's often a good practice
139145
Below is the table of SHA256 checksums for all available build targets that our CLI supports. To calculate the hash of a downloaded file, you can use `sha256sum` utility, which is preinstalled in OSX and most Linux distributions.
140146

141147
<CliChecksumTable />
148+
149+
If you would like to verify checksums for historic versions of the `sentry-cli`, please refer to our release registry directly, which can be found at [https://release-registry.services.sentry.io/apps/sentry-cli/{version}](https://release-registry.services.sentry.io/apps/sentry-cli/latest).
150+
For example, [https://release-registry.services.sentry.io/apps/sentry-cli/1.74.4](https://release-registry.services.sentry.io/apps/sentry-cli/1.74.4).

src/docs/product/discover-queries/query-builder.mdx

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ From the **Discover** page, you can build a query in three ways.
2424

2525
There are four main building blocks that impact the results of your saved query. You can use a combination of these to narrow down your search.
2626

27-
1. Proejct, environment, and date range filters
27+
1. Project, environment, and date range filters
2828
2. Search Conditions
2929
3. Interactive Graph
3030
4. Table Columns
@@ -35,11 +35,11 @@ These common filters allow you to filter on your projects and environments, as w
3535

3636
## Filter by Search Conditions
3737

38-
All events have built-in key fields or custom tags. Use the search bar to enter these keys and assign them values. This will filter down your list of events. Here are the built-in key fields.
38+
All events have built-in key fields or custom tags. Use the search bar to enter these keys and assign them values. This will filter down your list of events. For a list of the built-in key fields, check out our [Searchable Properties documentation](/product/sentry-basics/search/searchable-properties/).
3939

40-
import standardFields from "./standard-fields.json";
40+
<!--import standardFields from "./standard-fields.json";
4141

42-
<ParamTable fields={standardFields} />
42+
<ParamTable fields={standardFields} /> -->
4343

4444
### Syntax
4545

@@ -99,12 +99,28 @@ Above the table, click "Columns" to open the modal that shows you a list of all
9999

100100
You can also add any of the following functions as columns to stack events:
101101

102+
- `any(...)`
103+
- `apdex(...)`
102104
- `avg(...)`
103-
- `count(...)`
105+
- `count()`
106+
- `count_if(...)`
107+
- `count_miserable(...)`
104108
- `count_unique(...)`
109+
- `epm()`
110+
- `eps()`
111+
- `failure_count()`
112+
- `failure_rate()`
113+
- `last_seen()`
105114
- `max(...)`
106115
- `min(...)`
116+
- `percentile(...)`
117+
- `p50(...)`
118+
- `p75(...)`
119+
- `p95(...)`
120+
- `p99(...)`
121+
- `p100(...)`
107122
- `sum(...)`
123+
- `user_misery(...)`
108124

109125
Each function will ask you to assign a parameter. Some are required while others are optional. Functions will stack events based on the same values. If no functions are applied, the events in your "Query Results" table will remain individually listed. Once you are done editing the columns, click "Apply" and results will be reflected in the query results. Keep in mind, the table may horizontally scroll if many columns are added.
110126

src/docs/product/integrations/debugging/rookout/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ description: "Learn more about Sentry's Rookout integration and how it adds a la
1010

1111
Rookout adds a layer of depth to Sentry issues by allowing you to jump right from an Issue to a non-breaking breakpoint on the line that caused the error.
1212

13-
This integration needs to set up only once per organization, then it is available for _all_ projects. It is maintained and supported by the company that created it. For more details, see [Integration Platform](/product/integrations/integration-platform/).
13+
This integration is maintained and supported by the company that created it. For more details, check out our [Integration Platform documentation](/product/integrations/integration-platform/).
1414

1515
## Install and Configure
1616

0 commit comments

Comments
 (0)