From 2705b3d4c05d6f4861c0f41fc9471b5613d6c1a8 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 9 Oct 2025 15:19:33 +1300 Subject: [PATCH 1/4] Enable backpressure handling by default --- src/Sentry/SentryOptions.cs | 5 ++++- ...es_are_properly_registered.DotNet10_0.DotNet.verified.txt | 3 +++ ...nes_are_properly_registered.DotNet8_0.DotNet.verified.txt | 3 +++ ...nes_are_properly_registered.DotNet9_0.DotNet.verified.txt | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) 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.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.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: [ From d4993f091b1004a651148810effc2b3d7a5940ca Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 9 Oct 2025 15:22:44 +1300 Subject: [PATCH 2/4] Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) 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 From 979eb5cf57a4d9d2db11b116aa9755c8ca25df7b Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 9 Oct 2025 16:36:39 +1300 Subject: [PATCH 3/4] Verify tests --- ..._properly_registered.DotNet10_0.Windows.DotNet.verified.txt | 3 +++ ...e_properly_registered.DotNet8_0.Windows.DotNet.verified.txt | 3 +++ ...e_properly_registered.DotNet9_0.Windows.DotNet.verified.txt | 3 +++ ...nes_are_properly_registered.Net4_8.Windows.Net.verified.txt | 3 +++ 4 files changed, 12 insertions(+) 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.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.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: [ From f45d17c4758063f70a97283927fac186731d0bb1 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Fri, 10 Oct 2025 22:33:59 +1300 Subject: [PATCH 4/4] Unit test --- test/Sentry.Tests/SentryOptionsTests.cs | 7 +++++++ 1 file changed, 7 insertions(+) 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() {