Skip to content

Commit ac250c5

Browse files
authored
Merge branch 'master' into aliu/unleash
2 parents 64ccd98 + 5f28814 commit ac250c5

File tree

35 files changed

+188
-943
lines changed

35 files changed

+188
-943
lines changed

develop-docs/self-hosted/troubleshooting.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ docker compose run --rm -T postgres bash -c "apt update && apt install -y --no-i
163163

164164
If the script above still does not clear up enough disk space, you can try the following in Postgres. This will lead to data loss in event details. _SENTRY_RETENTION_DAYS_ will need to be filled in manually.
165165
```sql
166-
DELETE FROM public.nodestore_node WHERE "timestamp" < NOW() - INTERVAL '[SENTRY_RETENTION_DAYS]';
166+
DELETE FROM public.nodestore_node WHERE "timestamp" < NOW() - INTERVAL '[SENTRY_RETENTION_DAYS] DAY';
167167
VACUUM FULL public.nodestore_node;
168168
```
169169

docs/platforms/java/common/configuration/options.mdx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,14 @@ _(New in version 6.0.0)_
162162

163163
</ConfigKey>
164164

165+
<ConfigKey name="enable-backpressure-handling">
166+
167+
Set this boolean to `false` to disable automatic downsampling of transactions while the system is under load. The `tracesSampleRate` is halved for every failing health check up to 10 times, (roughly 0.001% of the original `tracesSampleRate`). Any positive health check will reset `tracesSampleRate` to its original value. Health checks run in the background every 10 seconds, checking for queue drops and rate limiting. Note: Starting with version 7.8.0 backpressure handling has changed from opt-in to opt-out.
168+
169+
_(New in version 7.1.0)_
170+
171+
</ConfigKey>
172+
165173
## Integration Configuration
166174

167175
For many platform SDKs integrations can be configured alongside it. On some platforms that happen as part of the `init()` call, in some others, different patterns apply.

docs/platforms/java/common/configuration/sampling.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ We recommend sampling your transactions for two reasons:
2929

3030
Choose a sampling rate with the goal of finding a balance between performance and volume concerns with data accuracy. You don't want to collect _too_ much data, but you want to collect sufficient data from which to draw meaningful conclusions. If you’re not sure what rate to choose, start with a low value and gradually increase it as you learn more about your traffic patterns and volume.
3131

32+
As of version 7.8.0 of the Java SDK Sentry will automatically downsample while the system is under load. Take a look at <PlatformLink to="/configuration/options/#enable-backpressure-handling"><PlatformIdentifier name="enable-backpressure-handling" /></PlatformLink> for more details or if you would like to opt out of this behaviour.
33+
3234
## Configuring the Transaction Sample Rate
3335

3436
The Sentry SDKs have two configuration options to control the volume of transactions sent to Sentry, allowing you to take a representative sample:

docs/platforms/javascript/common/configuration/integrations/browserprofiling.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: BrowserProfiling
33
description: "Capture profiling data for the Browser."
44
notSupported:
55
- javascript.cordova
6+
- javascript.capacitor
67
- javascript.node
78
- javascript.aws-lambda
89
- javascript.azure-functions

docs/platforms/javascript/common/configuration/integrations/featureflags.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ If you are using an external feature flag provider, refer to the [supported list
3737

3838
The Feature Flags integration allows you to manually track feature flag evaluations through an API.
3939
These evaluations are held in memory and sent to Sentry when an error occurs.
40-
**At the moment, we only support boolean flag evaluations.**
40+
**At the moment, we only support boolean flag evaluations.** This integration is available in
41+
Sentry SDK **versions 8.43.0 or higher.**
4142

4243
_Import names: `Sentry.featureFlagsIntegration` and `type Sentry.FeatureFlagsIntegration`_
4344

docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ This integration only works inside a browser environment. It is only available f
2929

3030
</Alert>
3131

32-
The [LaunchDarkly](https://launchdarkly.com/) integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.**
32+
The [LaunchDarkly](https://launchdarkly.com/) integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.** This integration is available in
33+
Sentry SDK **versions 8.43.0 or higher.**
3334

3435
_Import names: `Sentry.launchDarklyIntegration` and `Sentry.buildLaunchDarklyFlagUsedHandler`_
3536

docs/platforms/javascript/common/configuration/integrations/openfeature.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ This integration only works inside a browser environment. It is only available f
2929

3030
</Alert>
3131

32-
The [OpenFeature](https://openfeature.dev/) integration tracks feature flag evaluations produced by the OpenFeature SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.**
32+
The [OpenFeature](https://openfeature.dev/) integration tracks feature flag evaluations produced by the OpenFeature SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.** This integration is available in
33+
Sentry SDK **versions 8.43.0 or higher.**
3334

3435
_Import name: `Sentry.openFeatureIntegration` and `Sentry.OpenFeatureIntegrationHook`_
3536

docs/platforms/javascript/common/feature-flags/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ description: With Feature Flags, Sentry tracks feature flag evaluations in your
2626

2727
## Prerequisites
2828

29-
* You have the <PlatformLink to="/">JavaScript SDK installed</PlatformLink> (version 8.43.0 or higher).
29+
* You have the <PlatformLink to="/">JavaScript SDK installed</PlatformLink>.
3030

3131
## Enable Evaluation Tracking
3232

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
title: Browser Profiling
3+
sidebar_order: 5000
4+
supported:
5+
- javascript
6+
notSupported:
7+
- javascript.bun
8+
- javascript.cordova
9+
- javascript.capacitor
10+
- javascript.deno
11+
- javascript.cloudflare
12+
- javascript.node
13+
- javascript.aws-lambda
14+
- javascript.azure-functions
15+
- javascript.connect
16+
- javascript.express
17+
- javascript.fastify
18+
- javascript.gcp-functions
19+
- javascript.hapi
20+
- javascript.koa
21+
- javascript.nestjs
22+
description: "Collect & view performance insights for JavaScript programs with Sentry's JavaScript Profiling integration."
23+
---
24+
25+
<Note>
26+
27+
Browser Profiling is currently in beta. Beta features are still in progress and may have bugs. We recognize the irony.
28+
29+
</Note>
30+
31+
The browser profiling integration is built using the [JS Self-Profiling API](https://wicg.github.io/js-self-profiling/) and will likely only move out of beta once the specification progresses and gains adoption. See [platform status](https://chromestatus.com/feature/5170190448852992).
32+
33+
Note that since the profiling API is currently only exposed in Chromium, profiles collected only include that demographic. We hope that as the API gains adoption, other browsers will implement it as well.
34+
35+
<PlatformContent includePath="profiling/index/why-profiling" />
36+
37+
## Prerequisites
38+
39+
To get started with JavaScript browser profiling, you'll need to:
40+
41+
- Install the <PlatformSdkPackageName fallback="@sentry/browser"/> SDK, minimum version 7.60.0
42+
- Configure the document response header to include `Document-Policy: js-profiling`
43+
- Configure the SDK to use the `BrowserProfilingIntegration` and set `profilesSampleRate`
44+
45+
## Step 1: Install the <PlatformOrGuideName/> SDK
46+
47+
<PlatformSection notSupported={["javascript.electron"]}>
48+
49+
Install our <PlatformOrGuideName/> SDK using either `yarn` or `npm`, the minimum version that supports profiling is **7.60.0**.
50+
51+
</PlatformSection>
52+
53+
<PlatformSection supported={["javascript.electron"]}>
54+
55+
Install our Electron SDK using either `yarn` or `npm`, the minimum version that supports profiling is **4.16.0**.
56+
57+
</PlatformSection>
58+
59+
<PlatformContent includePath="profiling/automatic-instrumentation-intro" />
60+
61+
## Step 2: Add Document-Policy: js-profiling header
62+
63+
For the JavaScript browser profiler to start, the document response header needs to include a `Document-Policy` header key with the `js-profiling` value.
64+
65+
<PlatformContent includePath="profiling/automatic-instrumentation-headers" />
66+
67+
## Step 3: Configure the <PlatformOrGuideName/> SDK
68+
69+
Configuration should happen as early as possible in your application's lifecycle. Once this is done, Sentry's JavaScript SDK will capture all unhandled exceptions and transactions.
70+
71+
<PlatformContent includePath="profiling/automatic-instrumentation-setup" />
72+
73+
## The Difference Between DevTools & Sentry's JavaScript Browser Profiler
74+
75+
What does Sentry's JavaScript browser profile offer that Chrome DevTools does not?
76+
77+
- Sentry's JavaScript profiler runs in production and captures real user data, showing real-world performance. DevTools runs locally and only shows profiles of what's running on your machine.
78+
- Sentry runs at a lower sampling rate of 100Hz with a 10ms sample period versus a sampling rate of 1000Hz and a 1ms sample period for DevTools.
79+
- Sentry supports deobfuscation, making it so that all the function names in your code are correct. Typically, when you run JavaScript code, it's minified, meaning that all the function names are replaced with machine-generated abbreviations.
80+
81+
Please note, that since the browser profiling API is currently only implemented in Chromium-based browsers, the profiles collected with Sentry's JavaScript browser profiling will inherently be biased toward that demographic. This is something that you'll need to consider if you're basing your decisions on the data collected.
82+
83+
We hope that as the Javascript browser profiling API gains adoption, other browsers will implement it as well. If you find the browser profiling feature helpful and would like to see it gain further adoption, please consider supporting the spec at the official WICG repository.
Lines changed: 3 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,13 @@
11
---
22
title: Set Up Profiling
33
sidebar_order: 5000
4-
supported:
5-
- javascript
4+
description: "Collect & view performance insights for JavaScript programs with Sentry's Profiling integrations. Get started with browser and Node.js profiling to understand your application's performance."
65
notSupported:
76
- javascript.bun
87
- javascript.cordova
8+
- javascript.capacitor
99
- javascript.deno
1010
- javascript.cloudflare
11-
description: "Collect & view performance insights for JavaScript programs with Sentry’s JavaScript Profiling integration. Get started with browser profiling here."
1211
---
1312

14-
<Note>
15-
16-
Browser Profiling is currently in beta. Beta features are still in progress and may have bugs. We recognize the irony.
17-
18-
</Note>
19-
20-
The browser profiling integration is built using [JS Self-Profiling API](https://wicg.github.io/js-self-profiling/) and will likely only move out of beta once the specification progresses and gains adoption. See platform [status](https://chromestatus.com/feature/5170190448852992).
21-
22-
Note that since the profiling API is currently only exposed in Chromium, profiles collected only include that demographic. This is obvious, but should not be forgotten when analyzing the data collected. We hope that as the API gains adoption, other browsers will implement it as well.
23-
24-
<PlatformContent includePath="profiling/index/why-profiling" />
25-
26-
## Prerequisites
27-
28-
To get started with JavaScript browser profiling, you'll need to:
29-
30-
- Install the <PlatformSdkPackageName fallback="@sentry/browser"/> SDK, minimum version 7.60.0
31-
- Configure the document response header to include `Document-Policy: js-profiling`
32-
- Configure the SDK to use the `BrowserProfilingIntegration` and set `profilesSampleRate`
33-
34-
## Step 1: Install the <PlatformOrGuideName/> SDK
35-
36-
<PlatformSection notSupported={["javascript.electron"]}>
37-
38-
Install our <PlatformOrGuideName/> SDK using either `yarn` or `npm`, the minimum version that supports profiling is **7.60.0**.
39-
40-
</PlatformSection>
41-
42-
<PlatformSection supported={["javascript.electron"]}>
43-
44-
Install our Electron SDK using either `yarn` or `npm`, the minimum version that supports profiling is **4.16.0**.
45-
46-
</PlatformSection>
47-
48-
<PlatformContent includePath="profiling/automatic-instrumentation-intro" />
49-
50-
## Step 2: Add Document-Policy: js-profiling header
51-
52-
For the JavaScript browser profiler to start, the document response header needs to include a `Document-Policy` header key with the `js-profiling` value.
53-
54-
<PlatformContent includePath="profiling/automatic-instrumentation-headers" />
55-
56-
## Step 3: Configure the JavaScript SDK
57-
58-
Configuration should happen as early as possible in your application's lifecycle. Once this is done, Sentry's JavaScript SDK will capture all unhandled exceptions and transactions.
59-
60-
<PlatformContent includePath="profiling/automatic-instrumentation-setup" />
61-
62-
## The Difference Between DevTools & Sentry's JavaScript Browser Profiler
63-
64-
What does Sentry's JavaScript browser profile offer that Chrome DevTools does not?
65-
66-
- Sentry JavaScript profiler runs in production and captures real user data, showing real-world performance. DevTools runs locally on your machine and only shows profiles of what's running on your machine.
67-
- Sentry runs at a lower sampling rate of 100Hz with a 10ms sample period versus a sampling rate of 1000Hz and a 1ms sample period for DevTools.
68-
- Sentry supports deobfuscation, making it so that all the function names in your code are correct. Typically, when you run JavaScript code, it's minified, meaning that all the function names are replaced with machine-generated abbreviations.
69-
70-
Please note, that since the browser profiling API is currently only implemented in Chromium-based browsers, the profiles collected with Sentry's JavaScript browser profiling will inherently be biased toward that demographic. This is something that you'll need to consider if you're basing your decisions on the data collected.
71-
72-
We hope that as the Javascript browser profiling API gains adoption, other browsers will implement it as well. If you find the browser profiling feature helpful and would like to see it gain further adoption, please consider supporting the spec at the official WICG repository.
13+
<PageGrid />

0 commit comments

Comments
 (0)