Skip to content

Commit

Permalink
Merge remote-tracking branch 'github.com/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
tustanivsky committed Dec 6, 2023
2 parents d111a85 + 6e30c97 commit fc3be45
Show file tree
Hide file tree
Showing 147 changed files with 2,456 additions and 302 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Dependency Review
uses: actions/dependency-review-action@7bbfa034e752445ea40215fff1c3bf9597993d3f # v3.1.3
uses: actions/dependency-review-action@01bc87099ba56df1e897b6874784491ea6309bc4 # v3.1.4
with:
# Possible values: "critical", "high", "moderate", "low"
fail-on-severity: high
9 changes: 5 additions & 4 deletions src/components/banner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ import React, {useEffect, useState} from 'react';
// This is a lazy way of doing things but will work until
// we put a more robust solution in place.
//
const SHOW_BANNER = false;
const SHOW_BANNER = true;
const BANNER_TEXT =
'Discover all our latest product releases during Sentry Launch Week, coming Nov 13-17.';
const BANNER_LINK_URL = 'https://sentry.io/events/launch-week/';
const BANNER_LINK_TEXT = 'Tune In Daily';
'Join our live workshop: Improve Web Browser Performance - Identify and Fix Javascript Slowdowns on Dec. 14th.';
const BANNER_LINK_URL =
'https://sentry.io/resources/improve-web-browser-performance-find-the-javascript-code-causing-slowdowns/?promo_name=from-docs';
const BANNER_LINK_TEXT = 'Sign up.';
const OPTIONAL_BANNER_IMAGE = null;

//
Expand Down
8 changes: 8 additions & 0 deletions src/components/platformSidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ export function SidebarContent({platform, guide, data}: ChildProps) {
`/${pathRoot}/profiling/`,
`/${pathRoot}/guides/`,
`/${pathRoot}/crons/`,
`/${pathRoot}/user-feedback/`,
]}
/>
<DynamicNav
Expand Down Expand Up @@ -104,6 +105,13 @@ export function SidebarContent({platform, guide, data}: ChildProps) {
suppressMissing
tree={tree}
/>
<DynamicNav
root={`/${pathRoot}/user-feedback`}
title="User Feedback"
prependLinks={[[`/${pathRoot}/user-feedback/`, 'Set Up User Feedback']]}
suppressMissing
tree={tree}
/>
</ul>
);
}
Expand Down
38 changes: 35 additions & 3 deletions src/data/relay_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@
{
"type": "Histogram",
"name": "metrics.buckets.batches_per_partition",
"description": "The number of batches emitted per partition by [`crate::aggregator::Aggregator`].\n\nThis metric is tagged with:\n- `aggregator`: The name of the metrics aggregator (usually `\"default\"`).",
"description": "The number of batches emitted per partition.",
"features": []
},
{
Expand Down Expand Up @@ -284,13 +284,13 @@
{
"type": "Histogram",
"name": "metrics.buckets.partition_keys",
"description": "Distribution of flush buckets over partition keys.\n\nThe distribution of buckets should be even.\nIf it is not, this metric should expose it.\n\nThis metric is tagged with:\n- `aggregator`: The name of the metrics aggregator (usually `\"default\"`).",
"description": "Distribution of flush buckets over partition keys.\n\nThe distribution of buckets should be even.\nIf it is not, this metric should expose it.",
"features": []
},
{
"type": "Histogram",
"name": "metrics.buckets.per_batch",
"description": "The number of buckets in a batch emitted by [`crate::aggregator::Aggregator`].\n\nThis corresponds to the number of buckets that will end up in an envelope.\n\nThis metric is tagged with:\n- `aggregator`: The name of the metrics aggregator (usually `\"default\"`).",
"description": "The number of buckets in a batch emitted.\n\nThis corresponds to the number of buckets that will end up in an envelope.",
"features": []
},
{
Expand All @@ -305,6 +305,32 @@
"description": "The average number of elements in a bucket when flushed.\n\nThis metric is tagged with:\n- `metric_type`: \"c\", \"d\", \"g\" or \"s\".\n- `namespace`: The namespace of the metric.",
"features": []
},
{
"type": "Counter",
"name": "metrics.meta.agg.items",
"description": "Incremnted for every metric meta item added to the metric meta aggregator.",
"features": []
},
{
"type": "Counter",
"name": "metrics.meta.agg.update",
"description": "Incremented every time the meta aggregator emitted an update that needs to be stored or\nsent upstream.",
"features": []
},
{
"type": "Counter",
"name": "metrics.meta.parsing_failed",
"description": "Number of times that parsing a metric meta item from an envelope failed.",
"features": []
},
{
"type": "Counter",
"name": "metrics.meta.redis.update",
"description": "Incremented every time a redis key is updated to store or update metadata.",
"features": [
"redis"
]
},
{
"type": "Counter",
"name": "metrics.transaction_name",
Expand Down Expand Up @@ -381,6 +407,12 @@
"description": "Total time in milliseconds spent evicting outdated and unused projects happens.",
"features": []
},
{
"type": "Counter",
"name": "project_state.flush_all_metric_meta",
"description": "Number of full metric data flushes.\n\nA full flush takes all contained items of the aggregator and flushes them upstream,\nat best this happens once per freshly loaded project.",
"features": []
},
{
"type": "Counter",
"name": "project_state.get",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@ One nuance:
This file is `user-feedback.mdx`. It explains how to use the embeddable JS widget or the API.

- Update, as appropriate, the supported SDK list in the `PlatformSection supported` that precedes "User Feedback API".
Then add the code sample to the `src/platform-includes/enriching-events/user-feedback/sdk-api-example` directory
Then add the code sample to the `src/platform-includes/user-feedback/sdk-api-example` directory
- For the .NET family, if the User Feedback API has a specific integration, add it to the `PlatformSection supported` that precedes the "Use the .NET SDK", and add the appropriate link.
- Update, as appropriate, the SDKs that don't support the JS widget in the listed `PlatformSection notSupported` that precedes "Embeddeable JavaScript Widget".
- For the SDKs that use the JS widget, add the code sample to`/src/platform-includes/enriching-events/user-feedback/user-feedback-example-widget/`
- For the SDKs that use the JS widget, add the code sample to`/src/platform-includes/user-feedback/user-feedback-example-widget/`

### Scopes

Expand Down
2 changes: 1 addition & 1 deletion src/docs/product/alerts/notifications/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Sentry sends workflow notifications to let you know about [issue state](/product
- **Regressions**: A regression happens when the state of an issue changes from Resolved back to Unresolved. An email is sent to all project team members.
- **Comments**: When a team member adds a new comment in the “Activity” tab of the detail page for the issue.
- **Assignment**: When an issue is assigned or unassigned.
- **User Feedback**: When an issue has new <PlatformLink to="/enriching-events/user-feedback/">user feedback</PlatformLink>.
- **User Feedback**: When an issue has new <PlatformLink to="/user-feedback/">user feedback</PlatformLink>.
- **Event Processing Problems**: When there's a problem with processing error events you've sent to Sentry.

You receive workflow notifications when you subscribe to an issue in one of the following ways by:
Expand Down
2 changes: 1 addition & 1 deletion src/docs/product/cli/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ The following options exist to change the behavior of the upload command:

`--dist`

: Sets the distribution identifier for uploaded files. This identifier is used to make a distinction between multiple files of the same name within a single release. `dist` can be used to disambiguate build or deployment variants. For example, `dist` can be the build number of an XCode build or the version code of an Android build.
: Sets the distribution identifier for uploaded files. This identifier is used to make a distinction between multiple files of the same name within a single release. `dist` can be used to disambiguate build or deployment variants. For example, `dist` can be the build number of an Xcode build or the version code of an Android build.

`--no-sourcemap-reference`

Expand Down
37 changes: 36 additions & 1 deletion src/docs/product/crons/getting-started/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Sentry Crons allows you to monitor the uptime and performance of any scheduled,
To begin monitoring your recurring, scheduled job:

- [Install](/product/cli/installation) the Sentry CLI (min v2.16.1).
- [Create and configure](https://sentry.io/crons/create/) your first Monitor.
- Create and configure your first Monitor in [Sentry](https://sentry.io/crons/create/) or [via the CLI](#creating-or-updating-a-monitor-through-a-check-in-optional).

## Configuration

Expand Down Expand Up @@ -59,6 +59,41 @@ sentry-cli monitors run my-monitor-slug -- python path/to/file.py
sentry-cli monitors run my-monitor-slug -- node path/to/file.js
```

### Creating or Updating a Monitor Through a Check-In (Optional)

You can also use the Sentry CLI to create or update your cron monitor when you run your job. This way, you can avoid having to first set up the monitor through the Sentry web interface.

Configure the cron monitor by providing the cron schdule in crontab format using the `--schedule` or the equivalent `-s` argument when executing the `sentry cli monitors run` command. Please make sure to enclose the schedule in quotes, so that your shell parses the argument correctly, like so:

```bash
sentry-cli monitors run --schedule "<expected schedule>" <monitor-slug> -- <command> <args>
```

When providing the `--schedule` argument, we also support the following optional arguments to provide additional configuration:

- `--check-in-margin`: The allowed margin of minutes after the expected check-in time that the monitor will not be considered missed for.
- `--max-runtime`: The allowed duration in minutes that the monitor may be in progress for before being considered failed due to timeout.
- `--timezone`: A valid [tz database identifier string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) (e.g. "Europe/Vienna") representing the monitor's execution schedule's timezone.

<Alert>

**Known limitation**: When an invalid `--timezone` argument is provided, the command will silently fail to create/update the cron monitor. Therefore, when using this argument, please:

- Ensure you are using a valid tz database identifier string when using this argument, and
- Verify that the cron monitor was created successfully in Sentry after running the command.

</Alert>

Below are some usage examples:

```bash {tabTitle: Every Minute}
sentry-cli monitors run -s "* * * * *" -- my-command
```

```bash {tabTitle: Every Hour (+ Optional Arguments)}
sentry-cli monitors run -s "0 * * * *" --check-in-margin 10 --max-runtime 5 --timezone "Europe/Vienna" -- my-command
```

### Specifying Monitor Environments (Optional)

If your cron monitor runs in multiple environments you can use the `-e` flag to specify which [Monitor Environment](/product/crons/job-monitoring/#multiple-environments) to send check-ins to.
Expand Down
7 changes: 7 additions & 0 deletions src/docs/product/discover-queries/query-builder.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ Click on any of these sections to further refine your search. For example, click

![Facet map for transaction and handled tags. Map looks like a bar with gradient colors.](./discover-facet-map.png)

<Note>
When performing searches on transaction events, based on your search criteria
and sample rate, the events available may be limited because Discover uses
sampled data only. Learn more by reading about [retention
priorities](/product/performance/retention-priorities/).
</Note>

## Filter by Interactive Graph

Each query has a interactive graph that reflects the data presented in the table below. To zoom in, simply click and drag over the area you want to investigate. You can also customize the display and the Y-Axis. This will be saved with your query.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,10 @@ To create an issue alert that sends notifications to Discord, follow the steps b

5. Choose the Discord server and channel you'd like to send the alert to. You'll also have the option to specify any tags you'd like to include in the notification.

Note that the channel field must be filled in with a Discord channel ID, **_not_** a channel name. To get it, right click on your channel, select "Copy Link", then highlight the string of numbers at the end.
Note that the channel field must be filled in with a Discord channel ID or channel URL, **_not_** a channel name. To get the URL, right click on your channel, select "Copy Link".

![Discord Channel Link](discord-copy-channel-link.png)

For example, if the URL is `https://discord.com/channels/server-id/channel-id`, the ID is `channel-id`.

![Channel ID in Link](discord-link-channel-id.png)

6. Test your configuration by clicking "Send Test Notification". If the bot has access to the given channel, you should see an example notification there.

![Discord issue alert](discord-issue-alert.png)
Expand Down Expand Up @@ -119,10 +115,11 @@ To unlink your accounts, use the `/unlink` command. Follow the link and click "U

Here are some ideas to help with troubleshooting.

#### Your channel ID isn't working in the alert creation wizard
#### Your channel ID or URL isn't working in the alert creation wizard

If you're trying to create an alert with a Discord action and Sentry can't access the channel you've provided, please double-check the following:

- You're giving us a channel ID and not a channel name or something else. See [Configure](#configure) for more details.
- Your channel URL has no extra slashes.
- The channel you're trying to add is in the same server as the one selected in the alert action.
- The bot has access to the channel you're trying to use. A quick way to verify this is to check whether you can find the bot in the desired channel's member list. If you don't see the bot in the list of users, you may need to update your Discord role and/or channel permissions to allow the bot access. See [Install](#install) for more details.
2 changes: 1 addition & 1 deletion src/docs/product/issues/issue-details/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ If you’ve enabled [Session Replay](/product/session-replay/), you’ll see a r
This page displays the "Details" tab when it first opens, but several other tabs are available depending on issue category:

- **Activity** - A history of activity for the event where team members can share comments.
- **User Feedback** - Any feedback collected from users through the <PlatformLink to="/enriching-events/user-feedback/">SDK's user feedback</PlatformLink>.
- **User Feedback** - Any feedback collected from users through the <PlatformLink to="/user-feedback/">SDK's user feedback</PlatformLink>.
- **<PlatformLink to="/enriching-events/attachments/">Attachments</PlatformLink>** - Stored additional files, such as config, log or screenshot files that are related to the error event.
- **Tags** - More detailed information about the tags across all the events included in the issue.
- **All Events** - A list of all the error events included in the issue.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ Endpoint Regression issues are a generic class of problems where the duration of

The detector for performance issues periodically checks the 95th percentile transaction duration of the most common endpoints in your project. When a significant increase in the p95 value is detected and has been sustained for some time, a regression issue is created.

To be categorized as an endpoint, the transaction operation must be one of the following:

- `function.aws`
- `function.aws.lambda`
- `http.server`
- `serverless.function`
- `asgi.server`
- `rails.request`

## Regression Evidence

To find additional info, go to the Issues page and click on the Endpoint Regression issue you're interested in. In the top section of the "Details" tab, you'll find the following:
Expand Down
12 changes: 9 additions & 3 deletions src/docs/product/issues/suspect-commits/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: "Learn how integrations enable suspect commits."

<Include name="only-error-issues-note.mdx" />

Suspect commits show you the most recent commit to the code in the first frame of your stack trace. In the suspect commit information, we include the author of the commit and the pull request in which the commit was made.
Suspect commits show you the most recent commit to the code in your stack trace. In the suspect commit information, we include the author of the commit and the pull request in which the commit was made.

When you've enabled suspect commits, we can tie together issues with the commits made in your code repository, including the following information:

Expand All @@ -33,7 +33,7 @@ Suspect commits and suggested assignees are then displayed on the **Issue Detail

## Enable Suspect Commits

In order to see suspect commits, you have to first upload source maps, (or your platform-specific files for mapping transformed source code to the original source). Check out the docs for your [specific platform](/platforms/)) to learn more. Note, that Sentry may not display suspect commits that were committed prior to your integration being set up.
In order to see suspect commits, you have to first upload source maps, (or your platform-specific files for mapping transformed source code to the original source). Check out the docs for your [specific platform](/platforms/)) to learn more. Be aware that Sentry will not display suspect commits for issues that were created prior to your integration being set up.

### 1. Connect a Repository Using Integrations

Expand Down Expand Up @@ -115,6 +115,10 @@ Follow along with the animated gif below to see how to integrate your GitHub acc
></iframe>
</div>

## How It Works

When you have a GitHub/GitLab integration and valid code mappings, Sentry will look at the stack trace of an issue and collect all in-app frames. For each in-app frame, Sentry checks the blame info for the exact file and line number. If the most recent commit is less than 1 year old, we consider it a suspect commit.

## Suspect Commits Without Integrations

You can send us your commit data [manually](/product/releases/associate-commits/) if:
Expand All @@ -123,15 +127,17 @@ You can send us your commit data [manually](/product/releases/associate-commits/
- Your organization doesn't have a GitHub or Gitlab integration.
- Your integration has gotten disconnected.

Sentry will attempt to find suspect commits via your GitHub or Gitlab integration by default. If this fails and you've set up the manual process, Sentry will fall back to using the release commit data to find suspect commits.
Sentry will attempt to find suspect commits via your GitHub or GitLab integration by default. If this fails and you've set up the manual process, Sentry will fall back to using the release commit data to find suspect commits.

## Missing Suspect Commits

There are a few reasons why an issue might not have suspect commits:

- The issue doesn't have a stack trace or doesn't have any in-app frames.
- The stack trace doesn't have any in-app frames that match the code mappings.
- The stack trace doesn't have any in-app frames with recent commits (less than 1 year old).
- The code mappings for the project are incorrect.
- The issue was created prior to the integration being set up.

## Limitations

Expand Down
2 changes: 1 addition & 1 deletion src/docs/product/performance/mobile-vitals.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ While Sentry automatically tracks TTID, [TTFD](#time-to-initial-display-and-time

**For iOS:**

- `>=3.13` for UIViewController transactions
- `>=7.12.0` for UIViewController transactions
- `>=8.4.0` for TTID+TTFD, (released April, 2023)

By default, the **Mobile** page displays metrics for the two releases with the highest screen counts for the time range you’ve selected. To choose a different set of releases to compare, use the “release selector” at the top of the page.
Expand Down
Loading

0 comments on commit fc3be45

Please sign in to comment.