Skip to content

Commit d8e046c

Browse files
author
Shannon Anahata
committed
Merge remote-tracking branch 'origin/master' into ShannonA-python-tracing-docs-refresh
2 parents e39d413 + 2aae768 commit d8e046c

File tree

123 files changed

+2346
-737
lines changed

Some content is hidden

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

123 files changed

+2346
-737
lines changed

apps/changelog/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"@radix-ui/react-icons": "^1.3.2",
2626
"@radix-ui/react-toolbar": "^1.1.0",
2727
"@radix-ui/themes": "^3.1.3",
28-
"@sentry/nextjs": "9.9.0",
28+
"@sentry/nextjs": "9.10.1",
2929
"@spotlightjs/spotlight": "^2.1.1",
3030
"next": "15.2.3",
3131
"next-auth": "^4.24.5",
@@ -68,4 +68,4 @@
6868
"@types/react": "npm:[email protected]",
6969
"@types/react-dom": "npm:[email protected]"
7070
}
71-
}
71+
}

apps/changelog/sentry.client.config.ts renamed to apps/changelog/src/instrumentation-client.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
// This file configures the initialization of Sentry on the client.
2-
// The config you add here will be used whenever a users loads a page in their browser.
3-
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
4-
51
import * as SentryCore from '@sentry/core';
62
import * as Sentry from '@sentry/nextjs';
73
import * as Spotlight from '@spotlightjs/spotlight';

develop-docs/backend/application-domains/database-migrations/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@ This is complicated due to our deploy process. When we deploy, we run migrations
134134

135135
To avoid this, follow these steps:
136136

137-
- Make a PR to remove all uses of the column in the codebase in a separate PR. This mostly helps with code cleanliness. This should be merged ahead of the migration prs, but we don't need to worry about whether it is deployed first.
137+
- First, if the column is either not nullable, or doesn't have a `db_default` set, then make a PR to make it nullable via `null=True`.
138+
- Then, remove all uses of the column in the codebase in a separate PR; this mostly helps with code cleanliness. This should be merged ahead of the next migration PRs, but we don't need to worry about whether it is deployed first.
138139
- Make another PR that:
139-
- Checks if the column is either not nullable, or doesn't have a `db_default` set. If either of these is true, then make it nullable via `null=True`.
140140
- If the column is a foreign key, remove the database level foreign key constraint it by setting `db_constraint=False`.
141141
- Remove the column and in the generated migration use `SafeRemoveField(..., deletion_action=DeletionAction.MOVE_TO_PENDING)` to replace `RemoveField(...)`. This only marks the state for the column as removed.
142142
- Combine these migrations together to save making multiple deploys

develop-docs/development-infrastructure/continuous-integration.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ You might also be interested in <Link to="/development/environment/#troubleshoot
3232

3333
**Problem:**
3434

35-
When pushing your build to staging and you it fails the `Ensure test image` step on Travis.
35+
When pushing your build to staging and it fails the `Ensure test image` step on Travis.
3636

3737
**Solution:**
3838

develop-docs/sdk/data-model/event-payloads/contexts.mdx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ related to the current user and the environment. For example, the device or
88
application version. Its canonical name is `contexts`.
99

1010
The `contexts` type can be used to define arbitrary contextual data on the
11-
event. It accepts an object of key/value pairs. The key is the alias of the
11+
event. It accepts an object of key/value pairs. The key is the "alias" of the
1212
context and can be freely chosen. However, as per policy, it should match the
1313
type of the context unless there are two values for a type. You can omit `type`
1414
if the key name is the type.
@@ -273,7 +273,7 @@ To summarize:
273273

274274
: _Optional_. Typically provides the full name, full version, and release alias. This maps to `PRETTY_NAME` in [`/etc/os-release`](https://www.freedesktop.org/software/systemd/man/latest/os-release.html#PRETTY_NAME=) (examples: `Ubuntu 22.04.4 LTS`, `Raspian GNU/Linux 10 (buster)`).
275275

276-
### Example OS Context
276+
**Example OS Context**
277277

278278
The OS Context for the 3 major OSs should look like this:
279279

@@ -468,7 +468,7 @@ Examples: `"Apple Metal"` or `"Direct3D11"`
468468

469469
: _Optional_. Are geometry shaders available on the device?
470470

471-
### Example GPU Context
471+
**Example GPU Context**
472472

473473
```json
474474
{
@@ -496,7 +496,7 @@ The `type` and default key is `"state"`.
496496

497497
: **Required**. Object with two keys: _Optional_ `type` for naming the state library (e.g.: Redux, MobX, Vuex) and **Required** `value` that holds the state object.
498498

499-
### Example State Context
499+
**Example State Context**
500500

501501
```json
502502
{
@@ -598,7 +598,7 @@ The `type` and default key is `"cloud_resource"`.
598598

599599
- Example: `t4g.medium`
600600

601-
### Example Cloud Resource Context
601+
**Example Cloud Resource Context**
602602

603603
The following example illustrates the contexts part of the <Link to="/sdk/data-model/event-payloads/">event payload</Link> and omits other attributes for simplicity.
604604

@@ -720,7 +720,7 @@ The `route` currently supports the following predefined fields if it's a map:
720720

721721
If the route is set to a string (e.g. `"route": "foo"`), it will be normalized into a map (e.g. `"route": {"name": "foo"}`) server-side.
722722

723-
### Example Trace Context
723+
**Example Trace Context**
724724

725725
```json
726726
{
@@ -766,7 +766,7 @@ envelope endpoint.
766766

767767
: **Required**. The replay_id associated with the event.
768768

769-
### Example Replay Context
769+
**Example Replay Context**
770770

771771
```json
772772
{
@@ -792,7 +792,7 @@ This is mostly set on transactions in a web server environment where one transac
792792

793793
- Example: `200`
794794

795-
### Example Response Context
795+
**Example Response Context**
796796

797797
```json
798798
{
@@ -822,7 +822,7 @@ The required field is `package` which should contain the package or framework wh
822822

823823
- Example: `true`
824824

825-
### Example Response Context
825+
**Example Response Context**
826826

827827
```json
828828
{
@@ -852,7 +852,7 @@ The feature flag context contains information about the flags evaluated prior to
852852
- Example: `false`
853853

854854

855-
### Example Feature Flag Context
855+
**Example Feature Flag Context**
856856

857857
```json
858858
{

docs/contributing/pages/components.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,12 @@ Render an expandable section to provide additional information to users on deman
130130
provide optional information that can help users be more successful.
131131
</Expandable>
132132

133+
<Expandable title="Expandable with a code block">
134+
```js
135+
const foo = 'bar';
136+
```
137+
</Expandable>
138+
133139
```markdown {tabTitle:Example}
134140
<Expandable title="Here's something worth noting">
135141
This is an expandable section in an `'info'` alert style.

docs/platforms/android/tracing/instrumentation/perf-v2.mdx

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,41 @@ sidebar_order: 11
44
description: "Learn how to get even more insights into Android app performance"
55
---
66

7-
<Alert>
7+
Performance V2 contains a set of features that enrich performance instrumentation. It tightly integrates with the [Mobile Vitals](/product/insights/mobile/mobile-vitals/) Insights module, enabling <PlatformLink to="/tracing/instrumentation/perf-v2/#app-start">App Start</PlatformLink> and <PlatformLink to="/tracing/instrumentation/perf-v2/#frames-delay">Frames Delay</PlatformLink> reporting.
88

9-
This feature is marked as _experimental_.
10-
Supported in Sentry's Android SDK version `7.4.0` and above.
11-
12-
</Alert>
13-
14-
Performance V2 is a set of features which enrich your existing instrumentation, giving you more insights into potential performance bottlenecks. These features tightly integrate with the [Mobile Vitals](/product/insights/mobile/mobile-vitals/) insights module.
9+
Since version 8 of the SDK, Performance V2 is generally available and enabled by default. In versions `7.4.0..<8.0.0`, this feature is available as _experimental_ and you need to opt in to use it:
1510

1611
### Enabling Performance V2
1712

18-
```java {filename:MyApplication.java}
13+
```java {filename:MyApplication.java} {4}
1914
import io.sentry.android.core.SentryAndroid;
2015

2116
SentryAndroid.init(this, options -> {
2217
options.setEnablePerformanceV2(true);
2318
});
2419
```
2520

26-
```kotlin {filename:MyApplication.kt}
21+
```kotlin {filename:MyApplication.kt} {4}
2722
import io.sentry.android.core.SentryAndroid
2823

2924
SentryAndroid.init(this) { options ->
3025
options.enablePerformanceV2 = true
3126
}
3227
```
3328

34-
```xml {filename:AndroidManifest.xml}
29+
```xml {filename:AndroidManifest.xml} {3-5}
3530
<manifest>
3631
<application>
37-
<meta-data android:name="io.sentry.performance-v2.enable" android:value="true" />
32+
<meta-data
33+
android:name="io.sentry.performance-v2.enable"
34+
android:value="true" />
3835
</application>
3936
</manifest>
4037
```
4138

4239
### App Start
4340

44-
Besides enabling performance-v2, this feature requires the <PlatformLink to="/configuration/gradle/">Sentry Android Gradle Plugin</PlatformLink> (version `4.2.0` or above) to be applied to your app module.
41+
Besides enabling Performance V2, this feature requires the <PlatformLink to="/configuration/gradle/">Sentry Android Gradle Plugin</PlatformLink> (version `4.2.0` or above) to be applied to your app module.
4542

4643
Once enabled, your App Start transaction will show a detailed span breakdown of various components:
4744
* `process.load`: The process initialization time

docs/platforms/android/troubleshooting/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,3 +318,5 @@ This problem is only relevant to these specific versions: `sentry-android-core`
318318
</Alert>
319319

320320
Check [this issue](https://github.com/getsentry/sentry-android-gradle-plugin/issues/329) for more details.
321+
322+
<PageGrid />
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Mixed Versions
3+
description: "Troubleshoot and resolve mixed Android SDK dependency versions."
4+
sidebar_order: 1000
5+
---
6+
7+
Using multiple Android SDK dependencies with mixed versions is not supported as it is very likely to lead to a crash later on. For this reason we chose to crash the application on SDK init instead.
8+
9+
## Multiple Dependencies With Mixed Versions
10+
11+
The following snippet shows a mixed version conflict caused by using `sentry` with version `8.6.0` and `sentry-android` with version `8.7.0`. To fix the issue, set the same version for all dependencies or <PlatformLink to="/configuration/bill-of-materials/">use `sentry-bom`</PlatformLink>. This may also happen if you are using an internal library which has a different version defined.
12+
13+
```groovy {tabTitle:Gradle}{filename:build.gradle}
14+
implementation('io.sentry:sentry:8.6.0')
15+
implementation('io.sentry:sentry-android:8.7.0')
16+
```
17+
```xml {tabTitle:Maven}{filename:pom.xml}
18+
<dependencyManagement>
19+
<dependencies>
20+
<dependency>
21+
<groupId>io.sentry</groupId>
22+
<artifactId>sentry</artifactId>
23+
<version>8.6.0</version>
24+
</dependency>
25+
<dependency>
26+
<groupId>io.sentry</groupId>
27+
<artifactId>sentry-android</artifactId>
28+
<version>8.7.0</version>
29+
</dependency>
30+
</dependencies>
31+
</dependencyManagement>
32+
```
33+
34+
## Build Plugin And Explicit Dependency
35+
36+
When using our Gradle or Maven plugin and manually defining additional Sentry Android SDK dependencies, it is also possible to end up with mixed versions. The following snippet shows the plugin being configured to use version `8.0.0` but there is an additional dependency that has been set to version `8.1.0`. To fix the issue, set the same version or <PlatformLink to="/configuration/bill-of-materials/">use `sentry-bom`</PlatformLink>.
37+
38+
```groovy {tabTitle:Gradle}{filename:build.gradle}
39+
plugins { id "io.sentry.android.gradle" version "5.3.0" }
40+
41+
dependencies {
42+
implementation 'io.sentry:sentry-okhttp:8.1.0'
43+
}
44+
45+
sentry {
46+
autoInstallation {
47+
sentryVersion = "8.0.0"
48+
}
49+
}
50+
```

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,13 @@ Example scenarios where it should be explicitly set to true:
4949

5050
Defaults to `false`, unless in Blazor WASM, MAUI, Unity, or Xamarin where the default is `true`.
5151

52-
In server applications, when Global Mode is **disabled**, data stored in the scope is only available in the context of the particular request in which it is created.
52+
When Global Mode is **disabled** data stored in the scope is set on the current [ExecutionContext](https://learn.microsoft.com/en-us/dotnet/api/system.threading.executioncontext).
53+
In server applications data stored in the scope is only available in the context of the particular request in which it is created.
54+
Broadly, the ExecutionContext passes to child tasks and threads, but not to parent tasks and threads.
5355

54-
For UI applications (like MAUI) when Global mode is **enabled**, a single scope stack is shared by the whole application.
56+
When Global Mode is **enabled**, a single scope stack is shared by the whole application.
57+
58+
Since version 5.0.0 the transaction is always set on the current ExecutionContext, regardless of the Global Mode, so that spans from the UI don't get mixed up with transactions in background services.
5559

5660
See the <PlatformLink to="/enriching-events/scopes/">Scopes and Hubs documentation</PlatformLink> for more information.
5761

0 commit comments

Comments
 (0)