diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6a6cbf410b..e5ea5b7425 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@
- SentryOptions.IsEnvironmentUser now defaults to false on MAUI. The means the User.Name will no longer be set, by default, to the name of the device ([#4606](https://github.com/getsentry/sentry-dotnet/pull/4606))
- Remove unnecessary files from SentryCocoaFramework before packing ([#4602](https://github.com/getsentry/sentry-dotnet/pull/4602))
+- Backpressure handling is now enabled by default, meaning that the SDK will monitor system health and reduce the sampling rate of events and transactions when the system is under load. When the system is determined to be healthy again, the sampling rates are returned to their original levels. ([#4615](https://github.com/getsentry/sentry-dotnet/pull/4615))
## 6.0.0-preview.1
diff --git a/src/Sentry/SentryOptions.cs b/src/Sentry/SentryOptions.cs
index 4e2983cb91..9b8835a165 100644
--- a/src/Sentry/SentryOptions.cs
+++ b/src/Sentry/SentryOptions.cs
@@ -98,7 +98,10 @@ public bool IsGlobalModeEnabled
/// Enables or disables automatic backpressure handling. When enabled, the SDK will monitor system health and
/// reduce the sampling rate of events and transactions when the system is under load.
///
- public bool EnableBackpressureHandling { get; set; } = false;
+ ///
+ /// Defaults to true / enabled.
+ ///
+ public bool EnableBackpressureHandling { get; set; } = true;
///
/// This holds a reference to the current transport, when one is active.
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.DotNet.verified.txt
index dfbc55fc32..f477fddad0 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.Windows.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.Windows.DotNet.verified.txt
index 10eaeaf749..c1fa278003 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.Windows.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet10_0.Windows.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.DotNet.verified.txt
index dfbc55fc32..f477fddad0 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.Windows.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.Windows.DotNet.verified.txt
index 10eaeaf749..c1fa278003 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.Windows.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet8_0.Windows.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.DotNet.verified.txt
index dfbc55fc32..f477fddad0 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.Windows.DotNet.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.Windows.DotNet.verified.txt
index 10eaeaf749..c1fa278003 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.Windows.DotNet.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.DotNet9_0.Windows.DotNet.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.Net4_8.Windows.Net.verified.txt b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.Net4_8.Windows.Net.verified.txt
index be7336d126..e9aa248faa 100644
--- a/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.Net4_8.Windows.Net.verified.txt
+++ b/test/Sentry.Tests/SentryOptionsTests.Integrations_default_ones_are_properly_registered.Net4_8.Windows.Net.verified.txt
@@ -5,6 +5,9 @@
https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647
]
},
+ {
+ Message: Starting BackpressureMonitor.
+ },
{
Message: Registering integration: '{0}'.,
Args: [
diff --git a/test/Sentry.Tests/SentryOptionsTests.cs b/test/Sentry.Tests/SentryOptionsTests.cs
index 7d53c1c9b5..df934ad69a 100644
--- a/test/Sentry.Tests/SentryOptionsTests.cs
+++ b/test/Sentry.Tests/SentryOptionsTests.cs
@@ -13,6 +13,13 @@ public void DecompressionMethods_ByDefault_AllBitsSet()
Assert.Equal(~DecompressionMethods.None, sut.DecompressionMethods);
}
+ [Fact]
+ public void EnableBackpressureHandling_Default_True()
+ {
+ var sut = new SentryOptions();
+ sut.EnableBackpressureHandling.Should().BeTrue();
+ }
+
[Fact]
public void RequestBodyCompressionLevel_ByDefault_Optimal()
{