diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java index 1a2b729b68ee..8f36953986ac 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/javaagent/src/test/java/io/opentelemetry/instrumentation/javaagent/runtimemetrics/java17/JfrRuntimeMetricsTest.java @@ -33,8 +33,8 @@ void shouldHaveDefaultMetrics() { testing.waitAndAssertMetrics( "io.opentelemetry.runtime-telemetry-java17", - metric -> metric.hasName("process.runtime.jvm.cpu.longlock"), - metric -> metric.hasName("process.runtime.jvm.cpu.limit"), - metric -> metric.hasName("process.runtime.jvm.cpu.context_switch")); + metric -> metric.hasName("jvm.cpu.longlock"), + metric -> metric.hasName("jvm.cpu.limit"), + metric -> metric.hasName("jvm.cpu.context_switch")); } } diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/README.md b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/README.md index 779a0cecffba..48e144d1209a 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/README.md +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/README.md @@ -35,16 +35,16 @@ default, and the telemetry each produces: -| JfrFeature | Default Enabled | Metrics | -| ------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| BUFFER_METRICS | `false` | `process.runtime.jvm.buffer.count`, `process.runtime.jvm.buffer.limit`, `process.runtime.jvm.buffer.usage` | -| CLASS_LOAD_METRICS | `false` | `process.runtime.jvm.classes.current_loaded`, `process.runtime.jvm.classes.loaded`, `process.runtime.jvm.classes.unloaded` | -| CONTEXT_SWITCH_METRICS | `true` | `process.runtime.jvm.cpu.context_switch` | -| CPU_COUNT_METRICS | `true` | `process.runtime.jvm.cpu.limit` | -| CPU_UTILIZATION_METRICS | `false` | `process.runtime.jvm.cpu.utilization`, `process.runtime.jvm.system.cpu.utilization` | -| GC_DURATION_METRICS | `false` | `process.runtime.jvm.gc.duration` | -| LOCK_METRICS | `true` | `process.runtime.jvm.cpu.longlock` | -| MEMORY_ALLOCATION_METRICS | `true` | `process.runtime.jvm.memory.allocation` | -| MEMORY_POOL_METRICS | `false` | `process.runtime.jvm.memory.committed`, `process.runtime.jvm.memory.init`, `process.runtime.jvm.memory.limit`, `process.runtime.jvm.memory.usage`, `process.runtime.jvm.memory.usage_after_last_gc` | -| NETWORK_IO_METRICS | `true` | `process.runtime.jvm.network.io`, `process.runtime.jvm.network.time` | -| THREAD_METRICS | `false` | `process.runtime.jvm.threads.count` | +| JfrFeature | Default Enabled | Metrics | +|---------------------------|-----------------|-------------------------------------------------------------------------------------------------------------------| +| BUFFER_METRICS | `false` | `jvm.buffer.count`, `jvm.buffer.memory.limit`, `jvm.buffer.memory.usage` | +| CLASS_LOAD_METRICS | `false` | `jvm.class.count`, `jvm.class.loaded`, `jvm.class.unloaded` | +| CONTEXT_SWITCH_METRICS | `true` | `jvm.cpu.context_switch` | +| CPU_COUNT_METRICS | `true` | `jvm.cpu.limit` | +| CPU_UTILIZATION_METRICS | `false` | `jvm.cpu.recent_utilization`, `jvm.system.cpu.utilization` | +| GC_DURATION_METRICS | `false` | `jvm.gc.duration` | +| LOCK_METRICS | `true` | `jvm.cpu.longlock` | +| MEMORY_ALLOCATION_METRICS | `true` | `jvm.memory.allocation` | +| MEMORY_POOL_METRICS | `false` | `jvm.memory.committed`, `jvm.memory.init`, `jvm.memory.limit`, `jvm.memory.used`, `jvm.memory.used_after_last_gc` | +| NETWORK_IO_METRICS | `true` | `jvm.network.io`, `jvm.network.time` | +| THREAD_METRICS | `false` | `jvm.thread.count` | diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java index 4752c01fda9b..8ea075e33ff4 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/Constants.java @@ -26,65 +26,67 @@ private Constants() {} public static final String COMMITTED_SIZE = "committedSize"; public static final String RESERVED_SIZE = "reservedSize"; - public static final String DAEMON = "daemon"; public static final String HEAP = "heap"; - public static final String NON_HEAP = "nonheap"; + public static final String NON_HEAP = "non_heap"; public static final String NETWORK_MODE_READ = "read"; public static final String NETWORK_MODE_WRITE = "write"; public static final String DURATION = "duration"; public static final String END_OF_MINOR_GC = "end of minor GC"; public static final String END_OF_MAJOR_GC = "end of major GC"; - public static final String METRIC_NAME_NETWORK_BYTES = "process.runtime.jvm.network.io"; - public static final String METRIC_DESCRIPTION_NETWORK_BYTES = "Network read/write bytes"; - public static final String METRIC_NAME_NETWORK_DURATION = "process.runtime.jvm.network.time"; - public static final String METRIC_DESCRIPTION_NETWORK_DURATION = "Network read/write duration"; - public static final String METRIC_NAME_COMMITTED = "process.runtime.jvm.memory.committed"; - public static final String METRIC_DESCRIPTION_COMMITTED = "Measure of memory committed"; - public static final String METRIC_NAME_MEMORY = "process.runtime.jvm.memory.usage"; - public static final String METRIC_DESCRIPTION_MEMORY = "Measure of memory used"; - public static final String METRIC_NAME_MEMORY_AFTER = - "process.runtime.jvm.memory.usage_after_last_gc"; + public static final String METRIC_NAME_NETWORK_BYTES = "jvm.network.io"; + public static final String METRIC_DESCRIPTION_NETWORK_BYTES = "Network read/write bytes."; + public static final String METRIC_NAME_NETWORK_DURATION = "jvm.network.time"; + public static final String METRIC_DESCRIPTION_NETWORK_DURATION = "Network read/write duration."; + public static final String METRIC_NAME_COMMITTED = "jvm.memory.committed"; + public static final String METRIC_DESCRIPTION_COMMITTED = "Measure of memory committed."; + public static final String METRIC_NAME_MEMORY = "jvm.memory.used"; + public static final String METRIC_DESCRIPTION_MEMORY = "Measure of memory used."; + public static final String METRIC_NAME_MEMORY_AFTER = "jvm.memory.used_after_last_gc"; public static final String METRIC_DESCRIPTION_MEMORY_AFTER = - "Measure of memory used, as measured after the most recent garbage collection event on this pool"; - public static final String METRIC_NAME_MEMORY_ALLOCATION = - "process.runtime.jvm.memory.allocation"; - public static final String METRIC_DESCRIPTION_MEMORY_ALLOCATION = "Allocation"; - public static final String METRIC_NAME_MEMORY_INIT = "process.runtime.jvm.memory.init"; - public static final String METRIC_DESCRIPTION_MEMORY_INIT = "Measure of initial memory requested"; - public static final String METRIC_NAME_MEMORY_LIMIT = "process.runtime.jvm.memory.limit"; - public static final String METRIC_DESCRIPTION_MEMORY_LIMIT = "Measure of max obtainable memory"; - public static final String METRIC_NAME_GC_DURATION = "process.runtime.jvm.gc.duration"; + "Measure of memory used, as measured after the most recent garbage collection event on this pool."; + public static final String METRIC_NAME_MEMORY_ALLOCATION = "jvm.memory.allocation"; + public static final String METRIC_DESCRIPTION_MEMORY_ALLOCATION = + "Measure of memory allocations."; + public static final String METRIC_NAME_MEMORY_INIT = "jvm.memory.init"; + public static final String METRIC_DESCRIPTION_MEMORY_INIT = + "Measure of initial memory requested."; + public static final String METRIC_NAME_MEMORY_LIMIT = "jvm.memory.limit"; + public static final String METRIC_DESCRIPTION_MEMORY_LIMIT = "Measure of max obtainable memory."; + public static final String METRIC_NAME_GC_DURATION = "jvm.gc.duration"; public static final String METRIC_DESCRIPTION_GC_DURATION = - "Duration of JVM garbage collection actions"; + "Duration of JVM garbage collection actions."; public static final AttributeKey ATTR_THREAD_NAME = AttributeKey.stringKey("thread.name"); public static final AttributeKey ATTR_ARENA_NAME = AttributeKey.stringKey("arena"); public static final AttributeKey ATTR_NETWORK_MODE = AttributeKey.stringKey("mode"); - public static final AttributeKey ATTR_TYPE = AttributeKey.stringKey("type"); - public static final AttributeKey ATTR_POOL = AttributeKey.stringKey("pool"); - public static final AttributeKey ATTR_GC = AttributeKey.stringKey("pool"); - public static final AttributeKey ATTR_ACTION = AttributeKey.stringKey("action"); - public static final AttributeKey ATTR_DAEMON = AttributeKey.booleanKey(DAEMON); + public static final AttributeKey ATTR_MEMORY_TYPE = + AttributeKey.stringKey("jvm.memory.type"); + public static final AttributeKey ATTR_MEMORY_POOL = + AttributeKey.stringKey("jvm.memory.pool.name"); + public static final AttributeKey ATTR_GC_NAME = AttributeKey.stringKey("jvm.gc.name"); + public static final AttributeKey ATTR_GC_ACTION = AttributeKey.stringKey("jvm.gc.action"); + public static final AttributeKey ATTR_DAEMON = + AttributeKey.booleanKey("jvm.thread.daemon"); public static final Attributes ATTR_PS_EDEN_SPACE = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Eden Space"); + Attributes.of(ATTR_MEMORY_TYPE, HEAP, ATTR_MEMORY_POOL, "PS Eden Space"); public static final Attributes ATTR_PS_SURVIVOR_SPACE = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Survivor Space"); + Attributes.of(ATTR_MEMORY_TYPE, HEAP, ATTR_MEMORY_POOL, "PS Survivor Space"); public static final Attributes ATTR_PS_OLD_GEN = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "PS Old Gen"); + Attributes.of(ATTR_MEMORY_TYPE, HEAP, ATTR_MEMORY_POOL, "PS Old Gen"); public static final Attributes ATTR_G1_SURVIVOR_SPACE = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "G1 Survivor Space"); + Attributes.of(ATTR_MEMORY_TYPE, HEAP, ATTR_MEMORY_POOL, "G1 Survivor Space"); public static final Attributes ATTR_G1_EDEN_SPACE = - Attributes.of(ATTR_TYPE, HEAP, ATTR_POOL, "G1 Eden Space"); + Attributes.of(ATTR_MEMORY_TYPE, HEAP, ATTR_MEMORY_POOL, "G1 Eden Space"); public static final Attributes ATTR_METASPACE = - Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "Metaspace"); + Attributes.of(ATTR_MEMORY_TYPE, NON_HEAP, ATTR_MEMORY_POOL, "Metaspace"); public static final Attributes ATTR_COMPRESSED_CLASS_SPACE = - Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "Compressed Class Space"); + Attributes.of(ATTR_MEMORY_TYPE, NON_HEAP, ATTR_MEMORY_POOL, "Compressed Class Space"); public static final Attributes ATTR_CODE_CACHE = - Attributes.of(ATTR_TYPE, NON_HEAP, ATTR_POOL, "CodeCache"); + Attributes.of(ATTR_MEMORY_TYPE, NON_HEAP, ATTR_MEMORY_POOL, "CodeCache"); - public static final String UNIT_CLASSES = "{classes}"; - public static final String UNIT_THREADS = "{threads}"; - public static final String UNIT_BUFFERS = "{buffers}"; + public static final String UNIT_CLASSES = "{class}"; + public static final String UNIT_THREADS = "{thread}"; + public static final String UNIT_BUFFERS = "{buffer}"; public static final String UNIT_UTILIZATION = "1"; } diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java index 22dc831e716c..fa2ad512cc46 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/buffer/DirectBufferStatisticsHandler.java @@ -5,6 +5,7 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17.internal.buffer; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.instrumentation.runtimemetrics.java17.JfrFeature; @@ -21,19 +22,21 @@ * any time. */ public final class DirectBufferStatisticsHandler implements RecordedEventHandler { - private static final String METRIC_NAME_USAGE = "process.runtime.jvm.buffer.usage"; - private static final String METRIC_NAME_LIMIT = "process.runtime.jvm.buffer.limit"; - private static final String METRIC_NAME_COUNT = "process.runtime.jvm.buffer.count"; - private static final String METRIC_DESCRIPTION_USAGE = "Measure of memory used by buffers"; + private static final String METRIC_NAME_USAGE = "jvm.buffer.memory.usage"; + private static final String METRIC_NAME_LIMIT = "jvm.buffer.memory.limit"; + private static final String METRIC_NAME_COUNT = "jvm.buffer.count"; + private static final String METRIC_DESCRIPTION_USAGE = "Measure of memory used by buffers."; private static final String METRIC_DESCRIPTION_LIMIT = - "Measure of total memory capacity of buffers"; - private static final String METRIC_DESCRIPTION_COUNT = "Number of buffers in the pool"; + "Measure of total memory capacity of buffers."; + private static final String METRIC_DESCRIPTION_COUNT = "Number of buffers in the pool."; private static final String COUNT = "count"; private static final String MAX_CAPACITY = "maxCapacity"; private static final String MEMORY_USED = "memoryUsed"; private static final String EVENT_NAME = "jdk.DirectBufferStatistics"; - private static final Attributes ATTR = Attributes.of(Constants.ATTR_POOL, "direct"); + public static final AttributeKey ATTR_BUFFER_POOL = + AttributeKey.stringKey("jvm.buffer.pool.name"); + private static final Attributes ATTR = Attributes.of(ATTR_BUFFER_POOL, "direct"); private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java index f2a38c60da13..98bee7942725 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/classes/ClassesLoadedHandler.java @@ -21,25 +21,25 @@ */ public final class ClassesLoadedHandler implements RecordedEventHandler { /** - * process.runtime.jvm.classes.loaded is the total number of classes loaded since JVM start. See: + * jvm.class.loaded is the total number of classes loaded since JVM start. See: * https://github.com/open-telemetry/semantic-conventions/blob/main/docs/runtime/jvm-metrics.md */ - private static final String METRIC_NAME_LOADED = "process.runtime.jvm.classes.loaded"; + private static final String METRIC_NAME_LOADED = "jvm.class.loaded"; - private static final String METRIC_NAME_UNLOADED = "process.runtime.jvm.classes.unloaded"; + private static final String METRIC_NAME_UNLOADED = "jvm.class.unloaded"; /** - * process.runtime.jvm.classes.current_loaded is the number of classes loaded at the time of - * jdk.ClassLoadingStatistics event emission. + * jvm.class.count is the number of classes loaded at the time of jdk.ClassLoadingStatistics event + * emission. */ - private static final String METRIC_NAME_CURRENT = "process.runtime.jvm.classes.current_loaded"; + private static final String METRIC_NAME_CURRENT = "jvm.class.count"; private static final String EVENT_NAME = "jdk.ClassLoadingStatistics"; - private static final String METRIC_DESCRIPTION_CURRENT = "Number of classes currently loaded"; + private static final String METRIC_DESCRIPTION_CURRENT = "Number of classes currently loaded."; private static final String METRIC_DESCRIPTION_LOADED = - "Number of classes loaded since JVM start"; + "Number of classes loaded since JVM start."; private static final String METRIC_DESCRIPTION_UNLOADED = - "Number of classes unloaded since JVM start"; + "Number of classes unloaded since JVM start."; private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java index 4af00f9f7834..09220d3c6beb 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/container/ContainerConfigurationHandler.java @@ -18,7 +18,7 @@ * any time. */ public final class ContainerConfigurationHandler implements RecordedEventHandler { - private static final String METRIC_NAME = "process.runtime.jvm.cpu.limit"; + private static final String METRIC_NAME = "jvm.cpu.limit"; private static final String EVENT_NAME = "jdk.ContainerConfiguration"; private static final String EFFECTIVE_CPU_COUNT = "effectiveCpuCount"; diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java index e9a84387544f..39a3dc6efa7c 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/ContextSwitchRateHandler.java @@ -20,7 +20,7 @@ * any time. */ public final class ContextSwitchRateHandler implements RecordedEventHandler { - private static final String METRIC_NAME = "process.runtime.jvm.cpu.context_switch"; + private static final String METRIC_NAME = "jvm.cpu.context_switch"; private static final String EVENT_NAME = "jdk.ThreadContextSwitchRate"; private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java index 27f9700434f8..975123345e90 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/LongLockHandler.java @@ -23,7 +23,7 @@ * any time. */ public final class LongLockHandler extends AbstractThreadDispatchingHandler { - private static final String METRIC_NAME = "process.runtime.jvm.cpu.longlock"; + private static final String METRIC_NAME = "jvm.cpu.longlock"; private static final String METRIC_DESCRIPTION = "Long lock times"; private static final String EVENT_NAME = "jdk.JavaMonitorWait"; diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java index 54c423b28ae7..260b26857c9e 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/cpu/OverallCpuLoadHandler.java @@ -20,11 +20,12 @@ * any time. */ public final class OverallCpuLoadHandler implements RecordedEventHandler { - private static final String METRIC_NAME_PROCESS = "process.runtime.jvm.cpu.utilization"; - private static final String METRIC_NAME_MACHINE = "process.runtime.jvm.system.cpu.utilization"; - private static final String METRIC_DESCRIPTION_PROCESS = "Recent CPU utilization for the process"; + private static final String METRIC_NAME_PROCESS = "jvm.cpu.recent_utilization"; + private static final String METRIC_NAME_MACHINE = "jvm.system.cpu.utilization"; + private static final String METRIC_DESCRIPTION_PROCESS = + "Recent CPU utilization for the process as reported by the JVM."; private static final String METRIC_DESCRIPTION_MACHINE = - "Recent CPU utilization for the whole system"; + "Recent CPU utilization for the whole system as reported by the JVM."; private static final String EVENT_NAME = "jdk.CPULoad"; private static final String JVM_USER = "jvmUser"; diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java index e67f8fb1ba46..ea05af300b0b 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/G1GarbageCollectionHandler.java @@ -23,9 +23,9 @@ public final class G1GarbageCollectionHandler implements RecordedEventHandler { private static final String EVENT_NAME = "jdk.G1GarbageCollection"; private static final Attributes ATTR = Attributes.of( - Constants.ATTR_GC, + Constants.ATTR_GC_NAME, "G1 Young Generation", - Constants.ATTR_ACTION, + Constants.ATTR_GC_ACTION, Constants.END_OF_MINOR_GC); private final LongHistogram histogram; diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java index c402450fa73a..9bbec96d2c1d 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/OldGarbageCollectionHandler.java @@ -35,7 +35,8 @@ public OldGarbageCollectionHandler(Meter meter, String gc) { .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); + Attributes.of( + Constants.ATTR_GC_NAME, gc, Constants.ATTR_GC_ACTION, Constants.END_OF_MAJOR_GC); } @Override diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java index 88d8a1915bfd..14f08751840f 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/garbagecollection/YoungGarbageCollectionHandler.java @@ -36,7 +36,8 @@ public YoungGarbageCollectionHandler(Meter meter, String gc) { // Set the attribute's GC based on which GC is being used. // G1 young collection is already handled by G1GarbageCollectionHandler. attributes = - Attributes.of(Constants.ATTR_GC, gc, Constants.ATTR_ACTION, Constants.END_OF_MINOR_GC); + Attributes.of( + Constants.ATTR_GC_NAME, gc, Constants.ATTR_GC_ACTION, Constants.END_OF_MINOR_GC); } @Override diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java index d96387941d5f..1b11c80ea4d1 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/CodeCacheConfigurationHandler.java @@ -24,7 +24,8 @@ public final class CodeCacheConfigurationHandler implements RecordedEventHandler private static final String EVENT_NAME = "jdk.CodeCacheConfiguration"; private static final Attributes ATTR = - Attributes.of(Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "CodeCache"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, Constants.NON_HEAP, Constants.ATTR_MEMORY_POOL, "CodeCache"); private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java index 3b850b128d0c..05c8a49fb5cc 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/G1HeapSummaryHandler.java @@ -32,9 +32,14 @@ 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(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "G1 Eden Space"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, Constants.HEAP, Constants.ATTR_MEMORY_POOL, "G1 Eden Space"); private static final Attributes ATTR_MEMORY_SURVIVOR = - Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "G1 Survivor Space"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, + Constants.HEAP, + Constants.ATTR_MEMORY_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 diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java index f02c989f47fc..fcbe93cafbab 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/MetaspaceSummaryHandler.java @@ -28,10 +28,14 @@ public final class MetaspaceSummaryHandler implements RecordedEventHandler { private static final String EVENT_NAME = "jdk.MetaspaceSummary"; private static final Attributes ATTR_MEMORY_METASPACE = - Attributes.of(Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "Metaspace"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, Constants.NON_HEAP, Constants.ATTR_MEMORY_POOL, "Metaspace"); private static final Attributes ATTR_MEMORY_COMPRESSED_CLASS_SPACE = Attributes.of( - Constants.ATTR_TYPE, Constants.NON_HEAP, Constants.ATTR_POOL, "Compressed Class Space"); + Constants.ATTR_MEMORY_TYPE, + Constants.NON_HEAP, + Constants.ATTR_MEMORY_POOL, + "Compressed Class Space"); private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java index c187f1d9401c..3ec8e57c845d 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/memory/ParallelHeapSummaryHandler.java @@ -33,11 +33,17 @@ 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(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Eden Space"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, Constants.HEAP, Constants.ATTR_MEMORY_POOL, "PS Eden Space"); private static final Attributes ATTR_MEMORY_SURVIVOR = - Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Survivor Space"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, + Constants.HEAP, + Constants.ATTR_MEMORY_POOL, + "PS Survivor Space"); private static final Attributes ATTR_MEMORY_OLD = - Attributes.of(Constants.ATTR_TYPE, Constants.HEAP, Constants.ATTR_POOL, "PS Old Gen"); + Attributes.of( + Constants.ATTR_MEMORY_TYPE, Constants.HEAP, Constants.ATTR_MEMORY_POOL, "PS Old Gen"); private final List observables = new ArrayList<>(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java index 8d5cc57a99fc..ef741482cc3f 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/threads/ThreadCountHandler.java @@ -21,7 +21,7 @@ * any time. */ public final class ThreadCountHandler implements RecordedEventHandler { - private static final String METRIC_NAME = "process.runtime.jvm.threads.count"; + private static final String METRIC_NAME = "jvm.thread.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(Constants.ATTR_DAEMON, true); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java index bfce75d5ab94..c794891ecb06 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/BufferMetricTest.java @@ -5,11 +5,11 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17; -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.AttributeKey; import io.opentelemetry.api.common.Attributes; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -39,12 +39,13 @@ void shouldHaveJfrLoadedClassesCountEvents() { ByteBuffer buffer = ByteBuffer.allocateDirect(10000); buffer.put("test".getBytes(StandardCharsets.UTF_8)); - Attributes directBuffer = Attributes.of(ATTR_POOL, "direct"); + AttributeKey attrBufferPool = AttributeKey.stringKey("jvm.buffer.pool.name"); + Attributes directBuffer = Attributes.of(attrBufferPool, "direct"); jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.buffer.count") - .hasDescription("Number of buffers in the pool") + .hasName("jvm.buffer.count") + .hasDescription("Number of buffers in the pool.") .hasUnit(UNIT_BUFFERS) .hasLongSumSatisfying( sum -> @@ -57,8 +58,8 @@ void shouldHaveJfrLoadedClassesCountEvents() { }))), metric -> metric - .hasName("process.runtime.jvm.buffer.limit") - .hasDescription("Measure of total memory capacity of buffers") + .hasName("jvm.buffer.memory.limit") + .hasDescription("Measure of total memory capacity of buffers.") .hasUnit(BYTES) .hasLongSumSatisfying( sum -> @@ -71,8 +72,8 @@ void shouldHaveJfrLoadedClassesCountEvents() { }))), metric -> metric - .hasName("process.runtime.jvm.buffer.usage") - .hasDescription("Measure of memory used by buffers") + .hasName("jvm.buffer.memory.usage") + .hasDescription("Measure of memory used by buffers.") .hasUnit(BYTES) .hasLongSumSatisfying( sum -> diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java index b9d5c39ff600..9929da44a6a5 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/G1GcMemoryMetricTest.java @@ -5,10 +5,10 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17; -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.ATTR_GC_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC_NAME; 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; @@ -16,6 +16,8 @@ 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_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_GC_DURATION; 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; @@ -42,7 +44,7 @@ void shouldHaveMemoryMetrics() { System.gc(); // Test to make sure there's metric data for both eden and survivor spaces. // TODO: once G1 old gen usage added to jdk.G1HeapSummary (in JDK 21), test for it here too. - // TODO: needs JFR support for process.runtime.jvm.memory.limit. + // TODO: needs JFR support for jvm.memory.limit. jfrExtension.waitAndAssertMetrics( metric -> metric @@ -52,7 +54,7 @@ void shouldHaveMemoryMetrics() { .satisfies(G1GcMemoryMetricTest::hasGcAttributes), metric -> metric - .hasName("process.runtime.jvm.memory.committed") + .hasName(METRIC_NAME_COMMITTED) .hasUnit(BYTES) .hasDescription(METRIC_DESCRIPTION_COMMITTED) // TODO: need JFR support for the other G1 pools @@ -79,13 +81,13 @@ void shouldHaveGcDurationMetrics() { // TODO: Need a reliable way to test old and young gen GC in isolation. System.gc(); Attributes minorGcAttributes = - Attributes.of(ATTR_GC, "G1 Young Generation", ATTR_ACTION, END_OF_MINOR_GC); + Attributes.of(ATTR_GC_NAME, "G1 Young Generation", ATTR_GC_ACTION, END_OF_MINOR_GC); Attributes majorGcAttributes = - Attributes.of(ATTR_GC, "G1 Old Generation", ATTR_ACTION, END_OF_MAJOR_GC); + Attributes.of(ATTR_GC_NAME, "G1 Old Generation", ATTR_GC_ACTION, END_OF_MAJOR_GC); jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.gc.duration") + .hasName(METRIC_NAME_GC_DURATION) .hasUnit(MILLISECONDS) .hasDescription(METRIC_DESCRIPTION_GC_DURATION) .satisfies( diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java index a8b39a07f634..4e5eb144be30 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrClassesLoadedCountTest.java @@ -25,8 +25,8 @@ void shouldHaveJfrLoadedClassesCountEvents() throws Exception { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.classes.loaded") - .hasDescription("Number of classes loaded since JVM start") + .hasName("jvm.class.loaded") + .hasDescription("Number of classes loaded since JVM start.") .hasUnit(UNIT_CLASSES) .hasLongSumSatisfying( sum -> @@ -38,8 +38,8 @@ void shouldHaveJfrLoadedClassesCountEvents() throws Exception { .isGreaterThanOrEqualTo(0)))), metric -> metric - .hasName("process.runtime.jvm.classes.current_loaded") - .hasDescription("Number of classes currently loaded") + .hasName("jvm.class.count") + .hasDescription("Number of classes currently loaded.") .hasUnit(UNIT_CLASSES) .hasLongSumSatisfying( sum -> @@ -51,8 +51,8 @@ void shouldHaveJfrLoadedClassesCountEvents() throws Exception { .isGreaterThanOrEqualTo(0)))), metric -> metric - .hasName("process.runtime.jvm.classes.unloaded") - .hasDescription("Number of classes unloaded since JVM start") + .hasName("jvm.class.unloaded") + .hasDescription("Number of classes unloaded since JVM start.") .hasUnit(UNIT_CLASSES) .hasLongSumSatisfying( sum -> diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java index 0e10b500d770..7065b6cc5a6c 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrCpuLockTest.java @@ -50,7 +50,7 @@ void shouldHaveLockEvents() throws Exception { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.cpu.longlock") + .hasName("jvm.cpu.longlock") .hasUnit(MILLISECONDS) .hasHistogramSatisfying(histogram -> {})); } diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java index cd18f1ddef99..38c8585a50d0 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrOverallCpuLoadHandlerTest.java @@ -23,15 +23,16 @@ void shouldHaveCpuLoadEvents() { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.cpu.utilization") + .hasName("jvm.cpu.recent_utilization") .hasUnit(UNIT_UTILIZATION) - .hasDescription("Recent CPU utilization for the process") + .hasDescription("Recent CPU utilization for the process as reported by the JVM.") .hasDoubleGaugeSatisfying(gauge -> {}), metric -> metric - .hasName("process.runtime.jvm.system.cpu.utilization") + .hasName("jvm.system.cpu.utilization") .hasUnit(UNIT_UTILIZATION) - .hasDescription("Recent CPU utilization for the whole system") + .hasDescription( + "Recent CPU utilization for the whole system as reported by the JVM.") .hasDoubleGaugeSatisfying(gauge -> {})); } } diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java index 6c19780b5675..38423a9b6105 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/JfrThreadCountTest.java @@ -5,11 +5,10 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17; -import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.DAEMON; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_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; import io.opentelemetry.sdk.metrics.data.LongPointData; import java.util.Objects; import org.junit.jupiter.api.Test; @@ -47,7 +46,7 @@ void shouldHaveJfrThreadCountEvents() throws Exception { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.threads.count") + .hasName("jvm.thread.count") .hasUnit(UNIT_THREADS) .satisfies( data -> @@ -57,6 +56,6 @@ void shouldHaveJfrThreadCountEvents() throws Exception { } private static boolean isDaemon(LongPointData p) { - return Objects.requireNonNull(p.getAttributes().get(AttributeKey.booleanKey(DAEMON))); + return Objects.requireNonNull(p.getAttributes().get(ATTR_DAEMON)); } } diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java index 2a553aab0def..768fca11771a 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryCommittedMetricTest.java @@ -9,6 +9,7 @@ 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 io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_COMMITTED; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; @@ -27,7 +28,7 @@ void shouldHaveMemoryCommittedMetrics() { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.memory.committed") + .hasName(METRIC_NAME_COMMITTED) .hasUnit(BYTES) .hasDescription(METRIC_DESCRIPTION_COMMITTED) .satisfies( diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java index 4332e60549d5..4ef4f41f6b3d 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryLimitMetricTest.java @@ -8,6 +8,7 @@ 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 io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_MEMORY_LIMIT; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; @@ -26,7 +27,7 @@ void shouldHaveMemoryLimitMetrics() { jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.memory.limit") + .hasName(METRIC_NAME_MEMORY_LIMIT) .hasUnit(BYTES) .hasDescription(METRIC_DESCRIPTION_MEMORY_LIMIT) .satisfies( diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java index b5659d491f40..004115d11c33 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/MetaspaceMemoryUsageMetricTest.java @@ -22,7 +22,7 @@ class MetaspaceMemoryUsageMetricTest { new JfrExtension( builder -> builder.disableAllFeatures().enableFeature(JfrFeature.MEMORY_POOL_METRICS)); - /** This is a basic test for process.runtime.jvm.memory.usage. */ + /** This is a basic test for jvm.memory.used. */ @Test void shouldHaveMemoryUsageMetrics() { System.gc(); diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java index d0aa14646b6e..6d38ac7bd109 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/PsGcMemoryMetricTest.java @@ -5,8 +5,8 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17; -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_GC_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC_NAME; 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; @@ -18,8 +18,11 @@ 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_COMMITTED; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.METRIC_NAME_GC_DURATION; 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.METRIC_NAME_MEMORY_LIMIT; import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; @@ -51,13 +54,13 @@ void shouldHaveMemoryMetrics() { .satisfies(PsGcMemoryMetricTest::hasGcAttributes), metric -> metric - .hasName("process.runtime.jvm.memory.committed") + .hasName(METRIC_NAME_COMMITTED) .hasUnit(BYTES) .hasDescription(METRIC_DESCRIPTION_COMMITTED) .satisfies(PsGcMemoryMetricTest::hasGcAttributes), metric -> metric - .hasName("process.runtime.jvm.memory.limit") + .hasName(METRIC_NAME_MEMORY_LIMIT) .hasUnit(BYTES) .hasDescription(METRIC_DESCRIPTION_MEMORY_LIMIT) .satisfies(PsGcMemoryMetricTest::hasGcAttributes), @@ -83,13 +86,13 @@ void shouldHaveGcDurationMetrics() { System.gc(); Attributes minorGcAttributes = - Attributes.of(ATTR_GC, "PS Scavenge", ATTR_ACTION, END_OF_MINOR_GC); + Attributes.of(ATTR_GC_NAME, "PS Scavenge", ATTR_GC_ACTION, END_OF_MINOR_GC); Attributes majorGcAttributes = - Attributes.of(ATTR_GC, "PS MarkSweep", ATTR_ACTION, END_OF_MAJOR_GC); + Attributes.of(ATTR_GC_NAME, "PS MarkSweep", ATTR_GC_ACTION, END_OF_MAJOR_GC); jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.gc.duration") + .hasName(METRIC_NAME_GC_DURATION) .hasUnit(MILLISECONDS) .hasDescription(METRIC_DESCRIPTION_GC_DURATION) .satisfies( diff --git a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java index 2f0f82ea3cc0..6d21cc272c62 100644 --- a/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java +++ b/instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java17/SerialGcMemoryMetricTest.java @@ -5,11 +5,12 @@ package io.opentelemetry.instrumentation.runtimemetrics.java17; -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_GC_ACTION; +import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.ATTR_GC_NAME; 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.METRIC_NAME_GC_DURATION; import static io.opentelemetry.instrumentation.runtimemetrics.java17.internal.Constants.MILLISECONDS; import static org.assertj.core.api.Assertions.assertThat; @@ -34,13 +35,14 @@ void shouldHaveGcDurationMetrics() { // TODO: Need a reliable way to test old and young gen GC in isolation. // Generate some JFR events System.gc(); - Attributes minorGcAttributes = Attributes.of(ATTR_GC, "Copy", ATTR_ACTION, END_OF_MINOR_GC); + Attributes minorGcAttributes = + Attributes.of(ATTR_GC_NAME, "Copy", ATTR_GC_ACTION, END_OF_MINOR_GC); Attributes majorGcAttributes = - Attributes.of(ATTR_GC, "MarkSweepCompact", ATTR_ACTION, END_OF_MAJOR_GC); + Attributes.of(ATTR_GC_NAME, "MarkSweepCompact", ATTR_GC_ACTION, END_OF_MAJOR_GC); jfrExtension.waitAndAssertMetrics( metric -> metric - .hasName("process.runtime.jvm.gc.duration") + .hasName(METRIC_NAME_GC_DURATION) .hasUnit(MILLISECONDS) .hasDescription(METRIC_DESCRIPTION_GC_DURATION) .satisfies(