Skip to content

Commit eb9cbb7

Browse files
committed
Generate semantic convention event classes for select upstream events
1 parent 6853aa3 commit eb9cbb7

3 files changed

Lines changed: 18 additions & 16 deletions

File tree

instrumentation/slowrendering/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dependencies {
2424
implementation(project(":session"))
2525
implementation(project(":common"))
2626
implementation(project(":agent-api"))
27+
implementation(project(":semconv"))
2728
implementation(libs.androidx.core)
2829
implementation(libs.opentelemetry.semconv.kotlin)
2930
implementation(libs.opentelemetry.sdk)

instrumentation/slowrendering/src/main/java/io/opentelemetry/android/instrumentation/slowrendering/EventJankReporter.kt

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,8 @@ package io.opentelemetry.android.instrumentation.slowrendering
77

88
import android.util.Log
99
import io.opentelemetry.android.common.RumConstants
10-
import io.opentelemetry.api.common.Attributes
10+
import io.opentelemetry.android.semconv.events.AppJankEvent
1111
import io.opentelemetry.api.logs.Logger
12-
import io.opentelemetry.kotlin.semconv.AppAttributes.APP_JANK_FRAME_COUNT
13-
import io.opentelemetry.kotlin.semconv.AppAttributes.APP_JANK_PERIOD
14-
import io.opentelemetry.kotlin.semconv.AppAttributes.APP_JANK_THRESHOLD
1512
import io.opentelemetry.kotlin.semconv.IncubatingApi
1613

1714
internal class EventJankReporter(
@@ -41,18 +38,13 @@ internal class EventJankReporter(
4138
}
4239

4340
if (frameCount > 0) {
44-
val eventBuilder = eventLogger.logRecordBuilder()
45-
val attributes =
46-
Attributes
47-
.builder()
48-
.put(APP_JANK_FRAME_COUNT, frameCount)
49-
.put(APP_JANK_PERIOD, periodSeconds)
50-
.put(APP_JANK_THRESHOLD, threshold)
51-
.build()
52-
eventBuilder
53-
.setEventName("app.jank")
54-
.setAllAttributes(attributes)
55-
.emit()
41+
AppJankEvent(
42+
appJankFrameCount = frameCount,
43+
appJankPeriod = periodSeconds,
44+
appJankThreshold = threshold,
45+
).emit(
46+
logger = eventLogger,
47+
)
5648
}
5749
}
5850
}

semconv/model/android/registry.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# Imports events defined in dependency registries, by event name, so event classes are
2+
# generated for them in this module. Code is only generated for definitions that are part
3+
# of this registry, so each upstream event to generate must be imported explicitly.
4+
imports:
5+
events:
6+
- app.jank
7+
- app.screen.click
8+
- app.widget.click
9+
- device.app.lifecycle
110
groups:
211
- id: registry.android.semconv
312
type: attribute_group

0 commit comments

Comments
 (0)