Skip to content

Commit 89c26cd

Browse files
committed
Base changes
1 parent e725d67 commit 89c26cd

4 files changed

Lines changed: 15 additions & 9 deletions

File tree

agent-api/src/main/java/io/opentelemetry/android/OpenTelemetryRum.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ interface OpenTelemetryRum {
1818
*/
1919
val openTelemetry: OpenTelemetry
2020

21+
val clock: Clock
22+
23+
val sessionProvider: SessionProvider
24+
2125
/**
2226
* Get the client session ID associated with this instance of the RUM instrumentation library.
2327
* Note: this value will change throughout the lifetime of an application instance, so it is

instrumentation/android-instrumentation/src/main/java/io/opentelemetry/android/instrumentation/InstallationContext.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ package io.opentelemetry.android.instrumentation
77

88
import android.app.Application
99
import android.content.Context
10+
import io.opentelemetry.android.OpenTelemetryRum
1011
import io.opentelemetry.android.session.SessionProvider
11-
import io.opentelemetry.api.OpenTelemetry
1212
import io.opentelemetry.sdk.common.Clock
1313

1414
class InstallationContext(
1515
val context: Context,
16-
val openTelemetry: OpenTelemetry,
16+
val openTelemetry: OpenTelemetryRum,
1717
val sessionProvider: SessionProvider,
1818
val clock: Clock,
1919
) {

instrumentation/crash/src/main/java/io/opentelemetry/android/instrumentation/crash/CrashReporter.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
package io.opentelemetry.android.instrumentation.crash
77

8+
import io.opentelemetry.android.OpenTelemetryRum
89
import io.opentelemetry.android.common.internal.utils.threadIdCompat
910
import io.opentelemetry.android.instrumentation.common.EventAttributesExtractor
1011
import io.opentelemetry.api.common.Attributes
1112
import io.opentelemetry.context.Context
12-
import io.opentelemetry.sdk.OpenTelemetrySdk
1313
import io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE
1414
import io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE
1515
import io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE
@@ -24,7 +24,7 @@ internal class CrashReporter(
2424
additionalExtractors.toList()
2525

2626
/** Installs the crash reporting instrumentation. */
27-
fun install(openTelemetry: OpenTelemetrySdk) {
27+
fun install(openTelemetry: OpenTelemetryRum) {
2828
val handler =
2929
CrashReportingExceptionHandler(
3030
crashProcessor = { crashDetails: CrashDetails ->
@@ -38,10 +38,13 @@ internal class CrashReporter(
3838
}
3939

4040
private fun processCrash(
41-
openTelemetry: OpenTelemetrySdk,
41+
openTelemetry: OpenTelemetryRum,
4242
crashDetails: CrashDetails,
4343
) {
44-
val logger = openTelemetry.sdkLoggerProvider.loggerBuilder("io.opentelemetry.crash").build()
44+
val logger =
45+
openTelemetry.openTelemetry.logsBridge
46+
.loggerBuilder("io.opentelemetry.crash")
47+
.build()
4548
val throwable = crashDetails.cause
4649
val thread = crashDetails.thread
4750
val attributesBuilder =
@@ -66,7 +69,7 @@ internal class CrashReporter(
6669
.emit()
6770
}
6871

69-
private fun waitForCrashFlush(openTelemetry: OpenTelemetrySdk) {
72+
private fun waitForCrashFlush(openTelemetry: OpenTelemetryRum) {
7073
val flushResult = openTelemetry.sdkLoggerProvider.forceFlush()
7174
flushResult.join(10, TimeUnit.SECONDS)
7275
}

instrumentation/crash/src/main/java/io/opentelemetry/android/instrumentation/crash/CrashReporterInstrumentation.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import com.google.auto.service.AutoService
99
import io.opentelemetry.android.instrumentation.AndroidInstrumentation
1010
import io.opentelemetry.android.instrumentation.InstallationContext
1111
import io.opentelemetry.android.instrumentation.common.EventAttributesExtractor
12-
import io.opentelemetry.sdk.OpenTelemetrySdk
1312

1413
/** Entrypoint for installing the crash reporting instrumentation. */
1514
@AutoService(AndroidInstrumentation::class)
@@ -27,7 +26,7 @@ class CrashReporterInstrumentation : AndroidInstrumentation {
2726
val crashReporter = CrashReporter(additionalExtractors)
2827

2928
// TODO avoid using OpenTelemetrySdk methods, only use the ones from OpenTelemetry api.
30-
crashReporter.install(ctx.openTelemetry as OpenTelemetrySdk)
29+
crashReporter.install(ctx.openTelemetry)
3130
}
3231

3332
override val name: String = "crash"

0 commit comments

Comments
 (0)