Skip to content

Commit 77e3087

Browse files
authored
Merge branch 'master' into cursor/add-example-image-to-sentry-ios-user-feedback-page-09c2
2 parents 3936660 + b1b2a38 commit 77e3087

File tree

166 files changed

+2517
-676
lines changed

Some content is hidden

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

166 files changed

+2517
-676
lines changed

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55

66
NEXT_PUBLIC_ALGOLIA_APP_ID=
77
NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=
8+
NEXT_PUBLIC_SENTRY_DSN=

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@ typings/
5050
# Output of 'npm pack'
5151
*.tgz
5252

53-
# dotenv environment variables file
53+
# dotenv environment variables files
5454
.env
55-
.env.development
55+
.env.*
56+
!.env.example
5657

5758
# gatsby files
5859
.cache/

develop-docs/development-infrastructure/environment/index.mdx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,17 @@ Just like running `sentry` (see above), you can start the `devservices` using th
102102
devservices up
103103
```
104104

105-
You will also need to enable workers which you can do so by running the following command:
105+
To run tasks, you will also need to start taskbroker:
106106

107107
```shell
108-
devservices up taskbroker
108+
# start just taskbroker
109+
devservices up --mode=taskbroker
110+
111+
# start taskbroker and a backgrond worker
112+
devservices up --mode=taskworker
109113
```
110114

111-
or use a --mode that includes workers. If you use the --mode flag of devservices, any modes that started celery workers will now start taskbroker and a taskworker.
115+
If you use the `--mode` flag of devservices, any modes that started celery workers will now start taskbroker and a taskworker.
112116

113117
After that, you can start the development server inside the `getsentry` folder:
114118

develop-docs/development-infrastructure/environment/ports.mdx

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,32 @@ The following is a non-exhaustive list of ports used by Sentry services or any d
88
* Finding out why a port is used on your work machine and which process to kill to make it free.
99
* Finding out which ports are probably safe to assign to new services.
1010

11-
| Port | Service | Description
12-
|:-----|:-------------------------------------------|:-----------
13-
| 9000 | Clickhouse | <Link to="/development/devservices/">Devservice</Link> `clickhouse`. Database for Snuba.
14-
| 8123 | Clickhouse |
15-
| 9009 | Clickhouse |
16-
| 3021 | Symbolicator | <Link to="/development/devservices/">Devservice</Link> `symbolicator`. For processing stacktraces.
17-
| 1218 | [Snuba][] | <Link to="/development/devservices/">Devservice</Link> `snuba`. For searching events.
18-
| 1219 | [Snuba][] admin | Not part of devservices setup, but running `snuba admin` will listen on this port.
19-
| 9092 | Kafka | <Link to="/development/devservices/">Devservice</Link> `kafka`. for relay-sentry communication and optionally for sentry-snuba communication
20-
| 6379 | Redis | <Link to="/development/devservices/">Devservice</Link> `redis` (or perhaps installed via Homebrew in rustier setups), responsible for caches, relay projectconfigs and Celery queues
21-
| 5432 | Postgres | <Link to="/development/devservices/">Devservice</Link> `postgres` (or perhaps installed via Homebrew in rustier setups)
22-
| 7899 | [Relay][] | <Link to="/development/devservices/">Devservice</Link> `relay`. Serves APIs for SDKs to send events to (aka event ingestion). Webpack on 8000 reverse-proxies to this server. Starts/stops with `sentry devserver`.
23-
| 8000 | <Link to="/development/environment/">Sentry Dev</Link> | Webpack devserver, routing all ingest paths to Relay, and the rest to uWSGI. Routing is defined in `webpack.config.ts` in Sentry.
24-
| 8001 | uWSGI | Starts/stops with `sentry devserver`. Serves the Django app/API. Webpack on 8000 reverse-proxies to this server. In a siloed devserver, this port is used for control silo.
25-
| 8010 | uWSGI (region silo) | Starts/stops with `sentry devserver --silo=region`. Serves the Django app/API. Webpack on 8000 reverse-proxies to this server.
26-
| 7999 | Sentry frontend prod proxy | For testing local UI changes against a prod API
27-
| 8000 | [Develop docs][] | The website around this document. **Conflicts with Sentry Dev.**
28-
| 3000 | [User docs][] | User-facing documentation. May conflict with Relay if Relay is run outside of devservices.
29-
| 9001 | Sentry Dev Styleguide server | Bound when running `sentry devserver --styleguide`
30-
| 9000 | `sentry run web` | Legacy default port for `sentry run web`, changed to 9001 to avoid conflict with Clickhouse.
31-
| 9001 | `sentry run web` | Barebones frontend without webpack or Relay. <Link to="/development/environment/">Sentry Dev</Link> is likely better. **Conflicts with Sentry Dev Styleguide server.**
32-
| 8000 | [Relay][] mkdocs documentation | At some point this is going to get merged into our existing docs repos. **Conflicts with Sentry Dev.**
11+
| Port | Service | Description
12+
|:------|:-------------------------------------------|:-----------
13+
| 9000 | Clickhouse | <Link to="/development/devservices/">Devservice</Link> `clickhouse`. Database for Snuba.
14+
| 9009 | Clickhouse | <Link to="/development/devservices/">Devservice</Link> `clickhouse`. Database for Snuba.
15+
| 8123 | Clickhouse |
16+
| 9009 | Clickhouse |
17+
| 3021 | Symbolicator | <Link to="/development/devservices/">Devservice</Link> `symbolicator`. For processing stacktraces.
18+
| 1218 | [Snuba][] | <Link to="/development/devservices/">Devservice</Link> `snuba`. For searching events.
19+
| 1219 | [Snuba][] admin | Not part of devservices setup, but running `snuba admin` will listen on this port.
20+
| 9092 | Kafka | <Link to="/development/devservices/">Devservice</Link> `kafka`.
21+
| 9093 | Kafka |
22+
| 6379 | Redis | <Link to="/development/devservices/">Devservice</Link> `redis` (or perhaps installed via Homebrew in rustier setups), responsible for caches, relay projectconfigs and Celery queues
23+
| 5432 | Postgres | <Link to="/development/devservices/">Devservice</Link> `postgres` (or perhaps installed via Homebrew in rustier setups)
24+
| 7899 | [Relay][] | <Link to="/development/devservices/">Devservice</Link> `relay`. Serves APIs for SDKs to send events to (aka event ingestion). Webpack on 8000 reverse-proxies to this server. Starts/stops with `sentry devserver`.
25+
| 8000 | <Link to="/development/environment/">Sentry Dev</Link> | Webpack devserver, routing all ingest paths to Relay, and the rest to uWSGI. Routing is defined in `webpack.config.ts` in Sentry.
26+
| 8001 | uWSGI | Starts/stops with `sentry devserver`. Serves the Django app/API. Webpack on 8000 reverse-proxies to this server. In a siloed devserver, this port is used for control silo.
27+
| 8010 | uWSGI (region silo) | Starts/stops with `sentry devserver --silo=region`. Serves the Django app/API. Webpack on 8000 reverse-proxies to this server.
28+
| 7999 | Sentry frontend prod proxy | For testing local UI changes against a prod API
29+
| 8000 | [Develop docs][] | The website around this document. **Conflicts with Sentry Dev.**
30+
| 3000 | [User docs][] | User-facing documentation. May conflict with Relay if Relay is run outside of devservices.
31+
| 9001 | Sentry Dev Styleguide server | Bound when running `sentry devserver --styleguide`
32+
| 9000 | `sentry run web` | Legacy default port for `sentry run web`, changed to 9001 to avoid conflict with Clickhouse.
33+
| 9001 | `sentry run web` | Barebones frontend without webpack or Relay. <Link to="/development/environment/">Sentry Dev</Link> is likely better. **Conflicts with Sentry Dev Styleguide server.**
34+
| 8000 | [Relay][] mkdocs documentation | At some point this is going to get merged into our existing docs repos. **Conflicts with Sentry Dev.**
35+
| 50051 | Taskbroker | <Link to="/backend/application-domains/tasks/">taskbroker</Link> gRPC interface for taskbroker.
36+
| 8969 | Sentry Spotlight |
3337

3438
## Finding out what's running on your machine
3539

develop-docs/development-infrastructure/ngrok.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ In two separate terminal windows, start the devserver for the control and region
102102

103103
First, start the taskbroker:
104104
```shell
105-
devservices up taskbroker
105+
devservices up --mode=taskbroker
106106
```
107107

108108
```shell

develop-docs/ingestion/relay/relay-best-practices.mdx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,18 @@ Make sure changes to the event protocol and APIs are forward-compatible. Relay s
1616
or truncate data it does not understand. It is a supported use-case to have customers running
1717
outdated Relays but up-to-date SDKs.
1818

19+
For example, `enum`s in the event protocol (or any other data type received from the SDK) need to have a catchall variant
20+
such that customer relays running an older version can still forward the data:
21+
22+
```rust
23+
enum EventColor {
24+
Red,
25+
Green,
26+
Blue,
27+
/// Unknown color, for forward compatibility.
28+
Unknown(String),
29+
}
30+
```
1931

2032
## Feature Gate new Functionality
2133

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

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,96 @@ The following example illustrates the contexts part of the <Link to="/sdk/data-m
622622
}
623623
```
624624

625+
## Memory Info Context
626+
627+
The memory info context captures detailed information about memory usage and garbage collection metrics in an application at the time an event occurs. This is particularly useful for diagnosing memory-related issues in managed runtime environments.
628+
629+
The `type` and default key is `"memory_info"`.
630+
631+
`allocated_bytes`
632+
633+
: Currently allocated memory.
634+
635+
`compacted`
636+
637+
: Boolean indicating if memory was compacted.
638+
639+
`concurrent`
640+
641+
: Boolean indicating if concurrent garbage collection occurred.
642+
643+
`finalization_pending_count`
644+
645+
: Number of objects awaiting finalization.
646+
647+
`fragmented_bytes`
648+
649+
: Fragmented memory that cannot be used.
650+
651+
`heap_size_bytes`
652+
653+
: Total heap size.
654+
655+
`high_memory_load_threshold_bytes`
656+
657+
: Threshold for high memory load detection.
658+
659+
`index`
660+
661+
: GC generation index.
662+
663+
`memory_load_bytes`
664+
665+
: Current memory load.
666+
667+
`pause_durations`
668+
669+
: Array of GC pause durations in milliseconds.
670+
671+
`pause_time_percentage`
672+
673+
: Percentage of time spent in GC pauses.
674+
675+
`pinned_objects_count`
676+
677+
: Number of pinned objects in memory.
678+
679+
`promoted_bytes`
680+
681+
: Bytes promoted to higher generation.
682+
683+
`total_allocated_bytes`
684+
685+
: Total memory allocated since start.
686+
687+
`total_available_memory_bytes`
688+
689+
: Total memory available to the application.
690+
691+
`total_committed_bytes`
692+
693+
: Total committed virtual memory.
694+
695+
**Example Memory Info Context**
696+
697+
```json
698+
{
699+
"contexts": {
700+
"memory_info": {
701+
"type": "memory_info",
702+
"allocated_bytes": 1048576, // 1 MiB
703+
"total_allocated_bytes": 9437184, // 9 MiB
704+
"heap_size_bytes": 3145728, // 3 MiB
705+
"pinned_objects_count": 150,
706+
"pause_time_percentage": 25.5,
707+
"compacted": true,
708+
"concurrent": true,
709+
"pause_durations": [10, 5, 3]
710+
}
711+
}
712+
}
713+
```
714+
625715
## Thread Pool Info Context
626716

627717
The thread pool info context captures detailed metrics about the thread pool state at the moment an event occurs. This context is useful for investigating performance bottlenecks, thread starvation, and resource contention issues in multi-threaded applications.
@@ -669,7 +759,6 @@ The `type` and default key is `"threadpool_info"`.
669759
}
670760
```
671761

672-
673762
## Trace Context
674763

675764
Additional information that allows Sentry to connect multiple transactions, spans, and/or errors into one trace. **Important:** If the trace context is missing, relay will drop the transaction.
@@ -770,6 +859,48 @@ If the route is set to a string (e.g. `"route": "foo"`), it will be normalized i
770859
}
771860
```
772861

862+
## Unity Context
863+
864+
The Unity context captures Unity game engine environment details for Unity-specific issue diagnosis. This context is useful for investigating graphics issues, performance problems, version compatibility, and platform-specific behavior in Unity applications.
865+
866+
The `type` and default key is `"unity"`.
867+
868+
`copy_texture_support`
869+
870+
: Graphics texture copying capabilities.
871+
872+
`editor_version`
873+
874+
: Unity Editor version.
875+
876+
`install_mode`
877+
878+
: Distribution method.
879+
880+
`rendering_threading_mode`
881+
882+
: Rendering pipeline configuration.
883+
884+
`target_frame_rate`
885+
886+
: Target FPS setting.
887+
888+
**Example Unity Context**
889+
890+
```json
891+
{
892+
"contexts": {
893+
"unity": {
894+
"copy_texture_support": "Basic, Copy3D, DifferentTypes, TextureToRT, RTToTexture",
895+
"editor_version": "2022.1.23f1",
896+
"install_mode": "Store",
897+
"rendering_threading_mode": "LegacyJobified",
898+
"target_frame_rate": "-1",
899+
}
900+
}
901+
}
902+
```
903+
773904
## Replay Context
774905

775906
Replay context contains the replay_id of the associated replay with the event.
@@ -959,4 +1090,4 @@ The feature flag context contains information about the flags evaluated prior to
9591090
}
9601091
}
9611092
}
962-
```
1093+
```

0 commit comments

Comments
 (0)