Skip to content

Commit 00e4043

Browse files
committed
feat: Drop unnecessary default info level for Alert
1 parent f5946d2 commit 00e4043

File tree

199 files changed

+270
-275
lines changed

Some content is hidden

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

199 files changed

+270
-275
lines changed

app/platform-redirect/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export default async function Page(props: {
7979

8080
return (
8181
<DocPage frontMatter={frontMatter}>
82-
<Alert level="info">{platformInfo}</Alert>
82+
<Alert>{platformInfo}</Alert>
8383

8484
<ul>
8585
{platformList.map(p => (

develop-docs/application-architecture/dynamic-sampling/architecture.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ In this case, the matching will happen from **top to bottom** and the following
133133
1. Rule `1` is matched against the event payload, since it is of type `transaction`. The `samplingValue` is a `factor`, thus the accumulated factors will now be `2.0 * 1.0`, where `1.0` is the identity for the multiplication.
134134
2. Because rule `1` was a factor rule, the matching continues and rule `2` will be matched against the DSC, since it is of type `trace`. The `samplingValue` is a `sampleRate`, thus the matching will stop and the sample rate will be computed as `2.0 * 0.5 = 1.0`, where `2.0` is the factor accumulated from the previous rule and `0.5` is the sample rate of the current rule.
135135

136-
<Alert title="✨ Note" level="info">
136+
<Alert title="✨ Note">
137137

138138
It is important to note that a `sampleRate` rule must match in order for a sampling decision to be made; in case this condition is not met, the event will be kept. In practice, each project will have a uniform trace rule which will always match and contain the base sample rate of the organization.
139139

develop-docs/application-architecture/dynamic-sampling/fidelity-and-biases.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ sidebar_order: 2
55

66
Dynamic Sampling allows Sentry to automatically adjust the amount of data retained based on how valuable the data is to the user. This is technically achieved by applying a **sample rate** to every event, which is determined by a **set of rules** that are evaluated for each event.
77

8-
<Alert title="✨ Note" level="info">
8+
<Alert title="✨ Note">
99

1010
A sample rate is a number in the interval `[0.0, 1.0]` that will determine the likelihood of a transaction to be retained. For example, a sample rate of `0.5` means that the transaction will be retained on average 50% of the time.
1111

@@ -21,15 +21,15 @@ There are two available modes to govern the target sample rates for Dynamic Samp
2121
- **Automatic Mode** dynamically manages the target sample rate for each project based on the target sample rate for the organization, prioritizing lower volume projects to increase visibility. Automatic Mode is active if the organization option `sentry:sampling_mode` is set to `organization`. The target sample rate for the organization is stored in the **organization** option `sentry:target_sample_rate`, and project target sample rates are calculated based on the organization target sample rate.
2222
- **Manual Mode** allows the user to set static target sample rates on a per-project basis that serve as the baseline sample rate before applying the dynamic biases outlined below. Target sample rates are not adjusted by the system. Manual Mode is active if the organization option `sentry:sampling_mode` is set to `project`. The target sample rates for projects are stored in the **project** option `sentry:target_sample_rate`.
2323

24-
All functionality defaults to Automatic Mode if the option `sentry:sampling_mode` is not set, and all target sample rates default to 1 if the option `sentry:target_sample_rate` is not set.
24+
All functionality defaults to Automatic Mode if the option `sentry:sampling_mode` is not set, and all target sample rates default to 1 if the option `sentry:target_sample_rate` is not set.
2525

2626
When the user switches between modes, target sample rates are transferred unless changed explicitly. For example, if the user switches from Automatic Mode to Manual Mode, the sample rates calculated during Automatic Mode are persisted in the project option `sentry:target_sample_rate`. Conversely, if the user switches from Manual Mode to Automatic Mode, the project target sample rates are recalculated based on the overall organization target sample rate.
2727

28-
The [sample rates are periodically recalibrated](https://github.com/getsentry/sentry/blob/9b98be6b97323a78809a829e06dcbef26a16365c/src/sentry/dynamic_sampling/rules/biases/recalibration_bias.py#L11-L44) to ensure that the overall target sample rate is met. This recalibration is done on a project level or organization level, depending on the dynamic sampling mode. Within the target sample rate, Dynamic Sampling **biases towards more meaningful data**. This is achieved by constantly updating and communicating special rules to Relay, via a project configuration, which then applies targeted sampling to every event.
28+
The [sample rates are periodically recalibrated](https://github.com/getsentry/sentry/blob/9b98be6b97323a78809a829e06dcbef26a16365c/src/sentry/dynamic_sampling/rules/biases/recalibration_bias.py#L11-L44) to ensure that the overall target sample rate is met. This recalibration is done on a project level or organization level, depending on the dynamic sampling mode. Within the target sample rate, Dynamic Sampling **biases towards more meaningful data**. This is achieved by constantly updating and communicating special rules to Relay, via a project configuration, which then applies targeted sampling to every event.
2929

3030
![Concept of Fidelity](./images/fidelityAndPriorities.png)
3131

32-
<Alert title="✨ Note" level="info">
32+
<Alert title="✨ Note">
3333
For orgs under AM2, Dynamic sampling uses a [sliding window function](https://github.com/getsentry/sentry/blob/cc8cc38c8a108719d068e5622b24a8d0c744e84c/src/sentry/dynamic_sampling/tasks/sliding_window_org.py#L37-L61) over the incoming volume to calculate the target sample rate.
3434
</Alert>
3535

@@ -39,7 +39,7 @@ It is important to note that fidelity only determines an **approximate target sa
3939

4040
Instead, the Sentry backend **computes a set of rules** whose goal is to cooperatively achieve the target sample rate. Determining when and how to set these rules is part of the Dynamic Sampling infrastructure.
4141

42-
<Alert title="✨ Note" level="info">
42+
<Alert title="✨ Note">
4343

4444
The effectively applied sample rate, in the end, depends on how much data matches each of the bias overrides.
4545

@@ -59,7 +59,7 @@ To achieve trace sampling, SDKs pass all fields that can be sampled by [Dynamic
5959

6060
![Trace Sampling](./images/traceSampling.png)
6161

62-
<Alert title="✨ Note" level="info">
62+
<Alert title="✨ Note">
6363

6464
In order to achieve full trace sampling, the random number generator used by Relay is seeded with the trace ID inside of the DSC sent by the SDK. This ensures that traces with the same trace ID will always yield the same sampling decision.
6565

@@ -115,7 +115,7 @@ The list of development environments is available [here](https://github.com/gets
115115
For prioritizing dev environments, we use a sample rate of `1.0` (100%), which results in all traces being sampled.
116116

117117
### Prioritize Low Volume Projects
118-
<Alert title="✨ Note" level="info">
118+
<Alert title="✨ Note">
119119
This bias is only active in Automatic Mode (and not in Manual Mode). It applies to any incoming trace and is defined on a per-project basis.
120120
</Alert>
121121

@@ -126,13 +126,13 @@ The algorithm used in this bias computes a new sample rate with the goal of prio
126126
### Prioritize Low Volume Transactions
127127
This bias is used to prioritize low-volume transactions that can be drowned out by high-volume transactions. The goal is to rebalance sample rates of the individual transactions so that low-volume transactions are more likely to have representative samples. The bias is of type trace, which means that the transaction considered for rebalancing will be the root transaction of the trace.
128128

129-
Prioritization of low volume transactions works slightly differently depending on the dynamic sampling mode:
130-
- In **Automatic Mode** (`sentry:sampling_mode` == `organization`), the output of the [boost_low_volume_projects](https://github.com/getsentry/sentry/blob/dee539472e999bf590cfc4e99b9b12981963defb/src/sentry/dynamic_sampling/tasks/boost_low_volume_transactions.py#L183) task is used as the base sample rate for the balancing algorithm.
129+
Prioritization of low volume transactions works slightly differently depending on the dynamic sampling mode:
130+
- In **Automatic Mode** (`sentry:sampling_mode` == `organization`), the output of the [boost_low_volume_projects](https://github.com/getsentry/sentry/blob/dee539472e999bf590cfc4e99b9b12981963defb/src/sentry/dynamic_sampling/tasks/boost_low_volume_transactions.py#L183) task is used as the base sample rate for the balancing algorithm.
131131
- In **Manual Mode** (`sentry:sampling_mode` == `project`), the project target sample rate is used as the base sample rate for the balancing algorithm.
132132

133-
In order to rebalance transactions, the system retrieves the counts of the transactions for each project and calculates a new sample rate for each transaction.
133+
In order to rebalance transactions, the system retrieves the counts of the transactions for each project and calculates a new sample rate for each transaction.
134134

135-
<Alert title="✨ Note" level="info">
135+
<Alert title="✨ Note">
136136

137137
The algorithms for boosting low volume events are run periodically (with cron jobs) with a sliding window to account for changes in the incoming volume.
138138

develop-docs/application-architecture/dynamic-sampling/the-big-picture.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sidebar_order: 1
77
![Sequencing](./images/sequencing.png)
88

99

10-
<Alert title="💡 Note" level="info">
10+
<Alert title="💡 Note">
1111

1212
Dynamic Sampling currently operates on either spans or transactions to measure data throughput. This is controlled by the feature flag `organizations:dynamic-sampling-spans` and usually set to what the organization's subscription is metered by. In development, this currently defaults to transactions.
1313
The logic between the two data categories is identical, so most of this documentation is kept at a generic level and important differences are pointed out explicitly.
@@ -27,7 +27,7 @@ When events arrive, in a simplified model, they go through the following steps:
2727
4. **Dynamic Sampling**: based on an internal set of rules, Relay determines a sample rate for every incoming event. A random number generator finally decides whether a payload should be kept or dropped.
2828
5. **Rate limiting**: events that are sampled by Dynamic Sampling will be stored and indexed. To protect the infrastructure, internal rate limits apply at this point. Under normal operation, this **rate limit is never reached** since dynamic sampling already reduces the volume of events stored.
2929

30-
<Alert title="💡 Example" level="info">
30+
<Alert title="💡 Example">
3131

3232
A client is sending 1000 events per second to Sentry:
3333
1. 100 events per second are from old browsers and get dropped through an inbound data filter.
@@ -44,7 +44,7 @@ The ingestion pipeline has two kinds of rate limits that behave differently com
4444
1. **High-level request limits on load balancers**: these limits do not differentiate which data is sent by clients and drop requests as soon as the throughput from clients reaches the limit.
4545
2. **Specific limits per data category in Relay**: these limits apply once requests have been parsed and have gone through basic handling (see [Sequencing](#sequencing) above).
4646

47-
<Alert title="✨️ Note" level="info">
47+
<Alert title="✨️ Note">
4848

4949
There is a dedicated rate limit for stored events after inbound filters and dynamic sampling. However, it does not affect total events since the fidelity decreases with higher total event volumes and this rate limit is not expected to trigger since Dynamic Sampling already reduces the stored event throughput.
5050

@@ -56,7 +56,7 @@ Dynamic sampling ensures complete traces by retaining all events associated with
5656

5757
Despite dynamic sampling providing trace completeness, events or other items (errors, replays, ...) may still be missing from a trace when rate limiting drops one or more of them. Rate limiting drops items without regard for the trace, making each decision independently and potentially resulting in broken traces.
5858

59-
<Alert title="💡 Example" level="info">
59+
<Alert title="💡 Example">
6060

6161
For example, if there is a trace from `Project A` to `Project B` and `Project B` is subject to rate limiting or quota enforcement, events of `Project B` from the trace initiated by `Project A` are lost.
6262

@@ -84,7 +84,7 @@ Each of these metrics can be filtered and grouped by a number of predefined tags
8484

8585
For more granular queries, **stored events are needed**. _The purpose of dynamic sampling here is to ensure that there are always sufficient representative sample events._
8686

87-
<Alert title="💡 Example" level="info">
87+
<Alert title="💡 Example">
8888

8989
If Sentry applies a 1% dynamic sample rate, you can still receive accurate events per minute (SPM or TPM, depending on event type) and web vital quantiles through total event data backed by metrics. There is also a listing of each of these numbers by the transaction.
9090

develop-docs/application-architecture/multi-region-deployment/control-silo.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Prior to our multi-region offering, all API traffic from customers would be sent
1515
- DSN host
1616
- A static list of URL names (region pin list)
1717

18-
<Alert level="info">
18+
<Alert>
1919
💡 Requests going to sentry.io do not meet data residency requirements. Customers will need to use region domains in order to not have requests go to the US.
2020
</Alert>
2121

develop-docs/application-architecture/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ In order to offer customers data residency we needed to co-locate the bulk of an
100100

101101
These constraints led our design to having multiple 'silo modes'.
102102

103-
<Alert level="info">
103+
<Alert>
104104
☝ The term ‘silo’ was chosen as other applicable terms (region, zone, partition, cluster) are all taken.
105105
</Alert>
106106

develop-docs/backend/api/design.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Here are some additional examples:
3232
- 👍 `/projects/\{organization_slug}/\{project_slug}/issues/`
3333
- 👎 `/projects/`
3434

35-
<Alert title="Note" level="info">
35+
<Alert title="Note">
3636

3737
Hierarchy here does not necessarily mean that one collection belongs to a parent collection. For example:
3838
- `projects/\{project_identifier}/teams/` refers to the **teams** that have been added to specific project
@@ -82,7 +82,7 @@ Here are some notes that can help you decide between similar methods. We use *Ge
8282
## Response Object
8383
Each response object returned from an API should be a serialized version of the Django model associated with the resource. You can see all the existing serializers [here](https://github.com/getsentry/sentry/tree/master/src/sentry/api/serializers/models).
8484

85-
<Alert title="Note" level="info">
85+
<Alert title="Note">
8686

8787
Some models might have different serializers based on use case. For example, `Project` can be serialized into `DetailedProjectSerializer` or `ProjectSerializer`. Decide which one to use based on your use case and API scope but **DO NOT RETURN CUSTOM OBJECTS** like \{`slug: project_slug, platform: project_platform`}. We want the API responses to be uniform and useable in multiple automations without adding extra complication to the external developers' code.
8888

develop-docs/backend/api/public.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ build. With that being said, there are 3 exceptions where we don't publish APIs:
3838
that you think it should be published let [owners-api](https://github.com/orgs/getsentry/teams/owners-api)
3939
know and we can help with that.
4040

41-
<Alert title="Note" level="info">
41+
<Alert title="Note">
4242

4343
Always keep in mind that your APIs may still be used even if they're `private`. All the APIs
4444
in the Sentry repo are accessible due to our open-source nature.

develop-docs/backend/application-domains/feature-flags/flagpole.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ features.add(
183183
feature.<feature_scope>:<feature_name>
184184
```
185185

186-
<Alert level="info">
186+
<Alert>
187187
The feature config should not be merged until the registration commit in step 1 has been fully deployed to all target environments. This is because Options Automator will fail to push options to any environments missing the option registration.
188188
If this happens, make sure to rerun the options deployment once all environments have been updated to ensure your feature is active.
189189
</Alert>

develop-docs/backend/application-domains/options.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Follow these rules when adding new options:
2222

2323
The value of an option can be any pickleable value.
2424

25-
<Alert level="info">
25+
<Alert>
2626
It is safe to declare and use an option in the same pull request, you don't need to
2727
split them up.
2828
</Alert>
@@ -55,7 +55,7 @@ from sentry import options
5555
options.set("performance.some-feature-rate", 0.01)
5656
```
5757

58-
<Alert level="info">
58+
<Alert>
5959
If you do not have access to the shell, you'll need to contact OPS to set the option
6060
value for you.
6161
</Alert>
@@ -125,7 +125,7 @@ from sentry import options
125125
options.delete("performance.some-feature-rate")
126126
```
127127

128-
<Alert level="info">
128+
<Alert>
129129
If you do not have access to the shell, you'll need to contact OPS to remove the option
130130
for you.
131131
</Alert>

0 commit comments

Comments
 (0)