From f312a64e1d4755980340c0e8925d068f0b483870 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Tue, 11 Mar 2025 15:20:21 +0100 Subject: [PATCH] Fix exception with Java 8 --- .../java8/Java8RuntimeMetricsInstaller.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java b/instrumentation/runtime-telemetry/runtime-telemetry-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java index 5a14d959c1b6..ee3e5647b3dc 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java @@ -19,7 +19,7 @@ public class Java8RuntimeMetricsInstaller implements AgentListener { @Override public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { - if (Double.parseDouble(System.getProperty("java.specification.version")) >= 17) { + if (getJavaVersion() >= 17) { return; } @@ -32,4 +32,12 @@ public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { new Thread(runtimeMetrics::close, "OpenTelemetry RuntimeMetricsShutdownHook")); } } + + private static int getJavaVersion() { + String javaSpecVersion = System.getProperty("java.specification.version"); + if ("1.8".equals(javaSpecVersion)) { + return 8; + } + return Integer.parseInt(javaSpecVersion); + } }