@@ -411,6 +411,7 @@ class SentryOptionsTest {
411411 externalOptions.spotlightConnectionUrl = " http://local.sentry.io:1234"
412412 externalOptions.isGlobalHubMode = true
413413 externalOptions.isEnableLogs = true
414+ externalOptions.isEnableMetrics = false
414415 externalOptions.profileSessionSampleRate = 0.8
415416 externalOptions.profilingTracesDirPath = " /profiling-traces"
416417 externalOptions.profileLifecycle = ProfileLifecycle .TRACE
@@ -469,6 +470,7 @@ class SentryOptionsTest {
469470 assertEquals(" http://local.sentry.io:1234" , options.spotlightConnectionUrl)
470471 assertTrue(options.isGlobalHubMode!! )
471472 assertTrue(options.logs.isEnabled!! )
473+ assertFalse(options.metrics.isEnabled)
472474 assertEquals(0.8 , options.profileSessionSampleRate)
473475 assertEquals(" /profiling-traces${File .separator}${hash} " , options.profilingTracesDirPath)
474476 assertEquals(ProfileLifecycle .TRACE , options.profileLifecycle)
@@ -482,6 +484,14 @@ class SentryOptionsTest {
482484 assertTrue(options.isEnableUncaughtExceptionHandler)
483485 }
484486
487+ @Test
488+ fun `merging options when enableMetrics is not set preserves the default value` () {
489+ val externalOptions = ExternalOptions ()
490+ val options = SentryOptions ()
491+ options.merge(externalOptions)
492+ assertTrue(options.metrics.isEnabled)
493+ }
494+
485495 @Test
486496 fun `merging options merges and overwrites existing tag values` () {
487497 val externalOptions = ExternalOptions ()
@@ -660,6 +670,11 @@ class SentryOptionsTest {
660670 assertTrue(SentryOptions ().isEnableBackpressureHandling)
661671 }
662672
673+ @Test
674+ fun `when options are initialized, metrics is enabled by default` () {
675+ assertTrue(SentryOptions ().metrics.isEnabled)
676+ }
677+
663678 @Test
664679 fun `when options are initialized, enableSpotlight is set to false by default` () {
665680 assertFalse(SentryOptions ().isEnableSpotlight)
0 commit comments