Skip to content

Commit b21020e

Browse files
committed
chore: misc OTEL refactorings to use CEL based sampler
1 parent c35af9b commit b21020e

File tree

7 files changed

+135
-252
lines changed

7 files changed

+135
-252
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ The next version will be based on the semantic version scope (`major`, `minor`,
5656
$ ./gradlew :shared:jvmRun
5757
$ ./gradlew :shared:jvmDistZip
5858

59-
# Kotlin JVM
59+
# Kotlin JVM (--no-parallel is required until we have fix for kotlin wasm plugin)
6060
$ ./gradlew :backend:jvm:run
61-
$ ./gradlew :backend:jvm:build
62-
$ ./gradlew :backend:jvm:jdeprscan
63-
$ ./gradlew :backend:jvm:printModuleDeps
61+
$ ./gradlew :backend:jvm:build --no-parallel
62+
$ ./gradlew :backend:jvm:jdeprscan --no-parallel
63+
$ ./gradlew :backend:jvm:printModuleDeps --no-parallel
6464

6565
# Benchmark
6666
$ ./gradlew :benchmark:benchmark
@@ -95,7 +95,7 @@ The next version will be based on the semantic version scope (`major`, `minor`,
9595
openjdk:26-slim /bin/bash -c "printenv && backend/jvm/build/libs/jvm"
9696

9797
# Build a container image and run
98-
$ ./gradlew :backend:jvm:jibDockerBuild
98+
$ ./gradlew :backend:jvm:jibDockerBuild --no-parallel
9999
$ docker run -it --rm --name jvm -p 8080:8080 -p 9898:9898 sureshg/jvm
100100
$ docker stats
101101
```
@@ -116,7 +116,7 @@ The next version will be based on the semantic version scope (`major`, `minor`,
116116
-p 4318:4318 \
117117
--name hyperdx \
118118
--ulimit nofile=262144:262144 \
119-
hyperdx/hyperdx-local:2-beta
119+
hyperdx/hyperdx-local:latest
120120
$ open http://localhost:8081/search
121121

122122
# Run the app

backend/agent/otel/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ dependencies {
8383
compileOnly(libs.bundles.otel.agent.extn)
8484
compileOnly(libs.google.auto.annotations)
8585
implementation(libs.otel.contrib.samplers)
86+
implementation(libs.otel.contrib.cel.sampler)
8687
annotationProcessor(libs.google.auto.service.apt)
8788

8889
testImplementation(platform(libs.junit.bom))

backend/jvm/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ plugins {
1212
id("dev.suresh.plugin.graalvm")
1313
id("com.gradleup.shadow")
1414
alias(libs.plugins.jetbrains.ktor)
15-
// alias(libs.plugins.exoquery)
15+
alias(libs.plugins.exoquery)
1616
id("dev.suresh.plugin.publishing")
1717
// alias(libs.plugins.jetbrains.exposed)
1818
}
@@ -210,7 +210,8 @@ dependencies {
210210
implementation(libs.ktor.server.html)
211211

212212
// OpenTelemetry
213-
javaAgent(projects.backend.agent.otel)
213+
// javaAgent(projects.backend.agent.otel)
214+
javaAgent(libs.otel.instr.javaagent)
214215
javaAgent(layout.files("src/main/resources/otel"))
215216
implementation(libs.bundles.otel)
216217
implementation(libs.ktor.cohort.core)

backend/jvm/src/main/kotlin/dev/suresh/plugins/OTel.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ fun Application.configureOTel() {
1818
val globalOtel = GlobalOpenTelemetry.get()
1919
val isAgentActive = globalOtel !== OpenTelemetry.noop()
2020
when (isAgentActive) {
21-
true -> log.info("OTel Java agent is active")
22-
else -> log.warn("OTel Java agent is inactive!!")
21+
true -> log.info("\uD83D\uDFE2 OTel Java agent is active")
22+
else -> log.warn("\uD83D\uDFE1 OTel Java agent is inactive!!")
2323
}
2424

2525
install(OTelExtnPlugin) { enabled = true }
@@ -58,12 +58,12 @@ fun Application.otelInstrumentation() {
5858
* For detailed configuration options, see:
5959
* [Configure the SDK](https://opentelemetry.io/docs/languages/java/configuration/)
6060
*/
61-
val declarativeOtelSdk: OpenTelemetry by lazy {
61+
val dclOpenTelemetrySdk: OpenTelemetry by lazy {
6262
val sdkConfPath = System.getenv("OTEL_CONFIG_FILE")?.takeIf { it.isNotBlank() }?.let { Path(it) }
6363
val ins =
6464
when (sdkConfPath) {
6565
null -> object {}::class.java.getResourceAsStream("/otel/sdk-config.yaml")
6666
else -> sdkConfPath.inputStream()
6767
}
68-
TODO("DeclarativeConfiguration.parseAndCreate(ins)")
68+
TODO("FileConfiguration.parseAndCreate(ins)")
6969
}

backend/jvm/src/main/kotlin/dev/suresh/routes/Scheduler.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import kotlinx.datetime.toLocalDateTime
1414
fun Application.scheduledTasks() {
1515
log.info("Starting scheduled tasks...")
1616
virtualThreadScope.launch {
17-
Clock.System.fixedPeriodPulse(10.seconds).beat(PulseBackpressureStrategy.SkipNext) { scheduled
17+
Clock.System.fixedPeriodPulse(30.seconds).beat(PulseBackpressureStrategy.SkipNext) { scheduled
1818
->
1919
context(log) { task("Task at ${scheduled.toLocalDateTime(TimeZone.currentSystemDefault())}") }
2020
}

0 commit comments

Comments
 (0)