Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RUM-5830: Make no-op RUM monitor implementation returned by default to be NoOpAdvancedRumMonitor #2185

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import com.datadog.android.api.InternalLogger
import com.datadog.android.api.SdkCore
import com.datadog.android.api.feature.FeatureSdkCore
import com.datadog.android.rum.GlobalRumMonitor.get
import com.datadog.android.rum.internal.monitor.NoOpAdvancedRumMonitor
import java.util.Locale

/**
Expand Down Expand Up @@ -64,7 +65,7 @@ object GlobalRumMonitor {
InternalLogger.Target.USER,
{ NO_MONITOR_REGISTERED_MESSAGE.format(Locale.US, sdkCore.name) }
)
NoOpRumMonitor()
NoOpAdvancedRumMonitor()
} else {
monitor
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.datadog.android.rum
import com.datadog.android.api.InternalLogger
import com.datadog.android.api.SdkCore
import com.datadog.android.api.feature.FeatureSdkCore
import com.datadog.android.rum.internal.monitor.NoOpAdvancedRumMonitor
import com.datadog.android.rum.utils.forge.Configurator
import com.datadog.android.rum.utils.verifyLog
import com.datadog.tools.unit.annotations.ProhibitLeavingStaticMocksIn
Expand Down Expand Up @@ -131,7 +132,7 @@ internal class GlobalRumMonitorTest {
}

@Test
fun `M return NoOpRumMonitor W registerIfAbsent(monitor) + get() {distinct cores}`() {
fun `M return NoOpAdvancedRumMonitor W registerIfAbsent(monitor) + get() {distinct cores}`() {
// Given
val mockSdkCore2 = mock<SdkCore>()

Expand All @@ -140,7 +141,7 @@ internal class GlobalRumMonitorTest {
val result = GlobalRumMonitor.get(mockSdkCore2)

// Then
assertThat(result).isInstanceOf(NoOpRumMonitor::class.java)
assertThat(result).isInstanceOf(NoOpAdvancedRumMonitor::class.java)
}

@Test
Expand All @@ -154,7 +155,7 @@ internal class GlobalRumMonitorTest {
val result = GlobalRumMonitor.get(mockSdkCore)

// Then
check(result is NoOpRumMonitor)
check(result is NoOpAdvancedRumMonitor)
mockInternalLogger.verifyLog(
InternalLogger.Level.WARN,
InternalLogger.Target.USER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import com.datadog.android.core.sampling.RateBasedSampler
import com.datadog.android.rum.internal.RumFeature
import com.datadog.android.rum.internal.domain.scope.RumApplicationScope
import com.datadog.android.rum.internal.monitor.DatadogRumMonitor
import com.datadog.android.rum.internal.monitor.NoOpAdvancedRumMonitor
import com.datadog.android.rum.internal.net.RumRequestFactory
import com.datadog.android.rum.tracking.NoOpTrackingStrategy
import com.datadog.android.rum.tracking.NoOpViewTrackingStrategy
Expand Down Expand Up @@ -172,7 +173,7 @@ internal class RumTest {
Rum.UNEXPECTED_SDK_CORE_TYPE
)
verify(mockSdkCore, never()).registerFeature(any())
check(GlobalRumMonitor.get(mockSdkCore) is NoOpRumMonitor)
check(GlobalRumMonitor.get(mockSdkCore) is NoOpAdvancedRumMonitor)
}

@Test
Expand All @@ -197,7 +198,7 @@ internal class RumTest {
Rum.INVALID_APPLICATION_ID_ERROR_MESSAGE
)
verify(mockSdkCore, never()).registerFeature(any())
check(GlobalRumMonitor.get(mockSdkCore) is NoOpRumMonitor)
check(GlobalRumMonitor.get(mockSdkCore) is NoOpAdvancedRumMonitor)
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ import com.datadog.android.core.internal.system.BuildSdkVersionProvider
import com.datadog.android.event.EventMapper
import com.datadog.android.event.MapperSerializer
import com.datadog.android.rum.GlobalRumMonitor
import com.datadog.android.rum.NoOpRumMonitor
import com.datadog.android.rum.RumErrorSource
import com.datadog.android.rum.assertj.RumFeatureAssert
import com.datadog.android.rum.configuration.VitalsUpdateFrequency
import com.datadog.android.rum.internal.domain.RumDataWriter
import com.datadog.android.rum.internal.domain.event.RumEventMapper
import com.datadog.android.rum.internal.monitor.AdvancedRumMonitor
import com.datadog.android.rum.internal.monitor.NoOpAdvancedRumMonitor
import com.datadog.android.rum.internal.thread.NoOpScheduledExecutorService
import com.datadog.android.rum.internal.tracking.NoOpInteractionPredicate
import com.datadog.android.rum.internal.tracking.NoOpUserActionTrackingStrategy
Expand Down Expand Up @@ -604,7 +604,7 @@ internal class RumFeatureTest {

// Then
assertThat(GlobalRumMonitor.isRegistered(mockSdkCore)).isFalse
assertThat(GlobalRumMonitor.get(mockSdkCore)).isInstanceOf(NoOpRumMonitor::class.java)
assertThat(GlobalRumMonitor.get(mockSdkCore)).isInstanceOf(NoOpAdvancedRumMonitor::class.java)
}

@ParameterizedTest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ internal constructor(
val method = toHttpMethod(request.method, sdkCore.internalLogger)
val requestId = request.buildResourceId(generateUuid = true)

(GlobalRumMonitor.get(sdkCore) as AdvancedNetworkRumMonitor).startResource(requestId, method, url)
(GlobalRumMonitor.get(sdkCore) as? AdvancedNetworkRumMonitor)?.startResource(requestId, method, url)
} else {
val prefix = if (sdkInstanceName == null) {
"Default SDK instance"
Expand Down