mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat(deps): add Datadog session replay libraries (#2665)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
4a7e3e35e0
commit
8491f8a60e
2 changed files with 23 additions and 2 deletions
|
|
@ -39,6 +39,9 @@ import com.datadog.android.rum.GlobalRumMonitor
|
|||
import com.datadog.android.rum.Rum
|
||||
import com.datadog.android.rum.RumConfiguration
|
||||
import com.datadog.android.rum.tracking.AcceptAllNavDestinations
|
||||
import com.datadog.android.sessionreplay.SessionReplay
|
||||
import com.datadog.android.sessionreplay.SessionReplayConfiguration
|
||||
import com.datadog.android.sessionreplay.compose.ComposeExtensionSupport
|
||||
import com.datadog.android.timber.DatadogTree
|
||||
import com.datadog.android.trace.AndroidTracer
|
||||
import com.datadog.android.trace.Trace
|
||||
|
|
@ -188,12 +191,20 @@ open class GeeksvilleApplication :
|
|||
val tracer = AndroidTracer.Builder().build()
|
||||
GlobalTracer.registerIfAbsent(tracer)
|
||||
|
||||
val sessionReplayConfig =
|
||||
SessionReplayConfiguration.Builder(sampleRate = 20.0f)
|
||||
// in case you need Jetpack Compose support
|
||||
.addExtensionSupport(ComposeExtensionSupport())
|
||||
.build()
|
||||
|
||||
SessionReplay.enable(sessionReplayConfig)
|
||||
|
||||
Timber.plant(Timber.DebugTree(), DatadogTree(logger))
|
||||
}
|
||||
}
|
||||
|
||||
fun setAttributes(firmwareVersion: String, deviceHardware: DeviceHardware) {
|
||||
GlobalRumMonitor.get().addAttribute("firmware_version", firmwareVersion)
|
||||
GlobalRumMonitor.get().addAttribute("firmware_version", firmwareVersion.extractSemanticVersion())
|
||||
GlobalRumMonitor.get().addAttribute("device_hardware", deviceHardware.hwModelSlug)
|
||||
}
|
||||
|
||||
|
|
@ -212,3 +223,11 @@ fun AddNavigationTracking(navController: NavHostController) {
|
|||
destinationPredicate = AcceptAllNavDestinations(),
|
||||
)
|
||||
}
|
||||
|
||||
fun String.extractSemanticVersion(): String {
|
||||
// Regex to capture up to three numeric parts separated by dots
|
||||
val regex = """^(\d+)(?:\.(\d+))?(?:\.(\d+))?""".toRegex()
|
||||
val matchResult = regex.find(this)
|
||||
return matchResult?.groupValues?.drop(1)?.filter { it.isNotEmpty() }?.joinToString(".")
|
||||
?: this // Fallback to original if no match
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,6 +92,8 @@ dd-sdk-android-gradle-plugin = { group = "com.datadoghq", name = "dd-sdk-android
|
|||
dd-sdk-android-logs = { group = "com.datadoghq", name = "dd-sdk-android-logs", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-okhttp = { group = "com.datadoghq", name = "dd-sdk-android-okhttp", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-rum = { group = "com.datadoghq", name = "dd-sdk-android-rum", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-session-replay = { group = "com.datadoghq", name = "dd-sdk-android-session-replay", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-session-replay-compose = { group = "com.datadoghq", name = "dd-sdk-android-session-replay-compose", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-timber = { group = "com.datadoghq", name = "dd-sdk-android-timber", version.ref = "dd-sdk-android" }
|
||||
dd-sdk-android-trace = { group = "com.datadoghq", name = "dd-sdk-android-trace", version.ref = "dd-sdk-android" }
|
||||
detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
|
||||
|
|
@ -195,7 +197,7 @@ osm = ["osmdroid-android", "osmbonuspack", "mgrs"]
|
|||
firebase = ["firebase-analytics", "firebase-crashlytics"]
|
||||
|
||||
# Datadog
|
||||
datadog = ["dd-sdk-android-compose", "dd-sdk-android-logs", "dd-sdk-android-okhttp", "dd-sdk-android-rum", "dd-sdk-android-timber", "dd-sdk-android-trace"]
|
||||
datadog = ["dd-sdk-android-compose", "dd-sdk-android-logs", "dd-sdk-android-okhttp", "dd-sdk-android-rum", "dd-sdk-android-session-replay", "dd-sdk-android-session-replay-compose", "dd-sdk-android-timber", "dd-sdk-android-trace"]
|
||||
|
||||
# Protobuf
|
||||
protobuf = ["protobuf-kotlin"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue