From 521737954e5d79ea358336c1f4d7b882e2d9e565 Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Wed, 29 Mar 2023 16:33:55 -0400 Subject: [PATCH 1/7] rename --- docs/supported-libraries.md | 2 +- .../jmx-metrics/javaagent/README.md | 2 +- ...fr.java => JfrRuntimeMetricsInstaller.java} | 2 +- .../runtimetelemetryjfr/JfrFeature.java | 2 +- .../javaagent/build.gradle.kts | 2 +- .../JmxRuntimeMetricsInstaller.java} | 18 +++++++++--------- .../JmxRuntimeMetricsTest.groovy} | 4 ++-- .../library/README.md | 6 +++--- .../library/build.gradle.kts | 0 .../runtimetelemetryjmx}/BufferPools.java | 4 ++-- .../runtimetelemetryjmx}/Classes.java | 4 ++-- .../runtimetelemetryjmx}/Cpu.java | 4 ++-- .../runtimetelemetryjmx}/GarbageCollector.java | 4 ++-- .../JmxRuntimeMetricsUtil.java} | 8 ++++---- .../runtimetelemetryjmx}/MemoryPools.java | 4 ++-- .../runtimetelemetryjmx}/Threads.java | 4 ++-- .../runtimetelemetryjmx}/BufferPoolsTest.java | 10 +++++----- .../runtimetelemetryjmx}/ClassesTest.java | 10 +++++----- .../runtimetelemetryjmx}/CpuTest.java | 10 +++++----- .../GarbageCollectorTest.java | 6 +++--- .../runtimetelemetryjmx}/MemoryPoolsTest.java | 14 +++++++------- .../runtimetelemetryjmx}/ScopeUtil.java | 6 +++--- .../runtimetelemetryjmx}/ThreadsTest.java | 8 ++++---- settings.gradle.kts | 4 ++-- 24 files changed, 69 insertions(+), 69 deletions(-) rename instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/{RuntimeMetricsInstallerJfr.java => JfrRuntimeMetricsInstaller.java} (96%) rename instrumentation/{runtime-metrics => runtime-telemetry-jmx}/javaagent/build.gradle.kts (65%) rename instrumentation/{runtime-metrics/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsInstaller.java => runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java} (63%) rename instrumentation/{runtime-metrics/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsTest.groovy => runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy} (92%) rename instrumentation/{runtime-metrics => runtime-telemetry-jmx}/library/README.md (98%) rename instrumentation/{runtime-metrics => runtime-telemetry-jmx}/library/build.gradle.kts (100%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/BufferPools.java (96%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/Classes.java (94%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/Cpu.java (97%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/GarbageCollector.java (97%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/RuntimeMetricsUtil.java => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java} (84%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/MemoryPools.java (97%) rename instrumentation/{runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/Threads.java (93%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/BufferPoolsTest.java (94%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/ClassesTest.java (91%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/CpuTest.java (90%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/GarbageCollectorTest.java (96%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/MemoryPoolsTest.java (96%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/ScopeUtil.java (82%) rename instrumentation/{runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics => runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx}/ThreadsTest.java (88%) diff --git a/docs/supported-libraries.md b/docs/supported-libraries.md index f7649b7389b1..fc384b5f878f 100644 --- a/docs/supported-libraries.md +++ b/docs/supported-libraries.md @@ -70,7 +70,7 @@ These are the supported libraries and frameworks: | [Java Executors](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html) | Java 8+ | N/A | Context propagation | | [Java Http Client](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/package-summary.html) | Java 11+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] | | [java.util.logging](https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html) | Java 8+ | N/A | none | -| [Java Platform](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ManagementFactory.html) | Java 8+ | [opentelemetry-runtime-metrics](../instrumentation/runtime-metrics/library),
[opentelemetry-resources](../instrumentation/resources/library) | [JVM Runtime Metrics] | +| [Java Platform](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ManagementFactory.html) | Java 8+ | [opentelemetry-runtime-telemetry-jmx](../instrumentation/runtime-telemetry-jmx/library),
[opentelemetry-resources](../instrumentation/resources/library) | [JVM Runtime Metrics] | | [JAX-RS](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/package-summary.html) | 0.5+ | N/A | Provides `http.route` [2], Controller Spans [3] | | [JAX-RS Client](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/client/package-summary.html) | 1.1+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] | | [JAX-WS](https://jakarta.ee/specifications/xml-web-services/2.3/apidocs/javax/xml/ws/package-summary.html) | 2.0+ (not including 3.x yet) | N/A | Provides `http.route` [2], Controller Spans [3] | diff --git a/instrumentation/jmx-metrics/javaagent/README.md b/instrumentation/jmx-metrics/javaagent/README.md index 02fac44b70bf..c38a9c478ce3 100644 --- a/instrumentation/jmx-metrics/javaagent/README.md +++ b/instrumentation/jmx-metrics/javaagent/README.md @@ -12,7 +12,7 @@ To control the time interval between MBean detection attempts, one can use the ` ## Predefined metrics -JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-metrics/library/README.md)), application servers, third-party libraries, and applications. +JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-telemetry-jmx/library/README.md)), application servers, third-party libraries, and applications. JMX Metric Insight comes with a number of predefined configurations containing curated sets of JMX metrics for frequently used application servers or frameworks. To enable collection of the predefined metrics, specify a list of targets as the value for the `otel.jmx.target.system` property. For example diff --git a/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/RuntimeMetricsInstallerJfr.java b/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java similarity index 96% rename from instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/RuntimeMetricsInstallerJfr.java rename to instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java index 3ce2dd74ace9..7ef4d49808cc 100644 --- a/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/RuntimeMetricsInstallerJfr.java +++ b/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java @@ -15,7 +15,7 @@ /** An {@link AgentListener} that enables runtime metrics during agent startup. */ @AutoService(AgentListener.class) -public class RuntimeMetricsInstallerJfr implements AgentListener { +public class JfrRuntimeMetricsInstaller implements AgentListener { @Override public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java b/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java index 4f25985aaee3..04c686fcd418 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java +++ b/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java @@ -9,7 +9,7 @@ * Enumeration of JFR features, which can be toggled on or off via {@link JfrTelemetryBuilder}. * *

Features are disabled by default if they are already available through {@code - * io.opentelemetry.instrumentation:opentelemetry-runtime-metrics} JMX based instrumentation. + * io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-jmx} JMX based instrumentation. */ public enum JfrFeature { BUFFER_METRICS(/* defaultEnabled= */ false), diff --git a/instrumentation/runtime-metrics/javaagent/build.gradle.kts b/instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts similarity index 65% rename from instrumentation/runtime-metrics/javaagent/build.gradle.kts rename to instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts index 343b15624f28..c7513e9130a5 100644 --- a/instrumentation/runtime-metrics/javaagent/build.gradle.kts +++ b/instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation(project(":instrumentation:runtime-metrics:library")) + implementation(project(":instrumentation:runtime-telemetry-jmx:library")) compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") } diff --git a/instrumentation/runtime-metrics/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsInstaller.java b/instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java similarity index 63% rename from instrumentation/runtime-metrics/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsInstaller.java rename to instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java index ac3b61750b4e..d547a65292bd 100644 --- a/instrumentation/runtime-metrics/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java @@ -3,31 +3,31 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimemetrics; +package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjmx; import com.google.auto.service.AutoService; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimemetrics.BufferPools; -import io.opentelemetry.instrumentation.runtimemetrics.Classes; -import io.opentelemetry.instrumentation.runtimemetrics.Cpu; -import io.opentelemetry.instrumentation.runtimemetrics.GarbageCollector; -import io.opentelemetry.instrumentation.runtimemetrics.MemoryPools; -import io.opentelemetry.instrumentation.runtimemetrics.Threads; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.BufferPools; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.Classes; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.Cpu; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.GarbageCollector; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.MemoryPools; +import io.opentelemetry.instrumentation.runtimetelemetryjmx.Threads; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; /** An {@link AgentListener} that enables runtime metrics during agent startup. */ @AutoService(AgentListener.class) -public class RuntimeMetricsInstaller implements AgentListener { +public class JmxRuntimeMetricsInstaller implements AgentListener { @Override public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { ConfigProperties config = autoConfiguredSdk.getConfig(); boolean defaultEnabled = config.getBoolean("otel.instrumentation.common.default-enabled", true); - if (!config.getBoolean("otel.instrumentation.runtime-metrics.enabled", defaultEnabled)) { + if (!config.getBoolean("otel.instrumentation.runtime-telemetry-jmx.enabled", defaultEnabled)) { return; } diff --git a/instrumentation/runtime-metrics/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsTest.groovy b/instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy similarity index 92% rename from instrumentation/runtime-metrics/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsTest.groovy rename to instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy index 17393506cecd..a2ed99b98652 100644 --- a/instrumentation/runtime-metrics/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimemetrics/RuntimeMetricsTest.groovy +++ b/instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimemetrics +package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjmx import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification import spock.util.concurrent.PollingConditions -class RuntimeMetricsTest extends AgentInstrumentationSpecification { +class JmxRuntimeMetricsTest extends AgentInstrumentationSpecification { def "test runtime metrics is enabled"() { when: diff --git a/instrumentation/runtime-metrics/library/README.md b/instrumentation/runtime-telemetry-jmx/library/README.md similarity index 98% rename from instrumentation/runtime-metrics/library/README.md rename to instrumentation/runtime-telemetry-jmx/library/README.md index 7199b5ed3c2f..d8adb02223bf 100644 --- a/instrumentation/runtime-metrics/library/README.md +++ b/instrumentation/runtime-telemetry-jmx/library/README.md @@ -7,7 +7,7 @@ This module provides JVM runtime metrics as documented in the [semantic conventi ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release](https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-runtime-metrics). +release](https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-runtime-telemetry-jmx). For Maven, add to your `pom.xml` dependencies: @@ -15,7 +15,7 @@ For Maven, add to your `pom.xml` dependencies: io.opentelemetry.instrumentation - opentelemetry-runtime-metrics + opentelemetry-runtime-telemetry-jmx OPENTELEMETRY_VERSION @@ -24,7 +24,7 @@ For Maven, add to your `pom.xml` dependencies: For Gradle, add to your dependencies: ```groovy -runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-runtime-metrics:OPENTELEMETRY_VERSION") +runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-jmx:OPENTELEMETRY_VERSION") ``` ### Usage diff --git a/instrumentation/runtime-metrics/library/build.gradle.kts b/instrumentation/runtime-telemetry-jmx/library/build.gradle.kts similarity index 100% rename from instrumentation/runtime-metrics/library/build.gradle.kts rename to instrumentation/runtime-telemetry-jmx/library/build.gradle.kts diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPools.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java similarity index 96% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPools.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java index b754797dc25c..7428385b89c9 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPools.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -46,7 +46,7 @@ public static void registerObservers(OpenTelemetry openTelemetry) { // Visible for testing static void registerObservers(OpenTelemetry openTelemetry, List bufferBeans) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); meter .upDownCounterBuilder("process.runtime.jvm.buffer.usage") diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Classes.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java similarity index 94% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Classes.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java index bf04a8dd0057..f8c932fbf72e 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Classes.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -39,7 +39,7 @@ public static void registerObservers(OpenTelemetry openTelemetry) { // Visible for testing void registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); meter .counterBuilder("process.runtime.jvm.classes.loaded") diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Cpu.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java similarity index 97% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Cpu.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java index 182ae9a44727..427a51d0a4b2 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Cpu.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -80,7 +80,7 @@ void registerObservers( OperatingSystemMXBean osBean, @Nullable Supplier systemCpuUsage, @Nullable Supplier processCpuUsage) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); meter .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollector.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java similarity index 97% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollector.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java index 6a9481ce2f85..14aed265c375 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollector.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import com.sun.management.GarbageCollectionNotificationInfo; import io.opentelemetry.api.OpenTelemetry; @@ -64,7 +64,7 @@ static void registerObservers( OpenTelemetry openTelemetry, List gcBeans, Function notificationInfoExtractor) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); LongHistogram gcTime = meter diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/RuntimeMetricsUtil.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java similarity index 84% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/RuntimeMetricsUtil.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java index f144dce92846..37fdde0e7501 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/RuntimeMetricsUtil.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -11,9 +11,9 @@ import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; import javax.annotation.Nullable; -class RuntimeMetricsUtil { +class JmxRuntimeMetricsUtil { - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-metrics"; + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-telemetry-jmx"; @Nullable private static final String INSTRUMENTATION_VERSION = @@ -27,5 +27,5 @@ static Meter getMeter(OpenTelemetry openTelemetry) { return meterBuilder.build(); } - private RuntimeMetricsUtil() {} + private JmxRuntimeMetricsUtil() {} } diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPools.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java similarity index 97% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPools.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java index 033ddf8d4520..399348284a91 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPools.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -56,7 +56,7 @@ public static void registerObservers(OpenTelemetry openTelemetry) { // Visible for testing static void registerObservers(OpenTelemetry openTelemetry, List poolBeans) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); meter .upDownCounterBuilder("process.runtime.jvm.memory.usage") diff --git a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Threads.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java similarity index 93% rename from instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Threads.java rename to instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java index 891e6772f393..e8b4a2ff19ac 100644 --- a/instrumentation/runtime-metrics/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/Threads.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -42,7 +42,7 @@ public static void registerObservers(OpenTelemetry openTelemetry) { // Visible for testing void registerObservers(OpenTelemetry openTelemetry, ThreadMXBean threadBean) { - Meter meter = RuntimeMetricsUtil.getMeter(openTelemetry); + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); meter .upDownCounterBuilder("process.runtime.jvm.threads.count") diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPoolsTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java similarity index 94% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPoolsTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java index d0593a224c84..4c79df1b787b 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/BufferPoolsTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; @@ -55,7 +55,7 @@ void registerObservers() { BufferPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.buffer.usage", metrics -> metrics.anySatisfy( @@ -75,7 +75,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.buffer.limit", metrics -> metrics.anySatisfy( @@ -94,7 +94,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.buffer.count", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ClassesTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java similarity index 91% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ClassesTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java index 3dd9fb3ba622..867bdd36b654 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ClassesTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Classes.INSTANCE.registerObservers(testing.getOpenTelemetry(), classBean); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.classes.loaded", metrics -> metrics.anySatisfy( @@ -52,7 +52,7 @@ void registerObservers() { point -> point.hasValue(3).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.classes.unloaded", metrics -> metrics.anySatisfy( @@ -68,7 +68,7 @@ void registerObservers() { point -> point.hasValue(2).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.classes.current_loaded", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/CpuTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java similarity index 90% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/CpuTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java index 912172616b4a..e05a0dbc1d96 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/CpuTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -37,7 +37,7 @@ void registerObservers() { testing.getOpenTelemetry(), osBean, systemCpuUsage, processCpuUsage); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.system.cpu.load_1m", metrics -> metrics.anySatisfy( @@ -49,7 +49,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.system.cpu.utilization", metrics -> metrics.anySatisfy( @@ -61,7 +61,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(0.11))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.cpu.utilization", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollectorTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java similarity index 96% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollectorTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java index 3232e6549847..7591a74d202b 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/GarbageCollectorTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -64,7 +64,7 @@ void registerObservers() { createTestNotification("G1 Old Generation", "end of major GC", 11), null); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.gc.duration", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPoolsTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java similarity index 96% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPoolsTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java index 75228268782e..94f62241bc09 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/MemoryPoolsTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; @@ -83,7 +83,7 @@ void registerObservers() { MemoryPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.memory.init", metrics -> metrics.anySatisfy( @@ -109,7 +109,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.memory.usage", metrics -> metrics.anySatisfy( @@ -135,7 +135,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.memory.committed", metrics -> metrics.anySatisfy( @@ -161,7 +161,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.memory.limit", metrics -> metrics.anySatisfy( @@ -187,7 +187,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.memory.usage_after_last_gc", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ScopeUtil.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java similarity index 82% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ScopeUtil.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java index 3f229de822e9..466f111cccdc 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ScopeUtil.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; import io.opentelemetry.sdk.common.InstrumentationScopeInfo; @@ -12,11 +12,11 @@ class ScopeUtil { static final InstrumentationScopeInfo EXPECTED_SCOPE = - InstrumentationScopeInfo.builder("io.opentelemetry.runtime-metrics") + InstrumentationScopeInfo.builder("io.opentelemetry.runtime-telemetry-jmx") .setVersion( Optional.ofNullable( EmbeddedInstrumentationProperties.findVersion( - "io.opentelemetry.runtime-metrics")) + "io.opentelemetry.runtime-telemetry-jmx")) .orElseThrow( () -> new IllegalStateException("Unable to find instrumentation version"))) .build(); diff --git a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ThreadsTest.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java similarity index 88% rename from instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ThreadsTest.java rename to instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java index d9001f4db901..72aae85b33ac 100644 --- a/instrumentation/runtime-metrics/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/ThreadsTest.java +++ b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics; +package io.opentelemetry.instrumentation.runtimetelemetryjmx; -import static io.opentelemetry.instrumentation.runtimemetrics.ScopeUtil.EXPECTED_SCOPE; -import static io.opentelemetry.instrumentation.runtimemetrics.Threads.DAEMON; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimetelemetryjmx.Threads.DAEMON; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Threads.INSTANCE.registerObservers(testing.getOpenTelemetry(), threadBean); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-metrics", + "io.opentelemetry.runtime-telemetry-jmx", "process.runtime.jvm.threads.count", metrics -> metrics.anySatisfy( diff --git a/settings.gradle.kts b/settings.gradle.kts index 0cc03c2559b0..6e6c7bdc93c3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -433,8 +433,8 @@ hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-4. hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-4.8:testing") hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-5.0:javaagent") hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-5.0:testing") -hideFromDependabot(":instrumentation:runtime-metrics:javaagent") -hideFromDependabot(":instrumentation:runtime-metrics:library") +hideFromDependabot(":instrumentation:runtime-telemetry-jmx:javaagent") +hideFromDependabot(":instrumentation:runtime-telemetry-jmx:library") hideFromDependabot(":instrumentation:runtime-telemetry-jfr:javaagent") hideFromDependabot(":instrumentation:runtime-telemetry-jfr:library") hideFromDependabot(":instrumentation:rxjava:rxjava-1.0:library") From 221f4a6d0ddeec3a82d9720b495892336c3beecc Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Wed, 12 Apr 2023 12:46:07 -0400 Subject: [PATCH 2/7] restructure --- docs/supported-libraries.md | 2 +- .../jmx-metrics/javaagent/README.md | 2 +- .../javaagent/build.gradle.kts | 4 +- .../Java17RuntimeMetricsInstaller.java} | 25 +++--- .../test/groovy}/JmxRuntimeMetricsTest.groovy | 2 - .../JfrRuntimeMetricsTest.java | 2 +- .../runtime-metrics-java17}/library/README.md | 17 ++-- .../library/build.gradle.kts | 3 +- .../HandlerRegistry.java | 44 +++++------ .../runtimemetricsjava17}/JfrFeature.java | 6 +- .../runtimemetricsjava17/RuntimeMetrics.java} | 50 ++++++++---- .../RuntimeMetricsBuilder.java} | 39 ++++++--- .../AbstractThreadDispatchingHandler.java | 2 +- .../internal/Constants.java | 2 +- .../internal/DurationUtil.java | 2 +- .../internal/RecordedEventHandler.java | 4 +- .../internal/ThreadGrouper.java | 2 +- .../buffer/DirectBufferStatisticsHandler.java | 12 +-- .../classes/ClassesLoadedHandler.java | 8 +- .../ContainerConfigurationHandler.java | 8 +- .../cpu/ContextSwitchRateHandler.java | 8 +- .../internal/cpu/LongLockHandler.java | 14 ++-- .../internal/cpu/OverallCpuLoadHandler.java | 8 +- .../G1GarbageCollectionHandler.java | 20 ++--- .../OldGarbageCollectionHandler.java | 20 ++--- .../YoungGarbageCollectionHandler.java | 20 ++--- .../memory/CodeCacheConfigurationHandler.java | 20 ++--- .../internal/memory/G1HeapSummaryHandler.java | 28 +++---- .../memory/MetaspaceSummaryHandler.java | 32 ++++---- .../ObjectAllocationInNewTlabHandler.java | 18 ++--- .../ObjectAllocationOutsideTlabHandler.java | 18 ++--- .../memory/ParallelHeapSummaryHandler.java | 38 ++++----- .../internal/network/NetworkReadHandler.java | 28 +++---- .../internal/network/NetworkWriteHandler.java | 28 +++---- .../internal/threads/ThreadCountHandler.java | 10 +-- .../BufferMetricTest.java | 8 +- .../CodeCacheMemoryInitMetricTest.java | 10 +-- .../G1GcMemoryMetricTest.java | 30 +++---- .../runtimemetricsjava17}/GenerateDocs.java | 10 +-- .../JfrClassesLoadedCountTest.java | 4 +- .../runtimemetricsjava17}/JfrCpuLockTest.java | 4 +- .../runtimemetricsjava17}/JfrExtension.java | 16 ++-- .../JfrOverallCpuLoadHandlerTest.java | 4 +- .../JfrThreadCountTest.java | 6 +- .../MetaspaceMemoryCommittedMetricTest.java | 10 +-- .../MetaspaceMemoryLimitMetricTest.java | 8 +- .../MetaspaceMemoryUsageMetricTest.java | 12 +-- .../PsGcMemoryMetricTest.java | 34 ++++---- .../RuntimeMetricsBuilderTest.java} | 16 ++-- .../RuntimeMetricsTest.java} | 27 ++++--- .../SerialGcMemoryMetricTest.java | 14 ++-- .../javaagent/build.gradle.kts | 2 +- .../Java8RuntimeMetricsInstaller.java} | 30 ++++--- .../runtime-metrics-java8}/library/README.md | 6 +- .../library/build.gradle.kts | 0 .../runtimemetricsjava8}/BufferPools.java | 40 ++++++---- .../runtimemetricsjava8/Classes.java | 79 +++++++++++++++++++ .../runtimemetricsjava8}/Cpu.java | 78 ++++++++++-------- .../GarbageCollector.java | 2 +- .../JmxRuntimeMetricsUtil.java | 17 +++- .../runtimemetricsjava8}/MemoryPools.java | 79 +++++++++++-------- .../runtimemetricsjava8}/Threads.java | 36 +++++---- .../runtimemetricsjava8}/BufferPoolsTest.java | 10 +-- .../runtimemetricsjava8}/ClassesTest.java | 10 +-- .../runtimemetricsjava8}/CpuTest.java | 10 +-- .../GarbageCollectorTest.java | 6 +- .../runtimemetricsjava8}/MemoryPoolsTest.java | 14 ++-- .../runtimemetricsjava8/ScopeUtil.java | 33 ++++++++ .../runtimemetricsjava8}/ThreadsTest.java | 8 +- .../runtimetelemetryjmx/Classes.java | 69 ---------------- .../runtimetelemetryjmx/ScopeUtil.java | 25 ------ settings.gradle.kts | 8 +- 72 files changed, 725 insertions(+), 596 deletions(-) rename instrumentation/{runtime-telemetry-jfr => runtime-metrics/runtime-metrics-java17}/javaagent/build.gradle.kts (58%) rename instrumentation/{runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java => runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java} (55%) rename instrumentation/{runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java17/javaagent/src/test/groovy}/JmxRuntimeMetricsTest.groovy (96%) rename instrumentation/{runtime-telemetry-jfr/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17}/JfrRuntimeMetricsTest.java (95%) rename instrumentation/{runtime-telemetry-jfr => runtime-metrics/runtime-metrics-java17}/library/README.md (70%) rename instrumentation/{runtime-telemetry-jfr => runtime-metrics/runtime-metrics-java17}/library/build.gradle.kts (88%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/HandlerRegistry.java (60%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrFeature.java (83%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetry.java => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java} (53%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilder.java => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java} (57%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/AbstractThreadDispatchingHandler.java (94%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/Constants.java (98%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/DurationUtil.java (90%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/RecordedEventHandler.java (93%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/ThreadGrouper.java (90%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/buffer/DirectBufferStatisticsHandler.java (85%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/classes/ClassesLoadedHandler.java (89%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/container/ContainerConfigurationHandler.java (80%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/cpu/ContextSwitchRateHandler.java (81%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/cpu/LongLockHandler.java (78%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/cpu/OverallCpuLoadHandler.java (87%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/garbagecollection/G1GarbageCollectionHandler.java (59%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/garbagecollection/OldGarbageCollectionHandler.java (60%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/garbagecollection/YoungGarbageCollectionHandler.java (61%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/CodeCacheConfigurationHandler.java (64%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/G1HeapSummaryHandler.java (77%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/MetaspaceSummaryHandler.java (72%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/ObjectAllocationInNewTlabHandler.java (71%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/ObjectAllocationOutsideTlabHandler.java (71%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/memory/ParallelHeapSummaryHandler.java (79%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/network/NetworkReadHandler.java (63%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/network/NetworkWriteHandler.java (69%) rename instrumentation/{runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/internal/threads/ThreadCountHandler.java (82%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/BufferMetricTest.java (90%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/CodeCacheMemoryInitMetricTest.java (69%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/G1GcMemoryMetricTest.java (67%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/GenerateDocs.java (92%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrClassesLoadedCountTest.java (93%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrCpuLockTest.java (82%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrExtension.java (83%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrOverallCpuLoadHandlerTest.java (86%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/JfrThreadCountTest.java (87%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/MetaspaceMemoryCommittedMetricTest.java (68%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/MetaspaceMemoryLimitMetricTest.java (71%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/MetaspaceMemoryUsageMetricTest.java (66%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/PsGcMemoryMetricTest.java (64%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilderTest.java => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java} (78%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryTest.java => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java} (75%) rename instrumentation/{runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr => runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17}/SerialGcMemoryMetricTest.java (71%) rename instrumentation/{runtime-telemetry-jmx => runtime-metrics/runtime-metrics-java8}/javaagent/build.gradle.kts (61%) rename instrumentation/{runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java => runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java} (53%) rename instrumentation/{runtime-telemetry-jmx => runtime-metrics/runtime-metrics-java8}/library/README.md (98%) rename instrumentation/{runtime-telemetry-jmx => runtime-metrics/runtime-metrics-java8}/library/build.gradle.kts (100%) rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/BufferPools.java (67%) create mode 100644 instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Classes.java rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/Cpu.java (67%) rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/GarbageCollector.java (98%) rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/JmxRuntimeMetricsUtil.java (65%) rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/MemoryPools.java (65%) rename instrumentation/{runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/Threads.java (57%) rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/BufferPoolsTest.java (94%) rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/ClassesTest.java (91%) rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/CpuTest.java (89%) rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/GarbageCollectorTest.java (96%) rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/MemoryPoolsTest.java (96%) create mode 100644 instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java rename instrumentation/{runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx => runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8}/ThreadsTest.java (88%) delete mode 100644 instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java delete mode 100644 instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java diff --git a/docs/supported-libraries.md b/docs/supported-libraries.md index fc384b5f878f..2b99ffacbb0d 100644 --- a/docs/supported-libraries.md +++ b/docs/supported-libraries.md @@ -70,7 +70,7 @@ These are the supported libraries and frameworks: | [Java Executors](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html) | Java 8+ | N/A | Context propagation | | [Java Http Client](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/package-summary.html) | Java 11+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] | | [java.util.logging](https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html) | Java 8+ | N/A | none | -| [Java Platform](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ManagementFactory.html) | Java 8+ | [opentelemetry-runtime-telemetry-jmx](../instrumentation/runtime-telemetry-jmx/library),
[opentelemetry-resources](../instrumentation/resources/library) | [JVM Runtime Metrics] | +| [Java Platform](https://docs.oracle.com/javase/8/docs/api/java/lang/management/ManagementFactory.html) | Java 8+ | [opentelemetry-runtime-metrics-java8](../instrumentation/runtime-metrics/runtime-metrics-java8/library),[opentelemetry-runtime-metrics-java17](../instrumentation/runtime-metrics/runtime-metrics-java17/library),
[opentelemetry-resources](../instrumentation/resources/library) | [JVM Runtime Metrics] | | [JAX-RS](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/package-summary.html) | 0.5+ | N/A | Provides `http.route` [2], Controller Spans [3] | | [JAX-RS Client](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/client/package-summary.html) | 1.1+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] | | [JAX-WS](https://jakarta.ee/specifications/xml-web-services/2.3/apidocs/javax/xml/ws/package-summary.html) | 2.0+ (not including 3.x yet) | N/A | Provides `http.route` [2], Controller Spans [3] | diff --git a/instrumentation/jmx-metrics/javaagent/README.md b/instrumentation/jmx-metrics/javaagent/README.md index c38a9c478ce3..3d1c56d6374e 100644 --- a/instrumentation/jmx-metrics/javaagent/README.md +++ b/instrumentation/jmx-metrics/javaagent/README.md @@ -12,7 +12,7 @@ To control the time interval between MBean detection attempts, one can use the ` ## Predefined metrics -JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-telemetry-jmx/library/README.md)), application servers, third-party libraries, and applications. +JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-metrics-java8/library/README.md)), application servers, third-party libraries, and applications. JMX Metric Insight comes with a number of predefined configurations containing curated sets of JMX metrics for frequently used application servers or frameworks. To enable collection of the predefined metrics, specify a list of targets as the value for the `otel.jmx.target.system` property. For example diff --git a/instrumentation/runtime-telemetry-jfr/javaagent/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/build.gradle.kts similarity index 58% rename from instrumentation/runtime-telemetry-jfr/javaagent/build.gradle.kts rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/build.gradle.kts index 488cd0a0bc70..b7ca422d7896 100644 --- a/instrumentation/runtime-telemetry-jfr/javaagent/build.gradle.kts +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/build.gradle.kts @@ -7,12 +7,12 @@ otelJava { } dependencies { - implementation(project(":instrumentation:runtime-telemetry-jfr:library")) + implementation(project(":instrumentation:runtime-metrics:runtime-metrics-java17:library")) compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") } tasks { test { - jvmArgs("-Dotel.instrumentation.runtime-telemetry-jfr.enabled=true") + jvmArgs("-Dotel.instrumentation.runtime-metrics-java17.enabled=true") } } diff --git a/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java similarity index 55% rename from instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java index 7ef4d49808cc..d5f279b3939f 100644 --- a/instrumentation/runtime-telemetry-jfr/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java @@ -3,38 +3,41 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava17; import com.google.auto.service.AutoService; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrTelemetry; +import io.opentelemetry.instrumentation.runtimemetricsjava17.RuntimeMetrics; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; /** An {@link AgentListener} that enables runtime metrics during agent startup. */ @AutoService(AgentListener.class) -public class JfrRuntimeMetricsInstaller implements AgentListener { +public class Java17RuntimeMetricsInstaller implements AgentListener { @Override public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { ConfigProperties config = autoConfiguredSdk.getConfig(); OpenTelemetry openTelemetry = GlobalOpenTelemetry.get(); - JfrTelemetry jfrTelemetry = null; + RuntimeMetrics runtimeMetrics = null; /* By default don't use any JFR metrics. May change this once semantic conventions are updated. - If enabled, default to only the metrics not already covered by runtime-telemetry-jmx + If enabled, default to only the metrics not already covered by runtime-metrics-java8 */ - if (config.getBoolean("otel.instrumentation.runtime-telemetry-jfr.enable-all", false)) { - jfrTelemetry = JfrTelemetry.builder(openTelemetry).enableAllFeatures().build(); - } else if (config.getBoolean("otel.instrumentation.runtime-telemetry-jfr.enabled", false)) { - jfrTelemetry = JfrTelemetry.create(openTelemetry); + if (config.getBoolean("otel.instrumentation.runtime-metrics-java17.enable-all", false)) { + runtimeMetrics = RuntimeMetrics.builder(openTelemetry).enableAllFeatures().build(); + } else if (config.getBoolean("otel.instrumentation.runtime-metrics-java17.enabled", false)) { + runtimeMetrics = RuntimeMetrics.create(openTelemetry); + } else { + // This only uses metrics gathered by JMX + runtimeMetrics = RuntimeMetrics.builder(openTelemetry).disableAllFeatures().build(); } - if (jfrTelemetry != null) { - JfrTelemetry finalJfrTelemetry = jfrTelemetry; + if (runtimeMetrics != null) { + RuntimeMetrics finalJfrTelemetry = runtimeMetrics; Thread cleanupTelemetry = new Thread(() -> finalJfrTelemetry.close()); Runtime.getRuntime().addShutdownHook(cleanupTelemetry); } diff --git a/instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/groovy/JmxRuntimeMetricsTest.groovy similarity index 96% rename from instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/groovy/JmxRuntimeMetricsTest.groovy index a2ed99b98652..16ea3d90efe1 100644 --- a/instrumentation/runtime-telemetry-jmx/javaagent/src/test/groovy/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsTest.groovy +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/groovy/JmxRuntimeMetricsTest.groovy @@ -3,8 +3,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjmx - import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification import spock.util.concurrent.PollingConditions diff --git a/instrumentation/runtime-telemetry-jfr/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java similarity index 95% rename from instrumentation/runtime-telemetry-jfr/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java index 75d0f2531b25..fb3937b31ea2 100644 --- a/instrumentation/runtime-telemetry-jfr/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjfr/JfrRuntimeMetricsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.awaitility.Awaitility.await; diff --git a/instrumentation/runtime-telemetry-jfr/library/README.md b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md similarity index 70% rename from instrumentation/runtime-telemetry-jfr/library/README.md rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md index 5027388e9df6..ea82805d8266 100644 --- a/instrumentation/runtime-telemetry-jfr/library/README.md +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md @@ -1,25 +1,30 @@ -The main entry point is the `JfrTelemetry` class in the package `io.opentelemetry.instrumentation.runtimetelemetryjfr`: +The main entry point is the `RuntimeMetrics` class in the package `io.opentelemetry.instrumentation.runtimemetricsjava17`: ```java // Initialize JfrTelemetry -JfrTelemetry jfrTelemetry = JfrTelemetry.create(openTelemetry); +RuntimeMetrics runtimeMetrics = RuntimeMetrics.create(openTelemetry); // Close JfrTelemetry to stop listening for JFR events -jfrTelemetry.close(); +runtimeMetrics.close(); ``` -`JfrTelemetry` works by subscribing to certain JFR events, and using relevant bits of information +`RuntimeMetrics` uses two underlying implementations to gather the full set of metric data, JFR and JMX. +The metrics gathered by the two implementations are mutually exclusive and the union of them produces +the full set of available metrics. +The JMX component is reused from the `io.opentelemetry.instrumentation.runtimemetricsjava8` package. +The JFR component uses JFR streaming and is only available in JAVA 17. +It works by subscribing to certain JFR events, and using relevant bits of information from the events to produce telemetry data like metrics. The code is divided into "handlers", which listen for specific events and produce relevant telemetry. The handlers are organized into features (i.e `JfrFeature`), which represent a category of telemetry and can be toggled on and -off. `JfrTelemetry` evaluates which features are enabled, and only listens for the events required +off. `RuntimeMetrics` evaluates which features are enabled, and only listens for the events required by the handlers associated with those features. Enable or disable a feature as follows: ``` -JfrTelemetry jfrTelemetry = JfrTelemetry.builder(openTelemetry) +RuntimeMetrics runtimeMetrics = RuntimeMetrics.builder(openTelemetry) .enableFeature(JfrFeature.BUFFER_METRICS) .disableFeature(JfrFeature.LOCK_METRICS) .build(); diff --git a/instrumentation/runtime-telemetry-jfr/library/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts similarity index 88% rename from instrumentation/runtime-telemetry-jfr/library/build.gradle.kts rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts index 4763c1a7d700..865b7f389c21 100644 --- a/instrumentation/runtime-telemetry-jfr/library/build.gradle.kts +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts @@ -7,13 +7,14 @@ otelJava { } dependencies { + implementation(project(":instrumentation:runtime-metrics:runtime-metrics-java8:library")) testImplementation("io.github.netmikey.logunit:logunit-jul:1.1.3") } tasks.create("generateDocs", JavaExec::class) { group = "build" description = "Generate table for README.md" classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("io.opentelemetry.instrumentation.runtimetelemetryjfr.GenerateDocs") + mainClass.set("io.opentelemetry.instrumentation.runtimemetricsjava17.GenerateDocs") systemProperties.set("jfr.readme.path", project.projectDir.toString() + "/README.md") } tasks { diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/HandlerRegistry.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java similarity index 60% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/HandlerRegistry.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java index 55fb72bdd615..acab51506eef 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/HandlerRegistry.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java @@ -3,32 +3,32 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.MeterBuilder; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.buffer.DirectBufferStatisticsHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.classes.ClassesLoadedHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.container.ContainerConfigurationHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu.ContextSwitchRateHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu.LongLockHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu.OverallCpuLoadHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection.G1GarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection.OldGarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection.YoungGarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.CodeCacheConfigurationHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.G1HeapSummaryHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.MetaspaceSummaryHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.ObjectAllocationInNewTlabHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.ObjectAllocationOutsideTlabHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory.ParallelHeapSummaryHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.network.NetworkReadHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.network.NetworkWriteHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.threads.ThreadCountHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.buffer.DirectBufferStatisticsHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.classes.ClassesLoadedHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.container.ContainerConfigurationHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.ContextSwitchRateHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.LongLockHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.OverallCpuLoadHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.G1GarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.OldGarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.YoungGarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.CodeCacheConfigurationHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.G1HeapSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.MetaspaceSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ObjectAllocationInNewTlabHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ObjectAllocationOutsideTlabHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ParallelHeapSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network.NetworkReadHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network.NetworkWriteHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.threads.ThreadCountHandler; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.util.ArrayList; @@ -38,7 +38,7 @@ import javax.annotation.Nullable; final class HandlerRegistry { - private static final String SCOPE_NAME = "io.opentelemetry.instrumentation.runtimetelemetryjfr"; + private static final String SCOPE_NAME = "io.opentelemetry.instrumentation.runtime-metrics"; @Nullable private static final String SCOPE_VERSION = diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java similarity index 83% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java index 04c686fcd418..354dc41b2052 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrFeature.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; /** - * Enumeration of JFR features, which can be toggled on or off via {@link JfrTelemetryBuilder}. + * Enumeration of JFR features, which can be toggled on or off via {@link RuntimeMetricsBuilder}. * *

Features are disabled by default if they are already available through {@code - * io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-jmx} JMX based instrumentation. + * io.opentelemetry.instrumentation:opentelemetry-runtime-metrics-java8} JMX based instrumentation. */ public enum JfrFeature { BUFFER_METRICS(/* defaultEnabled= */ false), diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetry.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java similarity index 53% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetry.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java index 72b9617c9ab6..33a905f5178b 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetry.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java @@ -3,10 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava8.BufferPools; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Classes; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Cpu; +import io.opentelemetry.instrumentation.runtimemetricsjava8.GarbageCollector; +import io.opentelemetry.instrumentation.runtimemetricsjava8.MemoryPools; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Threads; import java.io.Closeable; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -16,10 +22,10 @@ import jdk.jfr.EventSettings; import jdk.jfr.consumer.RecordingStream; -/** The entry point class for the JFR-over-OpenTelemetry support. */ -public final class JfrTelemetry implements Closeable { +/** The entry point class for runtime metrics support using JFR and JMX. */ +public final class RuntimeMetrics implements Closeable { - private static final Logger logger = Logger.getLogger(JfrTelemetry.class.getName()); + private static final Logger logger = Logger.getLogger(RuntimeMetrics.class.getName()); private final AtomicBoolean isClosed = new AtomicBoolean(); private final OpenTelemetry openTelemetry; @@ -27,7 +33,8 @@ public final class JfrTelemetry implements Closeable { private final RecordingStream recordingStream; @SuppressWarnings("CatchingUnchecked") - JfrTelemetry(OpenTelemetry openTelemetry, Predicate featurePredicate) { + RuntimeMetrics( + OpenTelemetry openTelemetry, Predicate featurePredicate, boolean disableJmx) { this.openTelemetry = openTelemetry; this.recordedEventHandlers = HandlerRegistry.getHandlers(openTelemetry, featurePredicate); try { @@ -42,31 +49,41 @@ public final class JfrTelemetry implements Closeable { Thread daemonRunner = new Thread(() -> recordingStream.start()); daemonRunner.setDaemon(true); daemonRunner.start(); + + // Set up metrics gathered by JMX + if (!disableJmx) { + BufferPools.registerObservers(openTelemetry); + Classes.registerObservers(openTelemetry); + Cpu.registerObservers(openTelemetry); + MemoryPools.registerObservers(openTelemetry); + Threads.registerObservers(openTelemetry); + GarbageCollector.registerObservers(openTelemetry); + } } catch (Exception e) { close(); - throw new IllegalStateException("Error starting JfrTelemetry", e); + throw new IllegalStateException("Error starting RuntimeMetrics", e); } } /** - * Create and start {@link JfrTelemetry}, configured with the default {@link JfrFeature}s. + * Create and start {@link RuntimeMetrics}, configured with the default {@link JfrFeature}s. * *

Listens for select JFR events, extracts data, and records to various metrics. Recording will * continue until {@link #close()} is called. * * @param openTelemetry the {@link OpenTelemetry} instance used to record telemetry */ - public static JfrTelemetry create(OpenTelemetry openTelemetry) { - return new JfrTelemetryBuilder(openTelemetry).build(); + public static RuntimeMetrics create(OpenTelemetry openTelemetry) { + return new RuntimeMetricsBuilder(openTelemetry).build(); } /** - * Create a builder for configuring {@link JfrTelemetry}. + * Create a builder for configuring {@link RuntimeMetrics}. * * @param openTelemetry the {@link OpenTelemetry} instance used to record telemetry */ - public static JfrTelemetryBuilder builder(OpenTelemetry openTelemetry) { - return new JfrTelemetryBuilder(openTelemetry); + public static RuntimeMetricsBuilder builder(OpenTelemetry openTelemetry) { + return new RuntimeMetricsBuilder(openTelemetry); } // Visible for testing @@ -88,10 +105,15 @@ RecordingStream getRecordingStream() { @Override public void close() { if (!isClosed.compareAndSet(false, true)) { - logger.log(Level.WARNING, "JfrTelemetry is already closed"); + logger.log(Level.WARNING, "RuntimeMetrics is already closed"); return; } recordingStream.close(); recordedEventHandlers.forEach(RecordedEventHandler::close); + BufferPools.closeObservers(); + Classes.closeObservers(); + Cpu.closeObservers(); + MemoryPools.closeObservers(); + Threads.closeObservers(); } } diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilder.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java similarity index 57% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilder.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java index 1d2f9abd6bba..d5c483bab5c9 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilder.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; @@ -11,14 +11,16 @@ import java.util.EnumMap; import java.util.function.Predicate; -/** Builder for {@link JfrTelemetry}. */ -public final class JfrTelemetryBuilder { +/** Builder for {@link RuntimeMetrics}. */ +public final class RuntimeMetricsBuilder { private final OpenTelemetry openTelemetry; // Visible for testing final EnumMap enabledFeatureMap; - JfrTelemetryBuilder(OpenTelemetry openTelemetry) { + private boolean disableJmx = false; + + RuntimeMetricsBuilder(OpenTelemetry openTelemetry) { this.openTelemetry = openTelemetry; enabledFeatureMap = new EnumMap<>(JfrFeature.class); for (JfrFeature feature : JfrFeature.values()) { @@ -28,36 +30,51 @@ public final class JfrTelemetryBuilder { /** Enable telemetry collection for all {@link JfrFeature}s. */ @CanIgnoreReturnValue - public JfrTelemetryBuilder enableAllFeatures() { + public RuntimeMetricsBuilder enableAllFeatures() { Arrays.stream(JfrFeature.values()).forEach(this::enableFeature); return this; } /** Enable telemetry collection associated with the {@link JfrFeature}. */ @CanIgnoreReturnValue - public JfrTelemetryBuilder enableFeature(JfrFeature feature) { + public RuntimeMetricsBuilder enableFeature(JfrFeature feature) { enabledFeatureMap.put(feature, true); return this; } /** Disable telemetry collection for all {@link JfrFeature}s. */ @CanIgnoreReturnValue - public JfrTelemetryBuilder disableAllFeatures() { + public RuntimeMetricsBuilder disableAllFeatures() { Arrays.stream(JfrFeature.values()).forEach(this::disableFeature); return this; } + /** Disable telemetry collection for all metrics. */ + @CanIgnoreReturnValue + public RuntimeMetricsBuilder disableAllMetrics() { + disableAllFeatures(); + disableAllJmx(); + return this; + } + /** Disable telemetry collection associated with the {@link JfrFeature}. */ @CanIgnoreReturnValue - public JfrTelemetryBuilder disableFeature(JfrFeature feature) { + public RuntimeMetricsBuilder disableFeature(JfrFeature feature) { enabledFeatureMap.put(feature, false); return this; } - /** Build and start an {@link JfrTelemetry} with the config from this builder. */ - public JfrTelemetry build() { + /** Disable telemetry collection associated with the {@link JfrFeature}. */ + @CanIgnoreReturnValue + public RuntimeMetricsBuilder disableAllJmx() { + disableJmx = true; + return this; + } + + /** Build and start an {@link RuntimeMetrics} with the config from this builder. */ + public RuntimeMetrics build() { Predicate featurePredicate = jfrFeature -> enabledFeatureMap.getOrDefault(jfrFeature, jfrFeature.isDefaultEnabled()); - return new JfrTelemetry(openTelemetry, featurePredicate); + return new RuntimeMetrics(openTelemetry, featurePredicate, disableJmx); } } diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/AbstractThreadDispatchingHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java similarity index 94% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/AbstractThreadDispatchingHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java index 3aef428cd128..2e36655a6644 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/AbstractThreadDispatchingHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; import java.util.HashMap; import java.util.Map; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/Constants.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java similarity index 98% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/Constants.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java index 3d8143bf91da..bab923ee9da2 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/Constants.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/DurationUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java similarity index 90% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/DurationUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java index dc6ee537144e..0b4cf62e0d5d 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/DurationUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; import java.time.Duration; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/RecordedEventHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java similarity index 93% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/RecordedEventHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java index e0c7b9623dc1..b200102d5dd1 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/RecordedEventHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; import java.time.Duration; import java.util.List; import java.util.Optional; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/ThreadGrouper.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java similarity index 90% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/ThreadGrouper.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java index 5aea6d84be66..99ab835e2ca5 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/ThreadGrouper.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; import java.util.Optional; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/buffer/DirectBufferStatisticsHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java similarity index 85% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/buffer/DirectBufferStatisticsHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java index 950d2cc1e7ac..ad3cb5f07a78 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/buffer/DirectBufferStatisticsHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java @@ -3,16 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.buffer; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.buffer; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_BUFFERS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_BUFFERS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/classes/ClassesLoadedHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java similarity index 89% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/classes/ClassesLoadedHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java index fc98be87431b..241016fdb6b6 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/classes/ClassesLoadedHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.classes; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.classes; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_CLASSES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_CLASSES; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/container/ContainerConfigurationHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java similarity index 80% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/container/ContainerConfigurationHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java index 62e59e13c9ae..2fbc6982b75e 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/container/ContainerConfigurationHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.container; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.container; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ONE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ONE; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/ContextSwitchRateHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java similarity index 81% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/ContextSwitchRateHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java index 373c905683d8..2f08d342c94a 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/ContextSwitchRateHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.HERTZ; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HERTZ; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/LongLockHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java similarity index 78% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/LongLockHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java index 40b136e160ae..495f004abc9a 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/LongLockHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java @@ -3,18 +3,18 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; import java.time.Duration; import java.util.Optional; import java.util.function.Consumer; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/OverallCpuLoadHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java similarity index 87% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/OverallCpuLoadHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java index 142ee4b39422..28a2cb19e3c7 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/cpu/OverallCpuLoadHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.cpu; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_UTILIZATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_UTILIZATION; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/G1GarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java similarity index 59% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/G1GarbageCollectionHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java index 053f04a62253..d6efd61146d5 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/G1GarbageCollectionHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java @@ -3,21 +3,21 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.Optional; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/OldGarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java similarity index 60% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/OldGarbageCollectionHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java index 66381287c67c..30c094b7d167 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/OldGarbageCollectionHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java @@ -3,21 +3,21 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.Optional; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/YoungGarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java similarity index 61% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/YoungGarbageCollectionHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java index ffc3e092bbf5..fbaaf7893c71 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/garbagecollection/YoungGarbageCollectionHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java @@ -3,21 +3,21 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.garbagecollection; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.Optional; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/CodeCacheConfigurationHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java similarity index 64% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/CodeCacheConfigurationHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java index f5ca38b06a4e..da5c68e10eec 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/CodeCacheConfigurationHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java @@ -3,20 +3,20 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.INITIAL_SIZE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.NON_HEAP; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.INITIAL_SIZE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NON_HEAP; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/G1HeapSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java similarity index 77% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/G1HeapSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java index 07d344fc54ff..72e4e0dea9e2 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/G1HeapSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java @@ -3,23 +3,23 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; - -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.HEAP; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_AFTER; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; + +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HEAP; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/MetaspaceSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java similarity index 72% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/MetaspaceSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java index dde56aca0a7f..da5f185926a2 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/MetaspaceSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java @@ -3,26 +3,26 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.NON_HEAP; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.RESERVED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.USED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NON_HEAP; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.RESERVED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.USED; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationInNewTlabHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java similarity index 71% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationInNewTlabHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java index 0e7e4fe340b9..8e5b5cc3e38c 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationInNewTlabHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java @@ -3,20 +3,20 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ARENA_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ARENA_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationOutsideTlabHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java similarity index 71% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationOutsideTlabHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java index bc89fef4375a..76b7563ec679 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ObjectAllocationOutsideTlabHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java @@ -3,20 +3,20 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ARENA_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ARENA_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ParallelHeapSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java similarity index 79% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ParallelHeapSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java index b3bdd8410b04..36a29061c76b 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/memory/ParallelHeapSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java @@ -3,28 +3,28 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.memory; - -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.COMMITTED_SIZE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.HEAP; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.RESERVED_SIZE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.USED; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; + +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.COMMITTED_SIZE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HEAP; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.RESERVED_SIZE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.USED; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkReadHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java similarity index 63% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkReadHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java index 4b40b36a4ab9..55c763b9aa2d 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkReadHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java @@ -3,26 +3,26 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.network; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_NETWORK_MODE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.NETWORK_MODE_READ; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_NETWORK_MODE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NETWORK_MODE_READ; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkWriteHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java similarity index 69% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkWriteHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java index bd9f23a0683a..b66da98f5c41 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/network/NetworkWriteHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java @@ -3,26 +3,26 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.network; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_NETWORK_MODE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.NETWORK_MODE_WRITE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_NETWORK_MODE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NETWORK_MODE_WRITE; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/threads/ThreadCountHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java similarity index 82% rename from instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/threads/ThreadCountHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java index 5221f02bcb87..0c9dd216da86 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/internal/threads/ThreadCountHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java @@ -3,15 +3,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.threads; +package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.threads; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_DAEMON; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_THREADS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_DAEMON; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_THREADS; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.JfrFeature; -import io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/BufferMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java similarity index 90% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/BufferMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java index a7742f4c0475..670b392ed514 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/BufferMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_BUFFERS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_BUFFERS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/CodeCacheMemoryInitMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java similarity index 69% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/CodeCacheMemoryInitMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java index f8cb68564195..9a9a462df4f7 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/CodeCacheMemoryInitMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_CODE_CACHE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_CODE_CACHE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_INIT; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/G1GcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java similarity index 67% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/G1GcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java index 4c1e235dcd6a..d40d4f36c7ec 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/G1GcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java @@ -3,22 +3,22 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_G1_EDEN_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_G1_SURVIVOR_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_G1_EDEN_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_G1_SURVIVOR_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/GenerateDocs.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java similarity index 92% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/GenerateDocs.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java index 12402eaaa05c..96c0fabc9e81 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/GenerateDocs.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toSet; @@ -38,7 +38,7 @@ private GenerateDocs() {} public static void main(String[] args) throws Exception { // Suppress info level logs - Logger.getLogger(JfrTelemetry.class.getName()).setLevel(Level.WARNING); + Logger.getLogger(RuntimeMetrics.class.getName()).setLevel(Level.WARNING); String jfrReadmePath = System.getProperty(JFR_README_PATH_KEY); if (jfrReadmePath == null) { @@ -64,7 +64,7 @@ private static String generateMarkdownTable() throws InterruptedException { map.put( feature, new JfrTelemetryWithFeature( - JfrTelemetry.builder(sdk).disableAllFeatures().enableFeature(feature).build(), + RuntimeMetrics.builder(sdk).disableAllFeatures().enableFeature(feature).build(), sdk, reader)); } @@ -107,12 +107,12 @@ private static String generateMarkdownTable() throws InterruptedException { } private static class JfrTelemetryWithFeature { - private final JfrTelemetry jfrTelemetry; + private final RuntimeMetrics jfrTelemetry; private final OpenTelemetrySdk sdk; private final InMemoryMetricReader reader; private JfrTelemetryWithFeature( - JfrTelemetry jfrTelemetry, OpenTelemetrySdk sdk, InMemoryMetricReader reader) { + RuntimeMetrics jfrTelemetry, OpenTelemetrySdk sdk, InMemoryMetricReader reader) { this.jfrTelemetry = jfrTelemetry; this.sdk = sdk; this.reader = reader; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrClassesLoadedCountTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java similarity index 93% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrClassesLoadedCountTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java index bd98037971fc..05fbd96450f5 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrClassesLoadedCountTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_CLASSES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_CLASSES; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrCpuLockTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java similarity index 82% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrCpuLockTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java index b5287a77494d..4493bca6bfa1 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrCpuLockTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrExtension.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java similarity index 83% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrExtension.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java index 262cb72c3401..b96547b7bfd6 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrExtension.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.awaitility.Awaitility.await; @@ -22,13 +22,13 @@ public class JfrExtension implements BeforeEachCallback, AfterEachCallback { - private final Consumer builderConsumer; + private final Consumer builderConsumer; private SdkMeterProvider meterProvider; private InMemoryMetricReader metricReader; - private JfrTelemetry jfrTelemetry; + private RuntimeMetrics runtimeMetrics; - public JfrExtension(Consumer builderConsumer) { + public JfrExtension(Consumer builderConsumer) { this.builderConsumer = builderConsumer; } @@ -43,9 +43,9 @@ public void beforeEach(ExtensionContext context) { metricReader = InMemoryMetricReader.create(); meterProvider = SdkMeterProvider.builder().registerMetricReader(metricReader).build(); OpenTelemetrySdk sdk = OpenTelemetrySdk.builder().setMeterProvider(meterProvider).build(); - JfrTelemetryBuilder builder = JfrTelemetry.builder(sdk); + RuntimeMetricsBuilder builder = RuntimeMetrics.builder(sdk); builderConsumer.accept(builder); - jfrTelemetry = builder.build(); + runtimeMetrics = builder.build(); } @Override @@ -53,8 +53,8 @@ public void afterEach(ExtensionContext context) { if (meterProvider != null) { meterProvider.close(); } - if (jfrTelemetry != null) { - jfrTelemetry.close(); + if (runtimeMetrics != null) { + runtimeMetrics.close(); } } diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrOverallCpuLoadHandlerTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java similarity index 86% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrOverallCpuLoadHandlerTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java index ff5469e1f8f1..474203cc3d91 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrOverallCpuLoadHandlerTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_UTILIZATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_UTILIZATION; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrThreadCountTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java similarity index 87% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrThreadCountTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java index 4e961b744b6e..e266b64e17b1 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrThreadCountTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.DAEMON; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.UNIT_THREADS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DAEMON; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_THREADS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.AttributeKey; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryCommittedMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java similarity index 68% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryCommittedMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java index a14509410bec..1cd8036e023f 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryCommittedMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_METASPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_METASPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryLimitMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java similarity index 71% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryLimitMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java index b6b5a682e2b9..776f5557a8aa 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryLimitMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryUsageMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java similarity index 66% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryUsageMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java index a921f2ed0583..24156de84e2a 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/MetaspaceMemoryUsageMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_METASPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_METASPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/PsGcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java similarity index 64% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/PsGcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java index 16483591d84d..a169d6fbe052 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/PsGcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java @@ -3,24 +3,24 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_PS_EDEN_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_PS_OLD_GEN; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_PS_SURVIVOR_SPACE; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_EDEN_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_OLD_GEN; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_SURVIVOR_SPACE; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilderTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java similarity index 78% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilderTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java index 7cb9663689f1..d11a2cd60de3 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryBuilderTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import static org.assertj.core.api.Assertions.assertThat; @@ -14,7 +14,7 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -class JfrTelemetryBuilderTest { +class RuntimeMetricsBuilderTest { @BeforeAll static void setup() { @@ -31,25 +31,27 @@ void defaultFeatures() { Arrays.stream(JfrFeature.values()) .forEach(jfrFeature -> defaultFeatures.put(jfrFeature, jfrFeature.isDefaultEnabled())); - assertThat(new JfrTelemetryBuilder(OpenTelemetry.noop()).enabledFeatureMap) + assertThat(new RuntimeMetricsBuilder(OpenTelemetry.noop()).enabledFeatureMap) .isEqualTo(defaultFeatures); } @Test void enableAllFeatures() { - assertThat(new JfrTelemetryBuilder(OpenTelemetry.noop()).enableAllFeatures().enabledFeatureMap) + assertThat( + new RuntimeMetricsBuilder(OpenTelemetry.noop()).enableAllFeatures().enabledFeatureMap) .allSatisfy((unused, enabled) -> assertThat(enabled).isTrue()); } @Test void disableAllFeatures() { - assertThat(new JfrTelemetryBuilder(OpenTelemetry.noop()).disableAllFeatures().enabledFeatureMap) + assertThat( + new RuntimeMetricsBuilder(OpenTelemetry.noop()).disableAllFeatures().enabledFeatureMap) .allSatisfy((unused, enabled) -> assertThat(enabled).isFalse()); } @Test void enableDisableFeature() { - var builder = new JfrTelemetryBuilder(OpenTelemetry.noop()); + var builder = new RuntimeMetricsBuilder(OpenTelemetry.noop()); assertThat(builder.enabledFeatureMap.get(JfrFeature.BUFFER_METRICS)).isFalse(); @@ -62,7 +64,7 @@ void enableDisableFeature() { @Test void build() { var openTelemetry = OpenTelemetry.noop(); - try (var jfrTelemetry = new JfrTelemetryBuilder(openTelemetry).build()) { + try (var jfrTelemetry = new RuntimeMetricsBuilder(openTelemetry).build()) { assertThat(jfrTelemetry.getOpenTelemetry()).isSameAs(openTelemetry); assertThat(jfrTelemetry.getRecordedEventHandlers()) .hasSizeGreaterThan(0) diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java similarity index 75% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java index 88853febe89a..1ad7dff109a7 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/JfrTelemetryTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; @@ -18,9 +18,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -class JfrTelemetryTest { +class RuntimeMetricsTest { - @RegisterExtension LogCapturer logs = LogCapturer.create().captureForType(JfrTelemetry.class); + @RegisterExtension LogCapturer logs = LogCapturer.create().captureForType(RuntimeMetrics.class); private InMemoryMetricReader reader; private OpenTelemetrySdk sdk; @@ -49,28 +49,27 @@ void tearDown() { @Test void create_Default() { - try (JfrTelemetry unused = JfrTelemetry.create(sdk)) { + try (RuntimeMetrics unused = RuntimeMetrics.create(sdk)) { assertThat(reader.collectAllMetrics()) .isNotEmpty() .allSatisfy( metric -> { assertThat(metric.getInstrumentationScopeInfo().getName()) - .isEqualTo("io.opentelemetry.instrumentation.runtimetelemetryjfr"); + .isEqualTo("io.opentelemetry.instrumentation.runtime-metrics"); }); - ; } } @Test void create_AllDisabled() { - try (JfrTelemetry unused = JfrTelemetry.builder(sdk).disableAllFeatures().build()) { + try (RuntimeMetrics unused = RuntimeMetrics.builder(sdk).disableAllMetrics().build()) { assertThat(reader.collectAllMetrics()).isEmpty(); } } @Test void builder() { - try (var jfrTelemetry = JfrTelemetry.builder(sdk).build()) { + try (var jfrTelemetry = RuntimeMetrics.builder(sdk).build()) { assertThat(jfrTelemetry.getOpenTelemetry()).isSameAs(sdk); assertThat(jfrTelemetry.getRecordedEventHandlers()) .hasSizeGreaterThan(0) @@ -80,7 +79,7 @@ void builder() { @Test void close() { - try (JfrTelemetry jfrTelemetry = JfrTelemetry.create(sdk)) { + try (RuntimeMetrics jfrTelemetry = RuntimeMetrics.builder(sdk).build()) { // Track whether RecordingStream has been closed AtomicBoolean recordingStreamClosed = new AtomicBoolean(false); jfrTelemetry.getRecordingStream().onClose(() -> recordingStreamClosed.set(true)); @@ -88,12 +87,16 @@ void close() { assertThat(reader.collectAllMetrics()).isNotEmpty(); jfrTelemetry.close(); - logs.assertDoesNotContain("JfrTelemetry is already closed"); + logs.assertDoesNotContain("RuntimeMetrics is already closed"); assertThat(recordingStreamClosed.get()).isTrue(); - assertThat(reader.collectAllMetrics()).isEmpty(); + assertThat(reader.collectAllMetrics()) + .allSatisfy( + metric -> { + assertThat(metric.getName()).isEqualTo("process.runtime.jvm.gc.duration"); + }); jfrTelemetry.close(); - logs.assertContains("JfrTelemetry is already closed"); + logs.assertContains("RuntimeMetrics is already closed"); } } } diff --git a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/SerialGcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java similarity index 71% rename from instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/SerialGcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java index 6e7a798e3927..c2c8e5974a5f 100644 --- a/instrumentation/runtime-telemetry-jfr/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjfr/SerialGcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjfr; +package io.opentelemetry.instrumentation.runtimemetricsjava17; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimetelemetryjfr.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/build.gradle.kts similarity index 61% rename from instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts rename to instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/build.gradle.kts index c7513e9130a5..f024a14c10c8 100644 --- a/instrumentation/runtime-telemetry-jmx/javaagent/build.gradle.kts +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation(project(":instrumentation:runtime-telemetry-jmx:library")) + implementation(project(":instrumentation:runtime-metrics:runtime-metrics-java8:library")) compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") } diff --git a/instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java similarity index 53% rename from instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java index d547a65292bd..6924137d14f8 100644 --- a/instrumentation/runtime-telemetry-jmx/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimetelemetryjmx/JmxRuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java @@ -3,34 +3,34 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava8; import com.google.auto.service.AutoService; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.BufferPools; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.Classes; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.Cpu; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.GarbageCollector; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.MemoryPools; -import io.opentelemetry.instrumentation.runtimetelemetryjmx.Threads; +import io.opentelemetry.instrumentation.runtimemetricsjava8.BufferPools; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Classes; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Cpu; +import io.opentelemetry.instrumentation.runtimemetricsjava8.GarbageCollector; +import io.opentelemetry.instrumentation.runtimemetricsjava8.MemoryPools; +import io.opentelemetry.instrumentation.runtimemetricsjava8.Threads; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; /** An {@link AgentListener} that enables runtime metrics during agent startup. */ @AutoService(AgentListener.class) -public class JmxRuntimeMetricsInstaller implements AgentListener { +public class Java8RuntimeMetricsInstaller implements AgentListener { @Override public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { ConfigProperties config = autoConfiguredSdk.getConfig(); boolean defaultEnabled = config.getBoolean("otel.instrumentation.common.default-enabled", true); - if (!config.getBoolean("otel.instrumentation.runtime-telemetry-jmx.enabled", defaultEnabled)) { + if (!config.getBoolean("otel.instrumentation.runtime-metrics-java8.enabled", defaultEnabled) + || Double.parseDouble(System.getProperty("java.specification.version")) >= 17) { return; } - OpenTelemetry openTelemetry = GlobalOpenTelemetry.get(); BufferPools.registerObservers(openTelemetry); @@ -39,5 +39,15 @@ public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { MemoryPools.registerObservers(openTelemetry); Threads.registerObservers(openTelemetry); GarbageCollector.registerObservers(openTelemetry); + Thread cleanupTelemetry = + new Thread( + () -> { + BufferPools.closeObservers(); + Classes.closeObservers(); + Cpu.closeObservers(); + MemoryPools.closeObservers(); + Threads.closeObservers(); + }); + Runtime.getRuntime().addShutdownHook(cleanupTelemetry); } } diff --git a/instrumentation/runtime-telemetry-jmx/library/README.md b/instrumentation/runtime-metrics/runtime-metrics-java8/library/README.md similarity index 98% rename from instrumentation/runtime-telemetry-jmx/library/README.md rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/README.md index d8adb02223bf..d87e206c8399 100644 --- a/instrumentation/runtime-telemetry-jmx/library/README.md +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/README.md @@ -7,7 +7,7 @@ This module provides JVM runtime metrics as documented in the [semantic conventi ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release](https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-runtime-telemetry-jmx). +release](https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-runtime-metrics-java8). For Maven, add to your `pom.xml` dependencies: @@ -15,7 +15,7 @@ For Maven, add to your `pom.xml` dependencies: io.opentelemetry.instrumentation - opentelemetry-runtime-telemetry-jmx + opentelemetry-runtime-metrics-java8 OPENTELEMETRY_VERSION @@ -24,7 +24,7 @@ For Maven, add to your `pom.xml` dependencies: For Gradle, add to your dependencies: ```groovy -runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-jmx:OPENTELEMETRY_VERSION") +runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-runtime-metrics-java8:OPENTELEMETRY_VERSION") ``` ### Usage diff --git a/instrumentation/runtime-telemetry-jmx/library/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java8/library/build.gradle.kts similarity index 100% rename from instrumentation/runtime-telemetry-jmx/library/build.gradle.kts rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/build.gradle.kts diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java similarity index 67% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java index 7428385b89c9..1fdf59e16521 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -35,6 +35,7 @@ * */ public final class BufferPools { + private static final List observables = new ArrayList<>(); private static final AttributeKey POOL_KEY = AttributeKey.stringKey("pool"); /** Register observers for java runtime buffer pool metrics. */ @@ -47,24 +48,29 @@ public static void registerObservers(OpenTelemetry openTelemetry) { // Visible for testing static void registerObservers(OpenTelemetry openTelemetry, List bufferBeans) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.buffer.usage") + .setDescription("Memory that the Java virtual machine is using for this buffer pool") + .setUnit("By") + .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getMemoryUsed))); - meter - .upDownCounterBuilder("process.runtime.jvm.buffer.usage") - .setDescription("Memory that the Java virtual machine is using for this buffer pool") - .setUnit("By") - .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getMemoryUsed)); - - meter - .upDownCounterBuilder("process.runtime.jvm.buffer.limit") - .setDescription("Total capacity of the buffers in this pool") - .setUnit("By") - .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getTotalCapacity)); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.buffer.limit") + .setDescription("Total capacity of the buffers in this pool") + .setUnit("By") + .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getTotalCapacity))); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.buffer.count") + .setDescription("The number of buffers in the pool") + .setUnit("{buffers}") + .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getCount))); + } - meter - .upDownCounterBuilder("process.runtime.jvm.buffer.count") - .setDescription("The number of buffers in the pool") - .setUnit("{buffers}") - .buildWithCallback(callback(bufferBeans, BufferPoolMXBean::getCount)); + public static void closeObservers() { + JmxRuntimeMetricsUtil.closeObservers(observables); } // Visible for testing diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Classes.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Classes.java new file mode 100644 index 000000000000..ea6f0d175a12 --- /dev/null +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Classes.java @@ -0,0 +1,79 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.runtimemetricsjava8; + +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.api.metrics.Meter; +import java.lang.management.ClassLoadingMXBean; +import java.lang.management.ManagementFactory; +import java.util.ArrayList; +import java.util.List; + +/** + * Registers measurements that generate metrics about JVM classes. + * + *

Example usage: + * + *

{@code
+ * Classes.registerObservers(GlobalOpenTelemetry.get());
+ * }
+ * + *

Example metrics being exported: + * + *

+ *   process.runtime.jvm.classes.loaded 100
+ *   process.runtime.jvm.classes.unloaded 2
+ *   process.runtime.jvm.classes.current_loaded 98
+ * 
+ */ +public final class Classes { + + // Visible for testing + static final Classes INSTANCE = new Classes(); + private static final List observables = new ArrayList<>(); + + /** Register observers for java runtime class metrics. */ + public static void registerObservers(OpenTelemetry openTelemetry) { + INSTANCE.registerObservers(openTelemetry, ManagementFactory.getClassLoadingMXBean()); + } + + // Visible for testing + void registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean) { + Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); + + observables.add( + meter + .counterBuilder("process.runtime.jvm.classes.loaded") + .setDescription("Number of classes loaded since JVM start") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> + observableMeasurement.record(classBean.getTotalLoadedClassCount()))); + + observables.add( + meter + .counterBuilder("process.runtime.jvm.classes.unloaded") + .setDescription("Number of classes unloaded since JVM start") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> + observableMeasurement.record(classBean.getUnloadedClassCount()))); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.classes.current_loaded") + .setDescription("Number of classes currently loaded") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> + observableMeasurement.record(classBean.getLoadedClassCount()))); + } + + public static void closeObservers() { + JmxRuntimeMetricsUtil.closeObservers(observables); + } + + private Classes() {} +} diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java similarity index 67% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java index 427a51d0a4b2..1bc06b67b887 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Cpu.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -11,6 +11,8 @@ import java.lang.management.OperatingSystemMXBean; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; import java.util.function.Supplier; import javax.annotation.Nullable; @@ -41,6 +43,7 @@ public final class Cpu { private static final String METHOD_PROCESS_CPU_LOAD = "getProcessCpuLoad"; private static final String METHOD_CPU_LOAD = "getCpuLoad"; private static final String METHOD_SYSTEM_CPU_LOAD = "getSystemCpuLoad"; + private static final List observables = new ArrayList<>(); @Nullable private static final Supplier processCpu; @Nullable private static final Supplier systemCpu; @@ -82,47 +85,54 @@ void registerObservers( @Nullable Supplier processCpuUsage) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - meter - .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") - .setDescription("Average CPU load of the whole system for the last minute") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> { - double loadAverage = osBean.getSystemLoadAverage(); - if (loadAverage >= 0) { - observableMeasurement.record(loadAverage); - } - }); + observables.add( + meter + .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") + .setDescription("Average CPU load of the whole system for the last minute") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> { + double loadAverage = osBean.getSystemLoadAverage(); + if (loadAverage >= 0) { + observableMeasurement.record(loadAverage); + } + })); if (systemCpuUsage != null) { - meter - .gaugeBuilder("process.runtime.jvm.system.cpu.utilization") - .setDescription("Recent cpu utilization for the whole system") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> { - Double cpuUsage = systemCpuUsage.get(); - if (cpuUsage != null && cpuUsage >= 0) { - observableMeasurement.record(cpuUsage); - } - }); + observables.add( + meter + .gaugeBuilder("process.runtime.jvm.system.cpu.utilization") + .setDescription("Recent cpu utilization for the whole system") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> { + Double cpuUsage = systemCpuUsage.get(); + if (cpuUsage != null && cpuUsage >= 0) { + observableMeasurement.record(cpuUsage); + } + })); } if (processCpuUsage != null) { - meter - .gaugeBuilder("process.runtime.jvm.cpu.utilization") - .setDescription("Recent cpu utilization for the process") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> { - Double cpuUsage = processCpuUsage.get(); - if (cpuUsage != null && cpuUsage >= 0) { - observableMeasurement.record(cpuUsage); - } - }); + observables.add( + meter + .gaugeBuilder("process.runtime.jvm.cpu.utilization") + .setDescription("Recent cpu utilization for the process") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> { + Double cpuUsage = processCpuUsage.get(); + if (cpuUsage != null && cpuUsage >= 0) { + observableMeasurement.record(cpuUsage); + } + })); } } + public static void closeObservers() { + JmxRuntimeMetricsUtil.closeObservers(observables); + } + @Nullable @SuppressWarnings("ReturnValueIgnored") private static Supplier methodInvoker( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java similarity index 98% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java index 14aed265c375..3d8b2a40c9b4 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollector.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import com.sun.management.GarbageCollectionNotificationInfo; import io.opentelemetry.api.OpenTelemetry; diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java similarity index 65% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java index 37fdde0e7501..4b52f8f03d5a 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/JmxRuntimeMetricsUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java @@ -3,17 +3,19 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.MeterBuilder; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; +import java.util.List; import javax.annotation.Nullable; class JmxRuntimeMetricsUtil { - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-telemetry-jmx"; + private static final String INSTRUMENTATION_NAME = + "io.opentelemetry.instrumentation.runtime-metrics"; @Nullable private static final String INSTRUMENTATION_VERSION = @@ -27,5 +29,16 @@ static Meter getMeter(OpenTelemetry openTelemetry) { return meterBuilder.build(); } + public static void closeObservers(List observables) { + observables.forEach( + observable -> { + try { + observable.close(); + } catch (Exception e) { + // Ignore + } + }); + } + private JmxRuntimeMetricsUtil() {} } diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java similarity index 65% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java index 399348284a91..65042b642089 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -48,6 +48,7 @@ public final class MemoryPools { private static final String HEAP = "heap"; private static final String NON_HEAP = "non_heap"; + private static final List observables = new ArrayList<>(); /** Register observers for java runtime memory metrics. */ public static void registerObservers(OpenTelemetry openTelemetry) { @@ -58,38 +59,50 @@ public static void registerObservers(OpenTelemetry openTelemetry) { static void registerObservers(OpenTelemetry openTelemetry, List poolBeans) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - meter - .upDownCounterBuilder("process.runtime.jvm.memory.usage") - .setDescription("Measure of memory used") - .setUnit("By") - .buildWithCallback(callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getUsed)); - - meter - .upDownCounterBuilder("process.runtime.jvm.memory.init") - .setDescription("Measure of initial memory requested") - .setUnit("By") - .buildWithCallback(callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getInit)); - - meter - .upDownCounterBuilder("process.runtime.jvm.memory.committed") - .setDescription("Measure of memory committed") - .setUnit("By") - .buildWithCallback( - callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getCommitted)); - - meter - .upDownCounterBuilder("process.runtime.jvm.memory.limit") - .setDescription("Measure of max obtainable memory") - .setUnit("By") - .buildWithCallback(callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getMax)); - - meter - .upDownCounterBuilder("process.runtime.jvm.memory.usage_after_last_gc") - .setDescription( - "Measure of memory used after the most recent garbage collection event on this pool") - .setUnit("By") - .buildWithCallback( - callback(poolBeans, MemoryPoolMXBean::getCollectionUsage, MemoryUsage::getUsed)); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.memory.usage") + .setDescription("Measure of memory used") + .setUnit("By") + .buildWithCallback( + callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getUsed))); + + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.memory.init") + .setDescription("Measure of initial memory requested") + .setUnit("By") + .buildWithCallback( + callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getInit))); + + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.memory.committed") + .setDescription("Measure of memory committed") + .setUnit("By") + .buildWithCallback( + callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getCommitted))); + + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.memory.limit") + .setDescription("Measure of max obtainable memory") + .setUnit("By") + .buildWithCallback( + callback(poolBeans, MemoryPoolMXBean::getUsage, MemoryUsage::getMax))); + + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.memory.usage_after_last_gc") + .setDescription( + "Measure of memory used after the most recent garbage collection event on this pool") + .setUnit("By") + .buildWithCallback( + callback(poolBeans, MemoryPoolMXBean::getCollectionUsage, MemoryUsage::getUsed))); + } + + public static void closeObservers() { + JmxRuntimeMetricsUtil.closeObservers(observables); } // Visible for testing diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Threads.java similarity index 57% rename from instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Threads.java index e8b4a2ff19ac..26fa3f432e36 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Threads.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Threads.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -11,6 +11,8 @@ import io.opentelemetry.api.metrics.Meter; import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; +import java.util.ArrayList; +import java.util.List; /** * Registers measurements that generate metrics about JVM threads. @@ -34,6 +36,7 @@ public final class Threads { static final Threads INSTANCE = new Threads(); static final AttributeKey DAEMON = AttributeKey.booleanKey("daemon"); + private static final List observables = new ArrayList<>(); /** Register observers for java runtime class metrics. */ public static void registerObservers(OpenTelemetry openTelemetry) { @@ -44,19 +47,24 @@ public static void registerObservers(OpenTelemetry openTelemetry) { void registerObservers(OpenTelemetry openTelemetry, ThreadMXBean threadBean) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - meter - .upDownCounterBuilder("process.runtime.jvm.threads.count") - .setDescription("Number of executing threads") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> { - observableMeasurement.record( - threadBean.getDaemonThreadCount(), - Attributes.builder().put(DAEMON, true).build()); - observableMeasurement.record( - threadBean.getThreadCount() - threadBean.getDaemonThreadCount(), - Attributes.builder().put(DAEMON, false).build()); - }); + observables.add( + meter + .upDownCounterBuilder("process.runtime.jvm.threads.count") + .setDescription("Number of executing threads") + .setUnit("1") + .buildWithCallback( + observableMeasurement -> { + observableMeasurement.record( + threadBean.getDaemonThreadCount(), + Attributes.builder().put(DAEMON, true).build()); + observableMeasurement.record( + threadBean.getThreadCount() - threadBean.getDaemonThreadCount(), + Attributes.builder().put(DAEMON, false).build()); + })); + } + + public static void closeObservers() { + JmxRuntimeMetricsUtil.closeObservers(observables); } private Threads() {} diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java similarity index 94% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java index 4c79df1b787b..9d895371e433 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/BufferPoolsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; @@ -55,7 +55,7 @@ void registerObservers() { BufferPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.buffer.usage", metrics -> metrics.anySatisfy( @@ -75,7 +75,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.buffer.limit", metrics -> metrics.anySatisfy( @@ -94,7 +94,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.buffer.count", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java similarity index 91% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java index 867bdd36b654..9fd2323b63e3 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ClassesTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Classes.INSTANCE.registerObservers(testing.getOpenTelemetry(), classBean); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.classes.loaded", metrics -> metrics.anySatisfy( @@ -52,7 +52,7 @@ void registerObservers() { point -> point.hasValue(3).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.classes.unloaded", metrics -> metrics.anySatisfy( @@ -68,7 +68,7 @@ void registerObservers() { point -> point.hasValue(2).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.classes.current_loaded", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java similarity index 89% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java index e05a0dbc1d96..7772cdb98042 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/CpuTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -37,7 +37,7 @@ void registerObservers() { testing.getOpenTelemetry(), osBean, systemCpuUsage, processCpuUsage); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.system.cpu.load_1m", metrics -> metrics.anySatisfy( @@ -49,7 +49,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.system.cpu.utilization", metrics -> metrics.anySatisfy( @@ -61,7 +61,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(0.11))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.cpu.utilization", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java similarity index 96% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java index 7591a74d202b..e224f1145a6d 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/GarbageCollectorTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -64,7 +64,7 @@ void registerObservers() { createTestNotification("G1 Old Generation", "end of major GC", 11), null); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.gc.duration", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java similarity index 96% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java index 94f62241bc09..3e85b74a85b5 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/MemoryPoolsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; @@ -83,7 +83,7 @@ void registerObservers() { MemoryPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.memory.init", metrics -> metrics.anySatisfy( @@ -109,7 +109,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.memory.usage", metrics -> metrics.anySatisfy( @@ -135,7 +135,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.memory.committed", metrics -> metrics.anySatisfy( @@ -161,7 +161,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.memory.limit", metrics -> metrics.anySatisfy( @@ -187,7 +187,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.memory.usage_after_last_gc", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java new file mode 100644 index 000000000000..5a9c91f6acdd --- /dev/null +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java @@ -0,0 +1,33 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.runtimemetricsjava8; + +import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; +import io.opentelemetry.sdk.common.InstrumentationScopeInfo; +import io.opentelemetry.sdk.common.InstrumentationScopeInfoBuilder; +import javax.annotation.Nullable; + +class ScopeUtil { + private static final String INSTRUMENTATION_NAME = + "io.opentelemetry.instrumentation.runtime-metrics"; + + @Nullable + private static final String INSTRUMENTATION_VERSION = + EmbeddedInstrumentationProperties.findVersion(INSTRUMENTATION_NAME); + + static final InstrumentationScopeInfo EXPECTED_SCOPE; + + static { + InstrumentationScopeInfoBuilder builder = + InstrumentationScopeInfo.builder(INSTRUMENTATION_NAME); + if (INSTRUMENTATION_VERSION != null) { + builder.setVersion(INSTRUMENTATION_VERSION); + } + EXPECTED_SCOPE = builder.build(); + } + + private ScopeUtil() {} +} diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java similarity index 88% rename from instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java index 72aae85b33ac..b0b2ea82d84e 100644 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ThreadsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimetelemetryjmx; +package io.opentelemetry.instrumentation.runtimemetricsjava8; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.ScopeUtil.EXPECTED_SCOPE; -import static io.opentelemetry.instrumentation.runtimetelemetryjmx.Threads.DAEMON; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetricsjava8.Threads.DAEMON; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Threads.INSTANCE.registerObservers(testing.getOpenTelemetry(), threadBean); testing.waitAndAssertMetrics( - "io.opentelemetry.runtime-telemetry-jmx", + "io.opentelemetry.instrumentation.runtime-metrics", "process.runtime.jvm.threads.count", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java b/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java deleted file mode 100644 index f8c932fbf72e..000000000000 --- a/instrumentation/runtime-telemetry-jmx/library/src/main/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/Classes.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.runtimetelemetryjmx; - -import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.api.metrics.Meter; -import java.lang.management.ClassLoadingMXBean; -import java.lang.management.ManagementFactory; - -/** - * Registers measurements that generate metrics about JVM classes. - * - *

Example usage: - * - *

{@code
- * Classes.registerObservers(GlobalOpenTelemetry.get());
- * }
- * - *

Example metrics being exported: - * - *

- *   process.runtime.jvm.classes.loaded 100
- *   process.runtime.jvm.classes.unloaded 2
- *   process.runtime.jvm.classes.current_loaded 98
- * 
- */ -public final class Classes { - - // Visible for testing - static final Classes INSTANCE = new Classes(); - - /** Register observers for java runtime class metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { - INSTANCE.registerObservers(openTelemetry, ManagementFactory.getClassLoadingMXBean()); - } - - // Visible for testing - void registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean) { - Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - - meter - .counterBuilder("process.runtime.jvm.classes.loaded") - .setDescription("Number of classes loaded since JVM start") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> - observableMeasurement.record(classBean.getTotalLoadedClassCount())); - - meter - .counterBuilder("process.runtime.jvm.classes.unloaded") - .setDescription("Number of classes unloaded since JVM start") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> - observableMeasurement.record(classBean.getUnloadedClassCount())); - - meter - .upDownCounterBuilder("process.runtime.jvm.classes.current_loaded") - .setDescription("Number of classes currently loaded") - .setUnit("1") - .buildWithCallback( - observableMeasurement -> observableMeasurement.record(classBean.getLoadedClassCount())); - } - - private Classes() {} -} diff --git a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java b/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java deleted file mode 100644 index 466f111cccdc..000000000000 --- a/instrumentation/runtime-telemetry-jmx/library/src/test/java/io/opentelemetry/instrumentation/runtimetelemetryjmx/ScopeUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.runtimetelemetryjmx; - -import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; -import io.opentelemetry.sdk.common.InstrumentationScopeInfo; -import java.util.Optional; - -class ScopeUtil { - - static final InstrumentationScopeInfo EXPECTED_SCOPE = - InstrumentationScopeInfo.builder("io.opentelemetry.runtime-telemetry-jmx") - .setVersion( - Optional.ofNullable( - EmbeddedInstrumentationProperties.findVersion( - "io.opentelemetry.runtime-telemetry-jmx")) - .orElseThrow( - () -> new IllegalStateException("Unable to find instrumentation version"))) - .build(); - - private ScopeUtil() {} -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 6e6c7bdc93c3..4ef24efe63dd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -433,10 +433,10 @@ hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-4. hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-4.8:testing") hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-5.0:javaagent") hideFromDependabot(":instrumentation:rocketmq:rocketmq-client:rocketmq-client-5.0:testing") -hideFromDependabot(":instrumentation:runtime-telemetry-jmx:javaagent") -hideFromDependabot(":instrumentation:runtime-telemetry-jmx:library") -hideFromDependabot(":instrumentation:runtime-telemetry-jfr:javaagent") -hideFromDependabot(":instrumentation:runtime-telemetry-jfr:library") +hideFromDependabot(":instrumentation:runtime-metrics:runtime-metrics-java8:javaagent") +hideFromDependabot(":instrumentation:runtime-metrics:runtime-metrics-java8:library") +hideFromDependabot(":instrumentation:runtime-metrics:runtime-metrics-java17:javaagent") +hideFromDependabot(":instrumentation:runtime-metrics:runtime-metrics-java17:library") hideFromDependabot(":instrumentation:rxjava:rxjava-1.0:library") hideFromDependabot(":instrumentation:rxjava:rxjava-2.0:library") hideFromDependabot(":instrumentation:rxjava:rxjava-2.0:testing") From ee6981f5775b7be4477ccf5c036ee02bb4fdbb44 Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Wed, 12 Apr 2023 14:14:41 -0400 Subject: [PATCH 3/7] fix broken link --- instrumentation/jmx-metrics/javaagent/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/jmx-metrics/javaagent/README.md b/instrumentation/jmx-metrics/javaagent/README.md index 3d1c56d6374e..0421e0c6438a 100644 --- a/instrumentation/jmx-metrics/javaagent/README.md +++ b/instrumentation/jmx-metrics/javaagent/README.md @@ -12,7 +12,7 @@ To control the time interval between MBean detection attempts, one can use the ` ## Predefined metrics -JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-metrics-java8/library/README.md)), application servers, third-party libraries, and applications. +JMX is a popular metrics technology used throughout the JVM (see [runtime metrics](../../runtime-metrics/runtime-metrics-java8/library/README.md)), application servers, third-party libraries, and applications. JMX Metric Insight comes with a number of predefined configurations containing curated sets of JMX metrics for frequently used application servers or frameworks. To enable collection of the predefined metrics, specify a list of targets as the value for the `otel.jmx.target.system` property. For example From d95a0abadde67fe598b44f23f2d44cd81ac5ca2a Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Wed, 10 May 2023 20:30:00 -0400 Subject: [PATCH 4/7] pr comments --- .../Java17RuntimeMetricsInstaller.java | 5 +- .../java17}/JfrRuntimeMetricsTest.java | 2 +- .../runtime-metrics-java17/library/README.md | 4 +- .../library/build.gradle.kts | 2 +- .../java17}/HandlerRegistry.java | 44 +++++----- .../java17}/JfrFeature.java | 2 +- .../java17}/RuntimeMetrics.java | 36 ++++---- .../java17}/RuntimeMetricsBuilder.java | 2 +- .../AbstractThreadDispatchingHandler.java | 2 +- .../java17}/internal/Constants.java | 2 +- .../java17}/internal/DurationUtil.java | 2 +- .../internal/RecordedEventHandler.java | 4 +- .../java17}/internal/ThreadGrouper.java | 2 +- .../buffer/DirectBufferStatisticsHandler.java | 19 ++--- .../classes/ClassesLoadedHandler.java | 15 ++-- .../ContainerConfigurationHandler.java | 11 ++- .../cpu/ContextSwitchRateHandler.java | 11 ++- .../java17}/internal/cpu/LongLockHandler.java | 18 ++-- .../internal/cpu/OverallCpuLoadHandler.java | 13 ++- .../G1GarbageCollectionHandler.java | 61 ++++++++++++++ .../OldGarbageCollectionHandler.java | 60 ++++++++++++++ .../YoungGarbageCollectionHandler.java | 26 +++--- .../memory/CodeCacheConfigurationHandler.java | 28 +++---- .../internal/memory/G1HeapSummaryHandler.java | 40 ++++----- .../memory/MetaspaceSummaryHandler.java | 68 +++++++-------- .../ObjectAllocationInNewTlabHandler.java | 24 +++--- .../ObjectAllocationOutsideTlabHandler.java | 24 +++--- .../memory/ParallelHeapSummaryHandler.java | 83 ++++++++----------- .../internal/network/NetworkReadHandler.java | 39 ++++----- .../internal/network/NetworkWriteHandler.java | 39 ++++----- .../internal/threads/ThreadCountHandler.java | 16 ++-- .../G1GarbageCollectionHandler.java | 64 -------------- .../OldGarbageCollectionHandler.java | 66 --------------- .../java17}/BufferMetricTest.java | 8 +- .../CodeCacheMemoryInitMetricTest.java | 10 +-- .../java17}/G1GcMemoryMetricTest.java | 30 +++---- .../java17}/GenerateDocs.java | 2 +- .../java17}/JfrClassesLoadedCountTest.java | 4 +- .../java17}/JfrCpuLockTest.java | 4 +- .../java17}/JfrExtension.java | 2 +- .../java17}/JfrOverallCpuLoadHandlerTest.java | 4 +- .../java17}/JfrThreadCountTest.java | 6 +- .../MetaspaceMemoryCommittedMetricTest.java | 10 +-- .../MetaspaceMemoryLimitMetricTest.java | 8 +- .../MetaspaceMemoryUsageMetricTest.java | 12 +-- .../java17}/PsGcMemoryMetricTest.java | 34 ++++---- .../java17}/RuntimeMetricsBuilderTest.java | 2 +- .../java17}/RuntimeMetricsTest.java | 4 +- .../java17}/SerialGcMemoryMetricTest.java | 14 ++-- .../java8}/Java8RuntimeMetricsInstaller.java | 37 ++++----- .../java8}/BufferPools.java | 16 ++-- .../java8}/Classes.java | 16 ++-- .../java8}/Cpu.java | 16 ++-- .../java8}/GarbageCollector.java | 2 +- .../java8}/JmxRuntimeMetricsUtil.java | 7 +- .../java8}/MemoryPools.java | 17 ++-- .../java8}/Threads.java | 16 ++-- .../java8}/BufferPoolsTest.java | 10 +-- .../java8}/ClassesTest.java | 10 +-- .../java8}/CpuTest.java | 10 +-- .../java8}/GarbageCollectorTest.java | 6 +- .../java8}/MemoryPoolsTest.java | 14 ++-- .../java8}/ScopeUtil.java | 5 +- .../java8}/ThreadsTest.java | 8 +- 64 files changed, 536 insertions(+), 642 deletions(-) rename instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/{runtimemetricsjava17 => runtimemetrics/java17}/Java17RuntimeMetricsInstaller.java (95%) rename instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/{runtimemetricsjava17 => runtimemetrics/java17}/JfrRuntimeMetricsTest.java (99%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/HandlerRegistry.java (59%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrFeature.java (94%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/RuntimeMetrics.java (75%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/RuntimeMetricsBuilder.java (97%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/AbstractThreadDispatchingHandler.java (93%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/Constants.java (98%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/DurationUtil.java (89%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/RecordedEventHandler.java (93%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/ThreadGrouper.java (90%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/buffer/DirectBufferStatisticsHandler.java (80%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/classes/ClassesLoadedHandler.java (86%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/container/ContainerConfigurationHandler.java (78%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/cpu/ContextSwitchRateHandler.java (79%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/cpu/LongLockHandler.java (75%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/cpu/OverallCpuLoadHandler.java (84%) create mode 100644 instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java create mode 100644 instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/garbagecollection/YoungGarbageCollectionHandler.java (50%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/CodeCacheConfigurationHandler.java (51%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/G1HeapSummaryHandler.java (67%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/MetaspaceSummaryHandler.java (52%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/ObjectAllocationInNewTlabHandler.java (63%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/ObjectAllocationOutsideTlabHandler.java (63%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/memory/ParallelHeapSummaryHandler.java (61%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/network/NetworkReadHandler.java (53%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/network/NetworkWriteHandler.java (60%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/internal/threads/ThreadCountHandler.java (78%) delete mode 100644 instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java delete mode 100644 instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/BufferMetricTest.java (90%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/CodeCacheMemoryInitMetricTest.java (68%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/G1GcMemoryMetricTest.java (67%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/GenerateDocs.java (98%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrClassesLoadedCountTest.java (93%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrCpuLockTest.java (82%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrExtension.java (97%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrOverallCpuLoadHandlerTest.java (86%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/JfrThreadCountTest.java (87%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/MetaspaceMemoryCommittedMetricTest.java (68%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/MetaspaceMemoryLimitMetricTest.java (71%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/MetaspaceMemoryUsageMetricTest.java (65%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/PsGcMemoryMetricTest.java (63%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/RuntimeMetricsBuilderTest.java (97%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/RuntimeMetricsTest.java (95%) rename instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava17 => runtimemetrics/java17}/SerialGcMemoryMetricTest.java (70%) rename instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/{runtimemetricsjava8 => runtimemetrics/java8}/Java8RuntimeMetricsInstaller.java (56%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/BufferPools.java (86%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/Classes.java (81%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/Cpu.java (93%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/GarbageCollector.java (98%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/JmxRuntimeMetricsUtil.java (84%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/MemoryPools.java (91%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/Threads.java (79%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/BufferPoolsTest.java (94%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/ClassesTest.java (91%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/CpuTest.java (89%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/GarbageCollectorTest.java (96%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/MemoryPoolsTest.java (96%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/ScopeUtil.java (83%) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/{runtimemetricsjava8 => runtimemetrics/java8}/ThreadsTest.java (88%) diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java similarity index 95% rename from instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java index d5f279b3939f..1963b0f18d06 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/Java17RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava17; +package io.opentelemetry.instrumentation.javaagent.runtimemetrics.java17; import com.google.auto.service.AutoService; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimemetricsjava17.RuntimeMetrics; +import io.opentelemetry.instrumentation.runtimemetrics.java17.RuntimeMetrics; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -36,6 +36,7 @@ public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { // This only uses metrics gathered by JMX runtimeMetrics = RuntimeMetrics.builder(openTelemetry).disableAllFeatures().build(); } + if (runtimeMetrics != null) { RuntimeMetrics finalJfrTelemetry = runtimeMetrics; Thread cleanupTelemetry = new Thread(() -> finalJfrTelemetry.close()); diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java similarity index 99% rename from instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java index fb3937b31ea2..59c5366dd14a 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava17/JfrRuntimeMetricsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava17; +package io.opentelemetry.instrumentation.javaagent.runtimemetrics.java17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.awaitility.Awaitility.await; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md index ea82805d8266..9014e235d2eb 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md @@ -1,5 +1,5 @@ -The main entry point is the `RuntimeMetrics` class in the package `io.opentelemetry.instrumentation.runtimemetricsjava17`: +The main entry point is the `RuntimeMetrics` class in the package `io.opentelemetry.instrumentation.runtimemetrics`: ```java // Initialize JfrTelemetry @@ -12,7 +12,7 @@ runtimeMetrics.close(); `RuntimeMetrics` uses two underlying implementations to gather the full set of metric data, JFR and JMX. The metrics gathered by the two implementations are mutually exclusive and the union of them produces the full set of available metrics. -The JMX component is reused from the `io.opentelemetry.instrumentation.runtimemetricsjava8` package. +The JMX component is reused from the `io.opentelemetry.instrumentation.runtimemetrics` package. The JFR component uses JFR streaming and is only available in JAVA 17. It works by subscribing to certain JFR events, and using relevant bits of information from the events to produce telemetry data like metrics. The code is divided into "handlers", which diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts index 865b7f389c21..012e766877cf 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts @@ -14,7 +14,7 @@ tasks.create("generateDocs", JavaExec::class) { group = "build" description = "Generate table for README.md" classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("io.opentelemetry.instrumentation.runtimemetricsjava17.GenerateDocs") + mainClass.set("io.opentelemetry.instrumentation.runtimemetrics.GenerateDocs") systemProperties.set("jfr.readme.path", project.projectDir.toString() + "/README.md") } tasks { diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/HandlerRegistry.java similarity index 59% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/HandlerRegistry.java index acab51506eef..e5dbc8e8937f 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/HandlerRegistry.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/HandlerRegistry.java @@ -3,32 +3,32 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.MeterBuilder; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.buffer.DirectBufferStatisticsHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.classes.ClassesLoadedHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.container.ContainerConfigurationHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.ContextSwitchRateHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.LongLockHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu.OverallCpuLoadHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.G1GarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.OldGarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection.YoungGarbageCollectionHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.CodeCacheConfigurationHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.G1HeapSummaryHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.MetaspaceSummaryHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ObjectAllocationInNewTlabHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ObjectAllocationOutsideTlabHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory.ParallelHeapSummaryHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network.NetworkReadHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network.NetworkWriteHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.threads.ThreadCountHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.buffer.DirectBufferStatisticsHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.classes.ClassesLoadedHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.container.ContainerConfigurationHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu.ContextSwitchRateHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu.LongLockHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu.OverallCpuLoadHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection.G1GarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection.OldGarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection.YoungGarbageCollectionHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.CodeCacheConfigurationHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.G1HeapSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.MetaspaceSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.ObjectAllocationInNewTlabHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.ObjectAllocationOutsideTlabHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory.ParallelHeapSummaryHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.network.NetworkReadHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.network.NetworkWriteHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.threads.ThreadCountHandler; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.util.ArrayList; @@ -38,7 +38,7 @@ import javax.annotation.Nullable; final class HandlerRegistry { - private static final String SCOPE_NAME = "io.opentelemetry.instrumentation.runtime-metrics"; + private static final String SCOPE_NAME = "io.opentelemetry.runtime-metrics-java17"; @Nullable private static final String SCOPE_VERSION = diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrFeature.java similarity index 94% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrFeature.java index 354dc41b2052..6fc754394555 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrFeature.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrFeature.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; /** * Enumeration of JFR features, which can be toggled on or off via {@link RuntimeMetricsBuilder}. diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java similarity index 75% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java index 0934b913d237..059b0be33a19 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetrics.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java @@ -3,17 +3,19 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava8.BufferPools; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Classes; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Cpu; -import io.opentelemetry.instrumentation.runtimemetricsjava8.GarbageCollector; -import io.opentelemetry.instrumentation.runtimemetricsjava8.MemoryPools; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Threads; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java8.BufferPools; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Classes; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Cpu; +import io.opentelemetry.instrumentation.runtimemetrics.java8.GarbageCollector; +import io.opentelemetry.instrumentation.runtimemetrics.java8.JmxRuntimeMetricsUtil; +import io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Threads; import java.io.Closeable; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; @@ -33,6 +35,7 @@ public final class RuntimeMetrics implements Closeable { private final List recordedEventHandlers; private final RecordingStream recordingStream; private final CountDownLatch startUpLatch = new CountDownLatch(1); + private final List observables = new ArrayList<>(); @SuppressWarnings("CatchingUnchecked") RuntimeMetrics( @@ -55,11 +58,11 @@ public final class RuntimeMetrics implements Closeable { // Set up metrics gathered by JMX if (!disableJmx) { - BufferPools.registerObservers(openTelemetry); - Classes.registerObservers(openTelemetry); - Cpu.registerObservers(openTelemetry); - MemoryPools.registerObservers(openTelemetry); - Threads.registerObservers(openTelemetry); + observables.addAll(BufferPools.registerObservers(openTelemetry)); + observables.addAll(Classes.registerObservers(openTelemetry)); + observables.addAll(Cpu.registerObservers(openTelemetry)); + observables.addAll(MemoryPools.registerObservers(openTelemetry)); + observables.addAll(Threads.registerObservers(openTelemetry)); GarbageCollector.registerObservers(openTelemetry); } } catch (Exception e) { @@ -118,10 +121,7 @@ public void close() { } recordingStream.close(); recordedEventHandlers.forEach(RecordedEventHandler::close); - BufferPools.closeObservers(); - Classes.closeObservers(); - Cpu.closeObservers(); - MemoryPools.closeObservers(); - Threads.closeObservers(); + + JmxRuntimeMetricsUtil.closeObservers(observables); } } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilder.java similarity index 97% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilder.java index d5c483bab5c9..c582c32262f8 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilder.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilder.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/AbstractThreadDispatchingHandler.java similarity index 93% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/AbstractThreadDispatchingHandler.java index 0277e214ecf1..c18e92078bf6 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/AbstractThreadDispatchingHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/AbstractThreadDispatchingHandler.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal; import java.util.HashMap; import java.util.Map; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java similarity index 98% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java index bab923ee9da2..4752c01fda9b 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/Constants.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/DurationUtil.java similarity index 89% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/DurationUtil.java index 0b4cf62e0d5d..ae9cfb1e0c32 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/DurationUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/DurationUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal; import java.time.Duration; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/RecordedEventHandler.java similarity index 93% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/RecordedEventHandler.java index b200102d5dd1..16df1a9405a5 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/RecordedEventHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/RecordedEventHandler.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; import java.time.Duration; import java.util.List; import java.util.Optional; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/ThreadGrouper.java similarity index 90% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/ThreadGrouper.java index f7a883db234b..330c24c67308 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/ThreadGrouper.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/ThreadGrouper.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal; import javax.annotation.Nullable; import jdk.jfr.consumer.RecordedEvent; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java similarity index 80% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java index ad3cb5f07a78..22dc831e716c 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/buffer/DirectBufferStatisticsHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java @@ -3,16 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.buffer; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_BUFFERS; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.buffer; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -36,7 +33,7 @@ public final class DirectBufferStatisticsHandler implements RecordedEventHandler private static final String MEMORY_USED = "memoryUsed"; private static final String EVENT_NAME = "jdk.DirectBufferStatistics"; - private static final Attributes ATTR = Attributes.of(ATTR_POOL, "direct"); + private static final Attributes ATTR = Attributes.of(Constants.ATTR_POOL, "direct"); private final List observables = new ArrayList<>(); @@ -49,19 +46,19 @@ public DirectBufferStatisticsHandler(Meter meter) { meter .upDownCounterBuilder(METRIC_NAME_USAGE) .setDescription(METRIC_DESCRIPTION_USAGE) - .setUnit(BYTES) + .setUnit(Constants.BYTES) .buildWithCallback(measurement -> measurement.record(usage, ATTR))); observables.add( meter .upDownCounterBuilder(METRIC_NAME_LIMIT) .setDescription(METRIC_DESCRIPTION_LIMIT) - .setUnit(BYTES) + .setUnit(Constants.BYTES) .buildWithCallback(measurement -> measurement.record(limit, ATTR))); observables.add( meter .upDownCounterBuilder(METRIC_NAME_COUNT) .setDescription(METRIC_DESCRIPTION_COUNT) - .setUnit(UNIT_BUFFERS) + .setUnit(Constants.UNIT_BUFFERS) .buildWithCallback(measurement -> measurement.record(count, ATTR))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java similarity index 86% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java index 241016fdb6b6..1f703f2e26ac 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/classes/ClassesLoadedHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java @@ -3,13 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.classes; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_CLASSES; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.classes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -51,19 +50,19 @@ public ClassesLoadedHandler(Meter meter) { meter .upDownCounterBuilder(METRIC_NAME_CURRENT) .setDescription(METRIC_DESCRIPTION_CURRENT) - .setUnit(UNIT_CLASSES) + .setUnit(Constants.UNIT_CLASSES) .buildWithCallback(measurement -> measurement.record(loaded - unloaded))); observables.add( meter .counterBuilder(METRIC_NAME_LOADED) .setDescription(METRIC_DESCRIPTION_LOADED) - .setUnit(UNIT_CLASSES) + .setUnit(Constants.UNIT_CLASSES) .buildWithCallback(measurement -> measurement.record(loaded))); observables.add( meter .counterBuilder(METRIC_NAME_UNLOADED) .setDescription(METRIC_DESCRIPTION_UNLOADED) - .setUnit(UNIT_CLASSES) + .setUnit(Constants.UNIT_CLASSES) .buildWithCallback(measurement -> measurement.record(unloaded))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java similarity index 78% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java index 2fbc6982b75e..4af00f9f7834 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/container/ContainerConfigurationHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java @@ -3,13 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.container; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ONE; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.container; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import jdk.jfr.consumer.RecordedEvent; @@ -31,7 +30,7 @@ public ContainerConfigurationHandler(Meter meter) { observables.add( meter .upDownCounterBuilder(METRIC_NAME) - .setUnit(ONE) + .setUnit(Constants.ONE) .buildWithCallback(codm -> codm.record(value))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java similarity index 79% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java index 2f08d342c94a..e9a84387544f 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/ContextSwitchRateHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java @@ -3,13 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HERTZ; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -33,7 +32,7 @@ public ContextSwitchRateHandler(Meter meter) { meter .upDownCounterBuilder(METRIC_NAME) .ofDoubles() - .setUnit(HERTZ) + .setUnit(Constants.HERTZ) .buildWithCallback(codm -> codm.record(value))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java similarity index 75% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java index 495f004abc9a..27f9700434f8 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/LongLockHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java @@ -3,18 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; import java.time.Duration; import java.util.Optional; import java.util.function.Consumer; @@ -37,7 +35,7 @@ public LongLockHandler(Meter meter, ThreadGrouper grouper) { meter .histogramBuilder(METRIC_NAME) .setDescription(METRIC_DESCRIPTION) - .setUnit(MILLISECONDS) + .setUnit(Constants.MILLISECONDS) .build(); } @@ -69,7 +67,7 @@ private static class PerThreadLongLockHandler implements Consumer public PerThreadLongLockHandler(DoubleHistogram histogram, String threadName) { this.histogram = histogram; - this.attributes = Attributes.of(ATTR_THREAD_NAME, threadName); + this.attributes = Attributes.of(Constants.ATTR_THREAD_NAME, threadName); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java similarity index 84% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java index 28a2cb19e3c7..54c423b28ae7 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/cpu/OverallCpuLoadHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java @@ -3,13 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.cpu; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_UTILIZATION; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.cpu; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -42,13 +41,13 @@ public OverallCpuLoadHandler(Meter meter) { meter .gaugeBuilder(METRIC_NAME_PROCESS) .setDescription(METRIC_DESCRIPTION_PROCESS) - .setUnit(UNIT_UTILIZATION) + .setUnit(Constants.UNIT_UTILIZATION) .buildWithCallback(measurement -> measurement.record(process))); observables.add( meter .gaugeBuilder(METRIC_NAME_MACHINE) .setDescription(METRIC_DESCRIPTION_MACHINE) - .setUnit(UNIT_UTILIZATION) + .setUnit(Constants.UNIT_UTILIZATION) .buildWithCallback(measurement -> measurement.record(machine))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java new file mode 100644 index 000000000000..e67f8fb1ba46 --- /dev/null +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java @@ -0,0 +1,61 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection; + +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.metrics.LongHistogram; +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; +import java.time.Duration; +import java.util.Optional; +import jdk.jfr.consumer.RecordedEvent; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class G1GarbageCollectionHandler implements RecordedEventHandler { + private static final String EVENT_NAME = "jdk.G1GarbageCollection"; + private static final Attributes ATTR = + Attributes.of( + Constants.ATTR_GC, + "G1 Young Generation", + Constants.ATTR_ACTION, + Constants.END_OF_MINOR_GC); + private final LongHistogram histogram; + + public G1GarbageCollectionHandler(Meter meter) { + histogram = + meter + .histogramBuilder(Constants.METRIC_NAME_GC_DURATION) + .setDescription(Constants.METRIC_DESCRIPTION_GC_DURATION) + .setUnit(Constants.MILLISECONDS) + .ofLongs() + .build(); + } + + @Override + public void accept(RecordedEvent ev) { + histogram.record(ev.getLong(Constants.DURATION), ATTR); + } + + @Override + public String getEventName() { + return EVENT_NAME; + } + + @Override + public JfrFeature getFeature() { + return JfrFeature.GC_DURATION_METRICS; + } + + @Override + public Optional getPollingDuration() { + return Optional.of(Duration.ofSeconds(1)); + } +} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java new file mode 100644 index 000000000000..c402450fa73a --- /dev/null +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java @@ -0,0 +1,60 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection; + +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.metrics.LongHistogram; +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; +import java.time.Duration; +import java.util.Optional; +import jdk.jfr.consumer.RecordedEvent; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class OldGarbageCollectionHandler implements RecordedEventHandler { + private static final String EVENT_NAME = "jdk.OldGarbageCollection"; + + private final LongHistogram histogram; + private final Attributes attributes; + + public OldGarbageCollectionHandler(Meter meter, String gc) { + histogram = + meter + .histogramBuilder(Constants.METRIC_NAME_GC_DURATION) + .setDescription(Constants.METRIC_DESCRIPTION_GC_DURATION) + .setUnit(Constants.MILLISECONDS) + .ofLongs() + .build(); + // Set the attribute's GC based on which GC is being used. + attributes = + Attributes.of(Constants.ATTR_GC, gc, Constants.ATTR_ACTION, Constants.END_OF_MAJOR_GC); + } + + @Override + public void accept(RecordedEvent ev) { + histogram.record(ev.getLong(Constants.DURATION), attributes); + } + + @Override + public String getEventName() { + return EVENT_NAME; + } + + @Override + public JfrFeature getFeature() { + return JfrFeature.GC_DURATION_METRICS; + } + + @Override + public Optional getPollingDuration() { + return Optional.of(Duration.ofSeconds(1)); + } +} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java similarity index 50% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java index fbaaf7893c71..88d8a1915bfd 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/YoungGarbageCollectionHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java @@ -3,21 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.garbagecollection; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.Optional; import jdk.jfr.consumer.RecordedEvent; @@ -35,19 +28,20 @@ public final class YoungGarbageCollectionHandler implements RecordedEventHandler public YoungGarbageCollectionHandler(Meter meter, String gc) { histogram = meter - .histogramBuilder(METRIC_NAME_GC_DURATION) - .setDescription(METRIC_DESCRIPTION_GC_DURATION) - .setUnit(MILLISECONDS) + .histogramBuilder(Constants.METRIC_NAME_GC_DURATION) + .setDescription(Constants.METRIC_DESCRIPTION_GC_DURATION) + .setUnit(Constants.MILLISECONDS) .ofLongs() .build(); // Set the attribute's GC based on which GC is being used. // G1 young collection is already handled by G1GarbageCollectionHandler. - attributes = Attributes.of(ATTR_GC, gc, ATTR_ACTION, END_OF_MINOR_GC); + attributes = + Attributes.of(Constants.ATTR_GC, gc, Constants.ATTR_ACTION, Constants.END_OF_MINOR_GC); } @Override public void accept(RecordedEvent ev) { - histogram.record(ev.getLong(DURATION), attributes); + histogram.record(ev.getLong(Constants.DURATION), attributes); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java similarity index 51% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java index da5c68e10eec..d96387941d5f 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/CodeCacheConfigurationHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java @@ -3,20 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.INITIAL_SIZE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NON_HEAP; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -30,7 +23,8 @@ public final class CodeCacheConfigurationHandler implements RecordedEventHandler { private static final String EVENT_NAME = "jdk.CodeCacheConfiguration"; - private static final Attributes ATTR = Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "CodeCache"); + private static final Attributes ATTR = + Attributes.of(Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "CodeCache"); private final List observables = new ArrayList<>(); @@ -39,9 +33,9 @@ public final class CodeCacheConfigurationHandler implements RecordedEventHandler public CodeCacheConfigurationHandler(Meter meter) { observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY_INIT) - .setDescription(METRIC_DESCRIPTION_MEMORY_INIT) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY_INIT) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_INIT) + .setUnit(Constants.BYTES) .buildWithCallback(measurement -> measurement.record(initialSize, ATTR))); } @@ -57,8 +51,8 @@ public JfrFeature getFeature() { @Override public void accept(RecordedEvent event) { - if (event.hasField(INITIAL_SIZE)) { - initialSize = event.getLong(INITIAL_SIZE); + if (event.hasField(Constants.INITIAL_SIZE)) { + initialSize = event.getLong(Constants.INITIAL_SIZE); } } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java similarity index 67% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java index 72e4e0dea9e2..3b850b128d0c 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/G1HeapSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java @@ -3,23 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HEAP; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; @@ -42,9 +32,9 @@ public final class G1HeapSummaryHandler implements RecordedEventHandler { private static final String SURVIVOR_USED_SIZE = "survivorUsedSize"; private static final String WHEN = "when"; private static final Attributes ATTR_MEMORY_EDEN = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "G1 Eden Space"); + Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "G1 Eden Space"); private static final Attributes ATTR_MEMORY_SURVIVOR = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "G1 Survivor Space"); + Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "G1 Survivor Space"); // private static final Attributes ATTR_MEMORY_OLD_USED = // Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "G1 Old Gen"); // TODO needs jdk JFR support @@ -59,9 +49,9 @@ public final class G1HeapSummaryHandler implements RecordedEventHandler { public G1HeapSummaryHandler(Meter meter) { observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY) - .setDescription(METRIC_DESCRIPTION_MEMORY) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(usageEden, ATTR_MEMORY_EDEN); @@ -69,9 +59,9 @@ public G1HeapSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY_AFTER) - .setDescription(METRIC_DESCRIPTION_MEMORY_AFTER) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY_AFTER) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_AFTER) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(usageEdenAfter, ATTR_MEMORY_EDEN); @@ -79,9 +69,9 @@ public G1HeapSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_COMMITTED) - .setDescription(METRIC_DESCRIPTION_COMMITTED) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_COMMITTED) + .setDescription(Constants.METRIC_DESCRIPTION_COMMITTED) + .setUnit(Constants.BYTES) .buildWithCallback(measurement -> measurement.record(committedEden, ATTR_MEMORY_EDEN))); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java similarity index 52% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java index da5f185926a2..f02c989f47fc 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/MetaspaceSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java @@ -3,26 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NON_HEAP; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.RESERVED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.USED; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -41,9 +28,10 @@ public final class MetaspaceSummaryHandler implements RecordedEventHandler { private static final String EVENT_NAME = "jdk.MetaspaceSummary"; private static final Attributes ATTR_MEMORY_METASPACE = - Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "Metaspace"); + Attributes.of(Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "Metaspace"); private static final Attributes ATTR_MEMORY_COMPRESSED_CLASS_SPACE = - Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "Compressed Class Space"); + Attributes.of( + Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "Compressed Class Space"); private final List observables = new ArrayList<>(); @@ -57,9 +45,9 @@ public final class MetaspaceSummaryHandler implements RecordedEventHandler { public MetaspaceSummaryHandler(Meter meter) { observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY) - .setDescription(METRIC_DESCRIPTION_MEMORY) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(classUsage, ATTR_MEMORY_COMPRESSED_CLASS_SPACE); @@ -67,9 +55,9 @@ public MetaspaceSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_COMMITTED) - .setDescription(METRIC_DESCRIPTION_COMMITTED) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_COMMITTED) + .setDescription(Constants.METRIC_DESCRIPTION_COMMITTED) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(classCommitted, ATTR_MEMORY_COMPRESSED_CLASS_SPACE); @@ -77,9 +65,9 @@ public MetaspaceSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY_LIMIT) - .setDescription(METRIC_DESCRIPTION_MEMORY_LIMIT) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY_LIMIT) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_LIMIT) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(classLimit, ATTR_MEMORY_COMPRESSED_CLASS_SPACE); @@ -103,14 +91,14 @@ public void accept(RecordedEvent event) { event, "classSpace", classSpace -> { - if (classSpace.hasField(COMMITTED)) { - classCommitted = classSpace.getLong(COMMITTED); + if (classSpace.hasField(Constants.COMMITTED)) { + classCommitted = classSpace.getLong(Constants.COMMITTED); } - if (classSpace.hasField(USED)) { - classUsage = classSpace.getLong(USED); + if (classSpace.hasField(Constants.USED)) { + classUsage = classSpace.getLong(Constants.USED); } - if (classSpace.hasField(RESERVED)) { - classLimit = classSpace.getLong(RESERVED); + if (classSpace.hasField(Constants.RESERVED)) { + classLimit = classSpace.getLong(Constants.RESERVED); } }); @@ -118,14 +106,14 @@ public void accept(RecordedEvent event) { event, "metaspace", metaspace -> { - if (metaspace.hasField(COMMITTED)) { - totalCommitted = metaspace.getLong(COMMITTED); + if (metaspace.hasField(Constants.COMMITTED)) { + totalCommitted = metaspace.getLong(Constants.COMMITTED); } - if (metaspace.hasField(USED)) { - totalUsage = metaspace.getLong(USED); + if (metaspace.hasField(Constants.USED)) { + totalUsage = metaspace.getLong(Constants.USED); } - if (metaspace.hasField(RESERVED)) { - totalLimit = metaspace.getLong(RESERVED); + if (metaspace.hasField(Constants.RESERVED)) { + totalLimit = metaspace.getLong(Constants.RESERVED); } }); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationInNewTlabHandler.java similarity index 63% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationInNewTlabHandler.java index 8e5b5cc3e38c..224c113f99fe 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationInNewTlabHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationInNewTlabHandler.java @@ -3,20 +3,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ARENA_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; @@ -36,9 +31,9 @@ public ObjectAllocationInNewTlabHandler(Meter meter, ThreadGrouper grouper) { super(grouper); histogram = meter - .histogramBuilder(METRIC_NAME_MEMORY_ALLOCATION) - .setDescription(METRIC_DESCRIPTION_MEMORY_ALLOCATION) - .setUnit(BYTES) + .histogramBuilder(Constants.METRIC_NAME_MEMORY_ALLOCATION) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION) + .setUnit(Constants.BYTES) .ofLongs() .build(); } @@ -68,7 +63,8 @@ private static class PerThreadObjectAllocationInNewTlabHandler public PerThreadObjectAllocationInNewTlabHandler(LongHistogram histogram, String threadName) { this.histogram = histogram; - this.attributes = Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_ARENA_NAME, "TLAB"); + this.attributes = + Attributes.of(Constants.ATTR_THREAD_NAME, threadName, Constants.ATTR_ARENA_NAME, "TLAB"); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationOutsideTlabHandler.java similarity index 63% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationOutsideTlabHandler.java index 76b7563ec679..2929797b7d32 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ObjectAllocationOutsideTlabHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ObjectAllocationOutsideTlabHandler.java @@ -3,20 +3,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ARENA_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_ALLOCATION; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; @@ -36,9 +31,9 @@ public ObjectAllocationOutsideTlabHandler(Meter meter, ThreadGrouper grouper) { super(grouper); histogram = meter - .histogramBuilder(METRIC_NAME_MEMORY_ALLOCATION) - .setDescription(METRIC_DESCRIPTION_MEMORY_ALLOCATION) - .setUnit(BYTES) + .histogramBuilder(Constants.METRIC_NAME_MEMORY_ALLOCATION) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_ALLOCATION) + .setUnit(Constants.BYTES) .ofLongs() .build(); } @@ -68,7 +63,8 @@ private static class PerThreadObjectAllocationOutsideTlabHandler public PerThreadObjectAllocationOutsideTlabHandler(LongHistogram histogram, String threadName) { this.histogram = histogram; - this.attributes = Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_ARENA_NAME, "Main"); + this.attributes = + Attributes.of(Constants.ATTR_THREAD_NAME, threadName, Constants.ATTR_ARENA_NAME, "Main"); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java similarity index 61% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java index 36a29061c76b..c187f1d9401c 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/memory/ParallelHeapSummaryHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java @@ -3,28 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.memory; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_TYPE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.COMMITTED_SIZE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.HEAP; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.RESERVED_SIZE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.USED; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.memory; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; @@ -48,11 +33,11 @@ public final class ParallelHeapSummaryHandler implements RecordedEventHandler { private static final String WHEN = "when"; private static final String SIZE = "size"; private static final Attributes ATTR_MEMORY_EDEN = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Eden Space"); + Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Eden Space"); private static final Attributes ATTR_MEMORY_SURVIVOR = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Survivor Space"); + Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Survivor Space"); private static final Attributes ATTR_MEMORY_OLD = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Old Gen"); + Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Old Gen"); private final List observables = new ArrayList<>(); @@ -71,9 +56,9 @@ public final class ParallelHeapSummaryHandler implements RecordedEventHandler { public ParallelHeapSummaryHandler(Meter meter) { observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY) - .setDescription(METRIC_DESCRIPTION_MEMORY) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(usageEden, ATTR_MEMORY_EDEN); @@ -82,9 +67,9 @@ public ParallelHeapSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY_AFTER) - .setDescription(METRIC_DESCRIPTION_MEMORY_AFTER) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY_AFTER) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_AFTER) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(usageEdenAfter, ATTR_MEMORY_EDEN); @@ -93,9 +78,9 @@ public ParallelHeapSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_COMMITTED) - .setDescription(METRIC_DESCRIPTION_COMMITTED) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_COMMITTED) + .setDescription(Constants.METRIC_DESCRIPTION_COMMITTED) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(committedOld, ATTR_MEMORY_OLD); @@ -104,9 +89,9 @@ public ParallelHeapSummaryHandler(Meter meter) { })); observables.add( meter - .upDownCounterBuilder(METRIC_NAME_MEMORY_LIMIT) - .setDescription(METRIC_DESCRIPTION_MEMORY_LIMIT) - .setUnit(BYTES) + .upDownCounterBuilder(Constants.METRIC_NAME_MEMORY_LIMIT) + .setDescription(Constants.METRIC_DESCRIPTION_MEMORY_LIMIT) + .setUnit(Constants.BYTES) .buildWithCallback( measurement -> { measurement.record(limitOld, ATTR_MEMORY_OLD); @@ -165,11 +150,11 @@ private void recordValues(RecordedEvent event, boolean before) { event, "edenSpace", edenSpace -> { - if (edenSpace.hasField(USED)) { + if (edenSpace.hasField(Constants.USED)) { if (before) { - usageEden = edenSpace.getLong(USED); + usageEden = edenSpace.getLong(Constants.USED); } else { - usageEdenAfter = edenSpace.getLong(USED); + usageEdenAfter = edenSpace.getLong(Constants.USED); } } if (edenSpace.hasField(SIZE)) { @@ -181,11 +166,11 @@ private void recordValues(RecordedEvent event, boolean before) { event, "fromSpace", fromSpace -> { - if (fromSpace.hasField(USED)) { + if (fromSpace.hasField(Constants.USED)) { if (before) { - usageSurvivor = fromSpace.getLong(USED); + usageSurvivor = fromSpace.getLong(Constants.USED); } else { - usageSurvivorAfter = fromSpace.getLong(USED); + usageSurvivorAfter = fromSpace.getLong(Constants.USED); } } if (fromSpace.hasField(SIZE)) { @@ -197,11 +182,11 @@ private void recordValues(RecordedEvent event, boolean before) { event, "oldObjectSpace", oldObjectSpace -> { - if (oldObjectSpace.hasField(USED)) { + if (oldObjectSpace.hasField(Constants.USED)) { if (before) { - usageSurvivor = oldObjectSpace.getLong(USED); + usageSurvivor = oldObjectSpace.getLong(Constants.USED); } else { - usageSurvivorAfter = oldObjectSpace.getLong(USED); + usageSurvivorAfter = oldObjectSpace.getLong(Constants.USED); } } }); @@ -210,11 +195,11 @@ private void recordValues(RecordedEvent event, boolean before) { event, "oldSpace", oldSpace -> { - if (oldSpace.hasField(COMMITTED_SIZE)) { - committedOld = oldSpace.getLong(COMMITTED_SIZE); + if (oldSpace.hasField(Constants.COMMITTED_SIZE)) { + committedOld = oldSpace.getLong(Constants.COMMITTED_SIZE); } - if (oldSpace.hasField(RESERVED_SIZE)) { - limitOld = oldSpace.getLong(RESERVED_SIZE); + if (oldSpace.hasField(Constants.RESERVED_SIZE)) { + limitOld = oldSpace.getLong(Constants.RESERVED_SIZE); } }); @@ -222,8 +207,8 @@ private void recordValues(RecordedEvent event, boolean before) { event, "youngSpace", oldSpace -> { - if (oldSpace.hasField(RESERVED_SIZE)) { - limitYoung = oldSpace.getLong(RESERVED_SIZE); + if (oldSpace.hasField(Constants.RESERVED_SIZE)) { + limitYoung = oldSpace.getLong(Constants.RESERVED_SIZE); } }); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkReadHandler.java similarity index 53% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkReadHandler.java index 55c763b9aa2d..4764a09a49e3 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkReadHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkReadHandler.java @@ -3,26 +3,17 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_NETWORK_MODE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NETWORK_MODE_READ; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.network; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; @@ -40,16 +31,16 @@ public NetworkReadHandler(Meter meter, ThreadGrouper nameNormalizer) { super(nameNormalizer); bytesHistogram = meter - .histogramBuilder(METRIC_NAME_NETWORK_BYTES) - .setDescription(METRIC_DESCRIPTION_NETWORK_BYTES) - .setUnit(BYTES) + .histogramBuilder(Constants.METRIC_NAME_NETWORK_BYTES) + .setDescription(Constants.METRIC_DESCRIPTION_NETWORK_BYTES) + .setUnit(Constants.BYTES) .ofLongs() .build(); durationHistogram = meter - .histogramBuilder(METRIC_NAME_NETWORK_DURATION) - .setDescription(METRIC_DESCRIPTION_NETWORK_DURATION) - .setUnit(MILLISECONDS) + .histogramBuilder(Constants.METRIC_NAME_NETWORK_DURATION) + .setDescription(Constants.METRIC_DESCRIPTION_NETWORK_DURATION) + .setUnit(Constants.MILLISECONDS) .build(); } @@ -80,7 +71,11 @@ public PerThreadNetworkReadHandler( this.bytesHistogram = bytesHistogram; this.durationHistogram = durationHistogram; this.attributes = - Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_NETWORK_MODE, NETWORK_MODE_READ); + Attributes.of( + Constants.ATTR_THREAD_NAME, + threadName, + Constants.ATTR_NETWORK_MODE, + Constants.NETWORK_MODE_READ); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkWriteHandler.java similarity index 60% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkWriteHandler.java index b66da98f5c41..792cba803014 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/network/NetworkWriteHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/network/NetworkWriteHandler.java @@ -3,26 +3,17 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.network; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_NETWORK_MODE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_THREAD_NAME; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_NETWORK_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.NETWORK_MODE_WRITE; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.network; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.AbstractThreadDispatchingHandler; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.DurationUtil; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.ThreadGrouper; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.AbstractThreadDispatchingHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.DurationUtil; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.ThreadGrouper; import java.util.function.Consumer; import jdk.jfr.consumer.RecordedEvent; @@ -58,16 +49,16 @@ public NetworkWriteHandler(Meter meter, ThreadGrouper nameNormalizer) { super(nameNormalizer); bytesHistogram = meter - .histogramBuilder(METRIC_NAME_NETWORK_BYTES) - .setDescription(METRIC_DESCRIPTION_NETWORK_BYTES) - .setUnit(BYTES) + .histogramBuilder(Constants.METRIC_NAME_NETWORK_BYTES) + .setDescription(Constants.METRIC_DESCRIPTION_NETWORK_BYTES) + .setUnit(Constants.BYTES) .ofLongs() .build(); durationHistogram = meter - .histogramBuilder(METRIC_NAME_NETWORK_DURATION) - .setDescription(METRIC_DESCRIPTION_NETWORK_DURATION) - .setUnit(MILLISECONDS) + .histogramBuilder(Constants.METRIC_NAME_NETWORK_DURATION) + .setDescription(Constants.METRIC_DESCRIPTION_NETWORK_DURATION) + .setUnit(Constants.MILLISECONDS) .build(); } @@ -98,7 +89,11 @@ private PerThreadNetworkWriteHandler( this.bytesHistogram = bytesHistogram; this.durationHistogram = durationHistogram; this.attributes = - Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_NETWORK_MODE, NETWORK_MODE_WRITE); + Attributes.of( + Constants.ATTR_THREAD_NAME, + threadName, + Constants.ATTR_NETWORK_MODE, + Constants.NETWORK_MODE_WRITE); } @Override diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java similarity index 78% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java index 0c9dd216da86..8d5cc57a99fc 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/threads/ThreadCountHandler.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java @@ -3,15 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.threads; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_DAEMON; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_THREADS; +package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.threads; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; +import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants; +import io.opentelemetry.instrumentation.runtimemetrics.java17.internal.RecordedEventHandler; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -26,8 +24,8 @@ public final class ThreadCountHandler implements RecordedEventHandler { private static final String METRIC_NAME = "process.runtime.jvm.threads.count"; private static final String EVENT_NAME = "jdk.JavaThreadStatistics"; private static final String METRIC_DESCRIPTION = "Number of executing threads"; - private static final Attributes ATTR_DAEMON_TRUE = Attributes.of(ATTR_DAEMON, true); - private static final Attributes ATTR_DAEMON_FALSE = Attributes.of(ATTR_DAEMON, false); + private static final Attributes ATTR_DAEMON_TRUE = Attributes.of(Constants.ATTR_DAEMON, true); + private static final Attributes ATTR_DAEMON_FALSE = Attributes.of(Constants.ATTR_DAEMON, false); private final List observables = new ArrayList<>(); @@ -39,7 +37,7 @@ public ThreadCountHandler(Meter meter) { meter .upDownCounterBuilder(METRIC_NAME) .setDescription(METRIC_DESCRIPTION) - .setUnit(UNIT_THREADS) + .setUnit(Constants.UNIT_THREADS) .buildWithCallback( measurement -> { long d = daemonCount; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java deleted file mode 100644 index d6efd61146d5..000000000000 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/G1GarbageCollectionHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; - -import io.opentelemetry.api.common.Attributes; -import io.opentelemetry.api.metrics.LongHistogram; -import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; -import java.time.Duration; -import java.util.Optional; -import jdk.jfr.consumer.RecordedEvent; - -/** - * This class is internal and is hence not for public use. Its APIs are unstable and can change at - * any time. - */ -public final class G1GarbageCollectionHandler implements RecordedEventHandler { - private static final String EVENT_NAME = "jdk.G1GarbageCollection"; - private static final Attributes ATTR = - Attributes.of(ATTR_GC, "G1 Young Generation", ATTR_ACTION, END_OF_MINOR_GC); - private final LongHistogram histogram; - - public G1GarbageCollectionHandler(Meter meter) { - histogram = - meter - .histogramBuilder(METRIC_NAME_GC_DURATION) - .setDescription(METRIC_DESCRIPTION_GC_DURATION) - .setUnit(MILLISECONDS) - .ofLongs() - .build(); - } - - @Override - public void accept(RecordedEvent ev) { - histogram.record(ev.getLong(DURATION), ATTR); - } - - @Override - public String getEventName() { - return EVENT_NAME; - } - - @Override - public JfrFeature getFeature() { - return JfrFeature.GC_DURATION_METRICS; - } - - @Override - public Optional getPollingDuration() { - return Optional.of(Duration.ofSeconds(1)); - } -} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java deleted file mode 100644 index 30c094b7d167..000000000000 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava17/internal/garbagecollection/OldGarbageCollectionHandler.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.runtimemetricsjava17.internal.garbagecollection; - -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; - -import io.opentelemetry.api.common.Attributes; -import io.opentelemetry.api.metrics.LongHistogram; -import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetricsjava17.JfrFeature; -import io.opentelemetry.instrumentation.runtimemetricsjava17.internal.RecordedEventHandler; -import java.time.Duration; -import java.util.Optional; -import jdk.jfr.consumer.RecordedEvent; - -/** - * This class is internal and is hence not for public use. Its APIs are unstable and can change at - * any time. - */ -public final class OldGarbageCollectionHandler implements RecordedEventHandler { - private static final String EVENT_NAME = "jdk.OldGarbageCollection"; - - private final LongHistogram histogram; - private final Attributes attributes; - - public OldGarbageCollectionHandler(Meter meter, String gc) { - histogram = - meter - .histogramBuilder(METRIC_NAME_GC_DURATION) - .setDescription(METRIC_DESCRIPTION_GC_DURATION) - .setUnit(MILLISECONDS) - .ofLongs() - .build(); - // Set the attribute's GC based on which GC is being used. - attributes = Attributes.of(ATTR_GC, gc, ATTR_ACTION, END_OF_MAJOR_GC); - } - - @Override - public void accept(RecordedEvent ev) { - histogram.record(ev.getLong(DURATION), attributes); - } - - @Override - public String getEventName() { - return EVENT_NAME; - } - - @Override - public JfrFeature getFeature() { - return JfrFeature.GC_DURATION_METRICS; - } - - @Override - public Optional getPollingDuration() { - return Optional.of(Duration.ofSeconds(1)); - } -} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java similarity index 90% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java index 670b392ed514..bfce75d5ab94 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/BufferMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_POOL; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_BUFFERS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_POOL; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.UNIT_BUFFERS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/CodeCacheMemoryInitMetricTest.java similarity index 68% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/CodeCacheMemoryInitMetricTest.java index 9a9a462df4f7..49ccd293a9ce 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/CodeCacheMemoryInitMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/CodeCacheMemoryInitMetricTest.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_CODE_CACHE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_CODE_CACHE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY_INIT; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY_INIT; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java similarity index 67% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java index d40d4f36c7ec..b9d5c39ff600 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/G1GcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java @@ -3,22 +3,22 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_G1_EDEN_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_G1_SURVIVOR_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_G1_EDEN_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_G1_SURVIVOR_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/GenerateDocs.java similarity index 98% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/GenerateDocs.java index 96c0fabc9e81..21307ee1bcc4 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/GenerateDocs.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/GenerateDocs.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toSet; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java similarity index 93% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java index 05fbd96450f5..a8b39a07f634 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrClassesLoadedCountTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_CLASSES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.UNIT_CLASSES; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java similarity index 82% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java index 4493bca6bfa1..a8bc539f9051 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrCpuLockTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrExtension.java similarity index 97% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrExtension.java index c5aa1f3a5c8a..cc56dd582a46 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrExtension.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrExtension.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.awaitility.Awaitility.await; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java similarity index 86% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java index 474203cc3d91..cd18f1ddef99 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrOverallCpuLoadHandlerTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_UTILIZATION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.UNIT_UTILIZATION; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java similarity index 87% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java index e266b64e17b1..6c19780b5675 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/JfrThreadCountTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.DAEMON; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.UNIT_THREADS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.DAEMON; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.UNIT_THREADS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.AttributeKey; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java similarity index 68% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java index 1cd8036e023f..2a553aab0def 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryCommittedMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_METASPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_METASPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java similarity index 71% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java index 776f5557a8aa..4332e60549d5 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryLimitMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java similarity index 65% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java index 24156de84e2a..b5659d491f40 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/MetaspaceMemoryUsageMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_METASPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_COMPRESSED_CLASS_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_METASPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java similarity index 63% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java index c8d95adb38f9..d0aa14646b6e 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/PsGcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java @@ -3,24 +3,24 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_EDEN_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_OLD_GEN; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_PS_SURVIVOR_SPACE; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.BYTES; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_NAME_MEMORY_AFTER; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_PS_EDEN_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_PS_OLD_GEN; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_PS_SURVIVOR_SPACE; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.BYTES; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_MEMORY_LIMIT; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY_AFTER; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilderTest.java similarity index 97% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilderTest.java index d11a2cd60de3..ff419d834613 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsBuilderTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsBuilderTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsTest.java similarity index 95% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsTest.java index 1ad7dff109a7..c5137ed7e2a5 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/RuntimeMetricsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetricsTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; @@ -55,7 +55,7 @@ void create_Default() { .allSatisfy( metric -> { assertThat(metric.getInstrumentationScopeInfo().getName()) - .isEqualTo("io.opentelemetry.instrumentation.runtime-metrics"); + .contains("io.opentelemetry.runtime-metrics-java"); }); } } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java similarity index 70% rename from instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java index 71554b26ca3a..2f0f82ea3cc0 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava17/SerialGcMemoryMetricTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava17; +package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_ACTION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.ATTR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MAJOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.END_OF_MINOR_GC; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; -import static io.opentelemetry.instrumentation.runtimemetricsjava17.internal.Constants.MILLISECONDS; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MAJOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.END_OF_MINOR_GC; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_DESCRIPTION_GC_DURATION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java similarity index 56% rename from instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java index 6924137d14f8..cc3af3cb88c3 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetricsjava8/Java8RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java @@ -3,20 +3,23 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.javaagent.runtimemetricsjava8; +package io.opentelemetry.instrumentation.javaagent.runtimemetrics.java8; import com.google.auto.service.AutoService; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.runtimemetricsjava8.BufferPools; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Classes; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Cpu; -import io.opentelemetry.instrumentation.runtimemetricsjava8.GarbageCollector; -import io.opentelemetry.instrumentation.runtimemetricsjava8.MemoryPools; -import io.opentelemetry.instrumentation.runtimemetricsjava8.Threads; +import io.opentelemetry.instrumentation.runtimemetrics.java8.BufferPools; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Classes; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Cpu; +import io.opentelemetry.instrumentation.runtimemetrics.java8.GarbageCollector; +import io.opentelemetry.instrumentation.runtimemetrics.java8.JmxRuntimeMetricsUtil; +import io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools; +import io.opentelemetry.instrumentation.runtimemetrics.java8.Threads; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; +import java.util.ArrayList; +import java.util.List; /** An {@link AgentListener} that enables runtime metrics during agent startup. */ @AutoService(AgentListener.class) @@ -27,26 +30,22 @@ public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { ConfigProperties config = autoConfiguredSdk.getConfig(); boolean defaultEnabled = config.getBoolean("otel.instrumentation.common.default-enabled", true); - if (!config.getBoolean("otel.instrumentation.runtime-metrics-java8.enabled", defaultEnabled) + if (!config.getBoolean("otel.instrumentation.runtime-metrics.enabled", defaultEnabled) || Double.parseDouble(System.getProperty("java.specification.version")) >= 17) { return; } OpenTelemetry openTelemetry = GlobalOpenTelemetry.get(); - - BufferPools.registerObservers(openTelemetry); - Classes.registerObservers(openTelemetry); - Cpu.registerObservers(openTelemetry); - MemoryPools.registerObservers(openTelemetry); - Threads.registerObservers(openTelemetry); + List observables = new ArrayList<>(); + observables.addAll(BufferPools.registerObservers(openTelemetry)); + observables.addAll(Classes.registerObservers(openTelemetry)); + observables.addAll(Cpu.registerObservers(openTelemetry)); + observables.addAll(MemoryPools.registerObservers(openTelemetry)); + observables.addAll(Threads.registerObservers(openTelemetry)); GarbageCollector.registerObservers(openTelemetry); Thread cleanupTelemetry = new Thread( () -> { - BufferPools.closeObservers(); - Classes.closeObservers(); - Cpu.closeObservers(); - MemoryPools.closeObservers(); - Threads.closeObservers(); + JmxRuntimeMetricsUtil.closeObservers(observables); }); Runtime.getRuntime().addShutdownHook(cleanupTelemetry); } diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java similarity index 86% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java index 1fdf59e16521..8883f5cb9eb9 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -35,18 +35,19 @@ * */ public final class BufferPools { - private static final List observables = new ArrayList<>(); private static final AttributeKey POOL_KEY = AttributeKey.stringKey("pool"); /** Register observers for java runtime buffer pool metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { + public static List registerObservers(OpenTelemetry openTelemetry) { List bufferBeans = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); - registerObservers(openTelemetry, bufferBeans); + return registerObservers(openTelemetry, bufferBeans); } // Visible for testing - static void registerObservers(OpenTelemetry openTelemetry, List bufferBeans) { + static List registerObservers( + OpenTelemetry openTelemetry, List bufferBeans) { + List observables = new ArrayList<>(); Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); observables.add( meter @@ -67,10 +68,7 @@ static void registerObservers(OpenTelemetry openTelemetry, List observables = new ArrayList<>(); /** Register observers for java runtime class metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { - INSTANCE.registerObservers(openTelemetry, ManagementFactory.getClassLoadingMXBean()); + public static List registerObservers(OpenTelemetry openTelemetry) { + return INSTANCE.registerObservers(openTelemetry, ManagementFactory.getClassLoadingMXBean()); } // Visible for testing - void registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean) { + List registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - + List observables = new ArrayList<>(); observables.add( meter .counterBuilder("process.runtime.jvm.classes.loaded") @@ -69,10 +68,7 @@ void registerObservers(OpenTelemetry openTelemetry, ClassLoadingMXBean classBean .buildWithCallback( observableMeasurement -> observableMeasurement.record(classBean.getLoadedClassCount()))); - } - - public static void closeObservers() { - JmxRuntimeMetricsUtil.closeObservers(observables); + return observables; } private Classes() {} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java similarity index 93% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java index 1bc06b67b887..e564ee16e641 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/Cpu.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -43,7 +43,6 @@ public final class Cpu { private static final String METHOD_PROCESS_CPU_LOAD = "getProcessCpuLoad"; private static final String METHOD_CPU_LOAD = "getCpuLoad"; private static final String METHOD_SYSTEM_CPU_LOAD = "getSystemCpuLoad"; - private static final List observables = new ArrayList<>(); @Nullable private static final Supplier processCpu; @Nullable private static final Supplier systemCpu; @@ -72,19 +71,19 @@ public final class Cpu { } /** Register observers for java runtime class metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { - INSTANCE.registerObservers( + public static List registerObservers(OpenTelemetry openTelemetry) { + return INSTANCE.registerObservers( openTelemetry, ManagementFactory.getOperatingSystemMXBean(), systemCpu, processCpu); } // Visible for testing - void registerObservers( + List registerObservers( OpenTelemetry openTelemetry, OperatingSystemMXBean osBean, @Nullable Supplier systemCpuUsage, @Nullable Supplier processCpuUsage) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - + List observables = new ArrayList<>(); observables.add( meter .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") @@ -127,10 +126,7 @@ void registerObservers( } })); } - } - - public static void closeObservers() { - JmxRuntimeMetricsUtil.closeObservers(observables); + return observables; } @Nullable diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java similarity index 98% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java index 3d8b2a40c9b4..b9d5bd3b65e9 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollector.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import com.sun.management.GarbageCollectionNotificationInfo; import io.opentelemetry.api.OpenTelemetry; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java similarity index 84% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java index 4b52f8f03d5a..8d0505e086c1 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/JmxRuntimeMetricsUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -12,10 +12,9 @@ import java.util.List; import javax.annotation.Nullable; -class JmxRuntimeMetricsUtil { +public class JmxRuntimeMetricsUtil { - private static final String INSTRUMENTATION_NAME = - "io.opentelemetry.instrumentation.runtime-metrics"; + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-metrics-java8"; @Nullable private static final String INSTRUMENTATION_VERSION = diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java similarity index 91% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java index 65042b642089..8ced15e8269b 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributeKey; @@ -48,17 +48,17 @@ public final class MemoryPools { private static final String HEAP = "heap"; private static final String NON_HEAP = "non_heap"; - private static final List observables = new ArrayList<>(); /** Register observers for java runtime memory metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { - registerObservers(openTelemetry, ManagementFactory.getMemoryPoolMXBeans()); + public static List registerObservers(OpenTelemetry openTelemetry) { + return registerObservers(openTelemetry, ManagementFactory.getMemoryPoolMXBeans()); } // Visible for testing - static void registerObservers(OpenTelemetry openTelemetry, List poolBeans) { + static List registerObservers( + OpenTelemetry openTelemetry, List poolBeans) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - + List observables = new ArrayList<>(); observables.add( meter .upDownCounterBuilder("process.runtime.jvm.memory.usage") @@ -99,10 +99,7 @@ static void registerObservers(OpenTelemetry openTelemetry, List DAEMON = AttributeKey.booleanKey("daemon"); - private static final List observables = new ArrayList<>(); /** Register observers for java runtime class metrics. */ - public static void registerObservers(OpenTelemetry openTelemetry) { - INSTANCE.registerObservers(openTelemetry, ManagementFactory.getThreadMXBean()); + public static List registerObservers(OpenTelemetry openTelemetry) { + return INSTANCE.registerObservers(openTelemetry, ManagementFactory.getThreadMXBean()); } // Visible for testing - void registerObservers(OpenTelemetry openTelemetry, ThreadMXBean threadBean) { + List registerObservers(OpenTelemetry openTelemetry, ThreadMXBean threadBean) { Meter meter = JmxRuntimeMetricsUtil.getMeter(openTelemetry); - + List observables = new ArrayList<>(); observables.add( meter .upDownCounterBuilder("process.runtime.jvm.threads.count") @@ -61,10 +60,7 @@ void registerObservers(OpenTelemetry openTelemetry, ThreadMXBean threadBean) { threadBean.getThreadCount() - threadBean.getDaemonThreadCount(), Attributes.builder().put(DAEMON, false).build()); })); - } - - public static void closeObservers() { - JmxRuntimeMetricsUtil.closeObservers(observables); + return observables; } private Threads() {} diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPoolsTest.java similarity index 94% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPoolsTest.java index 9d895371e433..cc9d89d5203a 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/BufferPoolsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; @@ -55,7 +55,7 @@ void registerObservers() { BufferPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.buffer.usage", metrics -> metrics.anySatisfy( @@ -75,7 +75,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.buffer.limit", metrics -> metrics.anySatisfy( @@ -94,7 +94,7 @@ void registerObservers() { AttributeKey.stringKey("pool"), "buffer_pool_1"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.buffer.count", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java similarity index 91% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java index 9fd2323b63e3..accdc46270d5 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ClassesTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Classes.INSTANCE.registerObservers(testing.getOpenTelemetry(), classBean); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.classes.loaded", metrics -> metrics.anySatisfy( @@ -52,7 +52,7 @@ void registerObservers() { point -> point.hasValue(3).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.classes.unloaded", metrics -> metrics.anySatisfy( @@ -68,7 +68,7 @@ void registerObservers() { point -> point.hasValue(2).hasAttributes(Attributes.empty()))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.classes.current_loaded", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java similarity index 89% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java index 7772cdb98042..6f4c61fb30e9 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/CpuTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.Mockito.when; @@ -37,7 +37,7 @@ void registerObservers() { testing.getOpenTelemetry(), osBean, systemCpuUsage, processCpuUsage); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.system.cpu.load_1m", metrics -> metrics.anySatisfy( @@ -49,7 +49,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.system.cpu.utilization", metrics -> metrics.anySatisfy( @@ -61,7 +61,7 @@ void registerObservers() { .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(0.11))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.cpu.utilization", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollectorTest.java similarity index 96% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollectorTest.java index e224f1145a6d..6a1c8d434a72 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/GarbageCollectorTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollectorTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -64,7 +64,7 @@ void registerObservers() { createTestNotification("G1 Old Generation", "end of major GC", 11), null); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.gc.duration", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPoolsTest.java similarity index 96% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPoolsTest.java index 3e85b74a85b5..a4580f2884ab 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/MemoryPoolsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPoolsTest.java @@ -3,9 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; @@ -83,7 +83,7 @@ void registerObservers() { MemoryPools.registerObservers(testing.getOpenTelemetry(), beans); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.memory.init", metrics -> metrics.anySatisfy( @@ -109,7 +109,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.memory.usage", metrics -> metrics.anySatisfy( @@ -135,7 +135,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.memory.committed", metrics -> metrics.anySatisfy( @@ -161,7 +161,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.memory.limit", metrics -> metrics.anySatisfy( @@ -187,7 +187,7 @@ void registerObservers() { .hasAttribute( AttributeKey.stringKey("type"), "non_heap"))))); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.memory.usage_after_last_gc", metrics -> metrics.anySatisfy( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ScopeUtil.java similarity index 83% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ScopeUtil.java index 5a9c91f6acdd..979f487393a2 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ScopeUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ScopeUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; import io.opentelemetry.sdk.common.InstrumentationScopeInfo; @@ -11,8 +11,7 @@ import javax.annotation.Nullable; class ScopeUtil { - private static final String INSTRUMENTATION_NAME = - "io.opentelemetry.instrumentation.runtime-metrics"; + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-metrics-java8"; @Nullable private static final String INSTRUMENTATION_VERSION = diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java similarity index 88% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java index b0b2ea82d84e..da2c70d13710 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetricsjava8/ThreadsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetricsjava8; +package io.opentelemetry.instrumentation.runtimemetrics.java8; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.ScopeUtil.EXPECTED_SCOPE; -import static io.opentelemetry.instrumentation.runtimemetricsjava8.Threads.DAEMON; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.ScopeUtil.EXPECTED_SCOPE; +import static io.opentelemetry.instrumentation.runtimemetrics.java8.Threads.DAEMON; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static org.mockito.Mockito.when; @@ -36,7 +36,7 @@ void registerObservers() { Threads.INSTANCE.registerObservers(testing.getOpenTelemetry(), threadBean); testing.waitAndAssertMetrics( - "io.opentelemetry.instrumentation.runtime-metrics", + "io.opentelemetry.runtime-metrics-java8", "process.runtime.jvm.threads.count", metrics -> metrics.anySatisfy( From 484dcbf988e778968ecee5e7cfa869b52402e2d5 Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Thu, 11 May 2023 14:39:03 -0400 Subject: [PATCH 5/7] review comments and add to Changelog.md --- CHANGELOG.md | 1 + .../runtime-metrics-java17/library/README.md | 4 ++-- .../runtime-metrics-java17/library/build.gradle.kts | 2 +- .../runtimemetrics/java17/RuntimeMetrics.java | 2 +- .../java8/Java8RuntimeMetricsInstaller.java | 2 +- .../instrumentation/runtimemetrics/java8/BufferPools.java | 1 + .../instrumentation/runtimemetrics/java8/Classes.java | 1 + .../instrumentation/runtimemetrics/java8/Cpu.java | 1 + .../runtimemetrics/java8/GarbageCollector.java | 1 + .../instrumentation/runtimemetrics/java8/MemoryPools.java | 1 + .../instrumentation/runtimemetrics/java8/Threads.java | 1 + .../java8/{ => internal}/JmxRuntimeMetricsUtil.java | 8 ++++++-- 12 files changed, 18 insertions(+), 7 deletions(-) rename instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/{ => internal}/JmxRuntimeMetricsUtil.java (82%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f6dd5e3e944..10f8da80a54b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ ([#7888](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7888)) - Set up EarlyInitAgentConfig even earlier ([#8413](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8413)) +- Add runtime-metrics-java17 ([#8165](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8165) and [#7886](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7886)) ### 🛠️ Bug fixes diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md index 9014e235d2eb..b3d81e11f631 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/README.md @@ -1,5 +1,5 @@ -The main entry point is the `RuntimeMetrics` class in the package `io.opentelemetry.instrumentation.runtimemetrics`: +The main entry point is the `RuntimeMetrics` class in the package `io.opentelemetry.instrumentation.runtimemetrics.java17`: ```java // Initialize JfrTelemetry @@ -12,7 +12,7 @@ runtimeMetrics.close(); `RuntimeMetrics` uses two underlying implementations to gather the full set of metric data, JFR and JMX. The metrics gathered by the two implementations are mutually exclusive and the union of them produces the full set of available metrics. -The JMX component is reused from the `io.opentelemetry.instrumentation.runtimemetrics` package. +The JMX component is reused from the `io.opentelemetry.instrumentation.runtimemetrics.java8` package. The JFR component uses JFR streaming and is only available in JAVA 17. It works by subscribing to certain JFR events, and using relevant bits of information from the events to produce telemetry data like metrics. The code is divided into "handlers", which diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts index 012e766877cf..09b27ff7f7c1 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/build.gradle.kts @@ -14,7 +14,7 @@ tasks.create("generateDocs", JavaExec::class) { group = "build" description = "Generate table for README.md" classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("io.opentelemetry.instrumentation.runtimemetrics.GenerateDocs") + mainClass.set("io.opentelemetry.instrumentation.runtimemetrics.java17.GenerateDocs") systemProperties.set("jfr.readme.path", project.projectDir.toString() + "/README.md") } tasks { diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java index 059b0be33a19..f2e893386ef6 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/RuntimeMetrics.java @@ -11,9 +11,9 @@ import io.opentelemetry.instrumentation.runtimemetrics.java8.Classes; import io.opentelemetry.instrumentation.runtimemetrics.java8.Cpu; import io.opentelemetry.instrumentation.runtimemetrics.java8.GarbageCollector; -import io.opentelemetry.instrumentation.runtimemetrics.java8.JmxRuntimeMetricsUtil; import io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools; import io.opentelemetry.instrumentation.runtimemetrics.java8.Threads; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.io.Closeable; import java.util.ArrayList; import java.util.List; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java index cc3af3cb88c3..b7f3b75c3413 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java8/Java8RuntimeMetricsInstaller.java @@ -12,9 +12,9 @@ import io.opentelemetry.instrumentation.runtimemetrics.java8.Classes; import io.opentelemetry.instrumentation.runtimemetrics.java8.Cpu; import io.opentelemetry.instrumentation.runtimemetrics.java8.GarbageCollector; -import io.opentelemetry.instrumentation.runtimemetrics.java8.JmxRuntimeMetricsUtil; import io.opentelemetry.instrumentation.runtimemetrics.java8.MemoryPools; import io.opentelemetry.instrumentation.runtimemetrics.java8.Threads; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import io.opentelemetry.javaagent.extension.AgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java index 8883f5cb9eb9..2da60ef67e04 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/BufferPools.java @@ -10,6 +10,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.ObservableLongMeasurement; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.BufferPoolMXBean; import java.lang.management.ManagementFactory; import java.util.ArrayList; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Classes.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Classes.java index 70734af40b64..2695d5927cee 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Classes.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Classes.java @@ -7,6 +7,7 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; import java.util.ArrayList; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java index e564ee16e641..edfd443fd6f7 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java @@ -7,6 +7,7 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.ManagementFactory; import java.lang.management.OperatingSystemMXBean; import java.lang.reflect.InvocationTargetException; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java index b9d5bd3b65e9..9f396392eb0e 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java @@ -11,6 +11,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.util.List; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java index 8ced15e8269b..3dd3385f66e3 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/MemoryPools.java @@ -10,6 +10,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.ObservableLongMeasurement; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.ManagementFactory; import java.lang.management.MemoryPoolMXBean; import java.lang.management.MemoryType; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Threads.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Threads.java index e3b51625b591..28f61edaba0c 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Threads.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Threads.java @@ -9,6 +9,7 @@ import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.util.ArrayList; diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/internal/JmxRuntimeMetricsUtil.java similarity index 82% rename from instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java rename to instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/internal/JmxRuntimeMetricsUtil.java index 8d0505e086c1..b5fe3e41859a 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/JmxRuntimeMetricsUtil.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/internal/JmxRuntimeMetricsUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.runtimemetrics.java8; +package io.opentelemetry.instrumentation.runtimemetrics.java8.internal; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.metrics.Meter; @@ -12,6 +12,10 @@ import java.util.List; import javax.annotation.Nullable; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public class JmxRuntimeMetricsUtil { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.runtime-metrics-java8"; @@ -20,7 +24,7 @@ public class JmxRuntimeMetricsUtil { private static final String INSTRUMENTATION_VERSION = EmbeddedInstrumentationProperties.findVersion(INSTRUMENTATION_NAME); - static Meter getMeter(OpenTelemetry openTelemetry) { + public static Meter getMeter(OpenTelemetry openTelemetry) { MeterBuilder meterBuilder = openTelemetry.meterBuilder(INSTRUMENTATION_NAME); if (INSTRUMENTATION_VERSION != null) { meterBuilder.setInstrumentationVersion(INSTRUMENTATION_VERSION); From bf9c04ec656b2f653e31e4a51bbe4e0f1b59b8a9 Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Thu, 11 May 2023 14:48:09 -0400 Subject: [PATCH 6/7] check if metric gathering is enabled before enabling JMX metrics for java17 --- .../runtimemetrics/java17/Java17RuntimeMetricsInstaller.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java index 1963b0f18d06..02f028106190 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java17/javaagent/src/main/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/Java17RuntimeMetricsInstaller.java @@ -27,12 +27,12 @@ public void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredSdk) { By default don't use any JFR metrics. May change this once semantic conventions are updated. If enabled, default to only the metrics not already covered by runtime-metrics-java8 */ - + boolean defaultEnabled = config.getBoolean("otel.instrumentation.common.default-enabled", true); if (config.getBoolean("otel.instrumentation.runtime-metrics-java17.enable-all", false)) { runtimeMetrics = RuntimeMetrics.builder(openTelemetry).enableAllFeatures().build(); } else if (config.getBoolean("otel.instrumentation.runtime-metrics-java17.enabled", false)) { runtimeMetrics = RuntimeMetrics.create(openTelemetry); - } else { + } else if (config.getBoolean("otel.instrumentation.runtime-metrics.enabled", defaultEnabled)) { // This only uses metrics gathered by JMX runtimeMetrics = RuntimeMetrics.builder(openTelemetry).disableAllFeatures().build(); } From 0de4f514bbc12ec22c875b2cc7bb61a938fb099f Mon Sep 17 00:00:00 2001 From: Robert Toyonaga Date: Mon, 15 May 2023 16:54:43 -0400 Subject: [PATCH 7/7] changelog and style fixes --- CHANGELOG.md | 1 - .../instrumentation/runtimemetrics/java8/GarbageCollector.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3311d0bf39b6..6a540e509a17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,6 @@ ([#7888](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7888)) - Set up EarlyInitAgentConfig even earlier ([#8413](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8413)) -- Add runtime-metrics-java17 ([#8165](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/8165) and [#7886](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7886)) ### 🛠️ Bug fixes diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java index 79bfd8510317..5d5dc96b478f 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/GarbageCollector.java @@ -14,8 +14,8 @@ import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.DoubleHistogramBuilder; import io.opentelemetry.api.metrics.Meter; -import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder; +import io.opentelemetry.instrumentation.runtimemetrics.java8.internal.JmxRuntimeMetricsUtil; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.util.List;