55
66namespace Sentry . Tests ;
77
8- public partial class HubTests
8+ public partial class HubTests : IDisposable
99{
1010 private readonly ITestOutputHelper _output ;
1111
12- private class Fixture
12+ private class Fixture : IDisposable
1313 {
1414 public SentryOptions Options { get ; }
1515 public ISentryClient Client { get ; set ; }
@@ -18,6 +18,7 @@ private class Fixture
1818 public ISystemClock Clock { get ; set ; }
1919 public IReplaySession ReplaySession { get ; }
2020 public ISampleRandHelper SampleRandHelper { get ; set ; }
21+ public BackpressureMonitor BackpressureMonitor { get ; set ; }
2122
2223 public Fixture ( )
2324 {
@@ -27,14 +28,22 @@ public Fixture()
2728 TracesSampleRate = 1.0 ,
2829 AutoSessionTracking = false
2930 } ;
30-
3131 Client = Substitute . For < ISentryClient > ( ) ;
32-
3332 ReplaySession = Substitute . For < IReplaySession > ( ) ;
3433 }
3534
35+ public void Dispose ( )
36+ {
37+ BackpressureMonitor ? . Dispose ( ) ;
38+ }
39+
3640 public Hub GetSut ( ) => new ( Options , Client , SessionManager , Clock , ScopeManager , replaySession : ReplaySession ,
37- sampleRandHelper : SampleRandHelper ) ;
41+ sampleRandHelper : SampleRandHelper , backpressureMonitor : BackpressureMonitor ) ;
42+ }
43+
44+ public void Dispose ( )
45+ {
46+ _fixture . Dispose ( ) ;
3847 }
3948
4049 private readonly Fixture _fixture = new ( ) ;
@@ -725,11 +734,11 @@ public void StartTransaction_Backpressure_Downsamples(bool usesTracesSampler)
725734 var transactionContext = new TransactionContext ( "name" , "operation" ) ;
726735
727736 var clock = new MockClock ( DateTimeOffset . UtcNow ) ;
728- var backpressureMonitor = new BackpressureMonitor ( null , clock , enablePeriodicHealthCheck : false ) ;
729- backpressureMonitor . SetDownsampleLevel ( 1 ) ;
730- _fixture . Options . BackpressureMonitor = backpressureMonitor ;
737+ _fixture . Options . EnableBackpressureHandling = true ;
738+ _fixture . BackpressureMonitor = new BackpressureMonitor ( null , clock , enablePeriodicHealthCheck : false ) ;
739+ _fixture . BackpressureMonitor . SetDownsampleLevel ( 1 ) ;
731740 var sampleRate = 0.5f ;
732- var expectedDownsampledRate = sampleRate * backpressureMonitor . DownsampleFactor ;
741+ var expectedDownsampledRate = sampleRate * _fixture . BackpressureMonitor . DownsampleFactor ;
733742 if ( usesTracesSampler )
734743 {
735744 _fixture . Options . TracesSampler = _ => sampleRate ;
@@ -771,9 +780,9 @@ public void StartTransaction_Backpressure_SetsDiscardReason(bool usesTracesSampl
771780 var clock = new MockClock ( DateTimeOffset . UtcNow ) ;
772781 _fixture . SampleRandHelper = Substitute . For < ISampleRandHelper > ( ) ;
773782 _fixture . SampleRandHelper . GenerateSampleRand ( Arg . Any < string > ( ) ) . Returns ( sampleRand ) ;
774- var backpressureMonitor = new BackpressureMonitor ( null , clock , enablePeriodicHealthCheck : false ) ;
775- backpressureMonitor . SetDownsampleLevel ( 1 ) ;
776- _fixture . Options . BackpressureMonitor = backpressureMonitor ;
783+ _fixture . Options . EnableBackpressureHandling = true ;
784+ _fixture . BackpressureMonitor = new BackpressureMonitor ( null , clock , enablePeriodicHealthCheck : false ) ;
785+ _fixture . BackpressureMonitor . SetDownsampleLevel ( 1 ) ;
777786 var sampleRate = 0.5f ;
778787 if ( usesTracesSampler )
779788 {
0 commit comments