Skip to content

Commit 673b0d6

Browse files
authored
feat: adds otel-android crash instrumentation (#179)
1 parent 2431886 commit 673b0d6

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

e2e/android/app/src/main/java/com/example/androidobservability/MainActivity.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ class MainActivity : ComponentActivity() {
7272
) {
7373
Text("Trigger Stop Span")
7474
}
75+
Button(
76+
onClick = {
77+
viewModel.triggerCrash()
78+
}
79+
) {
80+
Text("Trigger Crash")
81+
}
7582
}
7683
}
7784
}

e2e/android/app/src/main/java/com/example/androidobservability/ViewModel.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.opentelemetry.api.common.AttributeKey
88
import io.opentelemetry.api.common.Attributes
99
import io.opentelemetry.api.logs.Severity
1010
import io.opentelemetry.api.trace.Span
11+
import java.net.SocketTimeoutException
1112

1213
class ViewModel : ViewModel() {
1314

@@ -44,4 +45,8 @@ class ViewModel : ViewModel() {
4445
lastSpan?.end()
4546
lastSpan = null
4647
}
48+
49+
fun triggerCrash() {
50+
throw RuntimeException("Failed to connect to bogus server.")
51+
}
4752
}

sdk/@launchdarkly/observability-android/lib/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ dependencies {
3535
implementation("io.opentelemetry.android.instrumentation:activity:0.11.0-alpha")
3636
implementation("io.opentelemetry.android:session:0.11.0-alpha")
3737

38+
// Android crash instrumentation
39+
implementation("io.opentelemetry.android.instrumentation:crash:0.11.0-alpha")
40+
3841
// Use JUnit Jupiter for testing.
3942
testImplementation("org.junit.jupiter:junit-jupiter")
4043
testRuntimeOnly("org.junit.platform:junit-platform-launcher")

0 commit comments

Comments
 (0)