From 7f80cfc7434d7c1745885d9bef8636799bd58160 Mon Sep 17 00:00:00 2001 From: gregor Date: Wed, 7 Jun 2023 18:23:29 +0200 Subject: [PATCH 1/9] replace "1" with the appropriate units and don't fall back to "1" if it's unknown --- .../instrumentation/micrometer/v1_5/Bridging.java | 2 +- .../micrometer/v1_5/OpenTelemetryFunctionTimer.java | 2 +- .../instrumentation/runtimemetrics/java8/Classes.java | 6 +++--- .../instrumentation/runtimemetrics/java8/Cpu.java | 2 +- .../instrumentation/runtimemetrics/java8/Threads.java | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java index 8ff9abd223ea..2f93aff1ed4b 100644 --- a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java +++ b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java @@ -47,7 +47,7 @@ static String description(Meter.Id id) { static String baseUnit(Meter.Id id) { String baseUnit = id.getBaseUnit(); - return baseUnit == null ? "1" : baseUnit; + return baseUnit; } static String statisticInstrumentName( diff --git a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java index 91fb153f577a..eba4d1f3a6e3 100644 --- a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java +++ b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java @@ -44,7 +44,7 @@ final class OpenTelemetryFunctionTimer extends AbstractMeter otelMeter .counterBuilder(name + ".count") .setDescription(Bridging.description(id)) - .setUnit("1") + .setUnit("{invocations}") .buildWithCallback(new LongMeasurementRecorder<>(obj, countFunction, attributes)); this.observableTotalTime = 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 2695d5927cee..b9e4b891e7a9 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 @@ -48,7 +48,7 @@ List registerObservers(OpenTelemetry openTelemetry, ClassLoadingM meter .counterBuilder("process.runtime.jvm.classes.loaded") .setDescription("Number of classes loaded since JVM start") - .setUnit("1") + .setUnit("{class}") .buildWithCallback( observableMeasurement -> observableMeasurement.record(classBean.getTotalLoadedClassCount()))); @@ -57,7 +57,7 @@ List registerObservers(OpenTelemetry openTelemetry, ClassLoadingM meter .counterBuilder("process.runtime.jvm.classes.unloaded") .setDescription("Number of classes unloaded since JVM start") - .setUnit("1") + .setUnit("{class}") .buildWithCallback( observableMeasurement -> observableMeasurement.record(classBean.getUnloadedClassCount()))); @@ -65,7 +65,7 @@ List registerObservers(OpenTelemetry openTelemetry, ClassLoadingM meter .upDownCounterBuilder("process.runtime.jvm.classes.current_loaded") .setDescription("Number of classes currently loaded") - .setUnit("1") + .setUnit("{class}") .buildWithCallback( observableMeasurement -> observableMeasurement.record(classBean.getLoadedClassCount()))); 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 edfd443fd6f7..365cc5ded53e 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 @@ -89,7 +89,7 @@ List registerObservers( meter .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") .setDescription("Average CPU load of the whole system for the last minute") - .setUnit("1") + .setUnit("{core}") .buildWithCallback( observableMeasurement -> { double loadAverage = osBean.getSystemLoadAverage(); 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 28f61edaba0c..5cc38d422187 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 @@ -51,7 +51,7 @@ List registerObservers(OpenTelemetry openTelemetry, ThreadMXBean meter .upDownCounterBuilder("process.runtime.jvm.threads.count") .setDescription("Number of executing threads") - .setUnit("1") + .setUnit("{thread}") .buildWithCallback( observableMeasurement -> { observableMeasurement.record( From f1232dd31e0fca605aef9bfe6a8705a146fd316f Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 8 Jun 2023 08:06:25 +0200 Subject: [PATCH 2/9] Update instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java Co-authored-by: Mateusz Rzeszutek --- .../micrometer/v1_5/OpenTelemetryFunctionTimer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java index eba4d1f3a6e3..fb238fb23a8e 100644 --- a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java +++ b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/OpenTelemetryFunctionTimer.java @@ -44,7 +44,7 @@ final class OpenTelemetryFunctionTimer extends AbstractMeter otelMeter .counterBuilder(name + ".count") .setDescription(Bridging.description(id)) - .setUnit("{invocations}") + .setUnit("{invocation}") .buildWithCallback(new LongMeasurementRecorder<>(obj, countFunction, attributes)); this.observableTotalTime = From eb0e3d2ea6b729f310ea6c70c2053a6be396458c Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 8 Jun 2023 09:39:14 +0200 Subject: [PATCH 3/9] replace "1" with the appropriate units and don't fall back to "1" if it's unknown --- .../instrumentation/runtimemetrics/java8/ClassesTest.java | 6 +++--- .../instrumentation/runtimemetrics/java8/CpuTest.java | 2 +- .../instrumentation/runtimemetrics/java8/ThreadsTest.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java index accdc46270d5..7ccdd31f3f75 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ClassesTest.java @@ -44,7 +44,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Number of classes loaded since JVM start") - .hasUnit("1") + .hasUnit("{class}") .hasLongSumSatisfying( sum -> sum.isMonotonic() @@ -60,7 +60,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Number of classes unloaded since JVM start") - .hasUnit("1") + .hasUnit("{class}") .hasLongSumSatisfying( sum -> sum.isMonotonic() @@ -76,7 +76,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Number of classes currently loaded") - .hasUnit("1") + .hasUnit("{class}") .hasLongSumSatisfying( sum -> sum.isNotMonotonic() diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java index 6f4c61fb30e9..180abd9adc2c 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java @@ -45,7 +45,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Average CPU load of the whole system for the last minute") - .hasUnit("1") + .hasUnit("{core}") .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics( diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java index da2c70d13710..3fd7455c3f91 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/ThreadsTest.java @@ -44,7 +44,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Number of executing threads") - .hasUnit("1") + .hasUnit("{thread}") .hasLongSumSatisfying( sum -> sum.isNotMonotonic() From 9a4db86fbbd501e3e6bedc7f0fc37ba26425843a Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 8 Jun 2023 11:27:53 +0200 Subject: [PATCH 4/9] replace "1" with the appropriate units and don't fall back to "1" if it's unknown --- .../opentelemetry/instrumentation/micrometer/v1_5/Bridging.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java index 2f93aff1ed4b..9555a2b67a47 100644 --- a/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java +++ b/instrumentation/micrometer/micrometer-1.5/library/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/Bridging.java @@ -47,7 +47,7 @@ static String description(Meter.Id id) { static String baseUnit(Meter.Id id) { String baseUnit = id.getBaseUnit(); - return baseUnit; + return baseUnit == null ? "" : baseUnit; } static String statisticInstrumentName( From 0afef9ccc1e31e7e0a43f1cd81158579007f1fd7 Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 8 Jun 2023 12:30:21 +0200 Subject: [PATCH 5/9] replace "1" with the appropriate units and don't fall back to "1" if it's unknown --- .../micrometer/v1_5/AbstractFunctionTimerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerTest.java b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerTest.java index 9d1156e33637..d0cff95338ce 100644 --- a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerTest.java +++ b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerTest.java @@ -59,7 +59,7 @@ void testFunctionTimer() { metric -> assertThat(metric) .hasDescription("This is a test function timer") - .hasUnit("1") + .hasUnit("{invocation}") .hasLongSumSatisfying( sum -> sum.isMonotonic() From 76a88947210dea5586376353bfe89f05a1ef3643 Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 8 Jun 2023 14:26:29 +0200 Subject: [PATCH 6/9] replace "1" with the appropriate units and don't fall back to "1" if it's unknown --- .../micrometer/v1_5/AbstractFunctionTimerMillisecondsTest.java | 2 +- .../micrometer/v1_5/AbstractPrometheusModeTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerMillisecondsTest.java b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerMillisecondsTest.java index c39d16adb92a..fa1bd06ed49b 100644 --- a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerMillisecondsTest.java +++ b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractFunctionTimerMillisecondsTest.java @@ -56,7 +56,7 @@ void testFunctionTimerWithBaseUnitMilliseconds() { metric -> assertThat(metric) .hasDescription("This is a test function timer") - .hasUnit("1") + .hasUnit("{invocation}") .hasLongSumSatisfying( sum -> sum.isMonotonic() diff --git a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractPrometheusModeTest.java b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractPrometheusModeTest.java index 7bb782e10a76..2666a1308812 100644 --- a/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractPrometheusModeTest.java +++ b/instrumentation/micrometer/micrometer-1.5/testing/src/main/java/io/opentelemetry/instrumentation/micrometer/v1_5/AbstractPrometheusModeTest.java @@ -140,7 +140,7 @@ void testFunctionTimer() { metric -> assertThat(metric) .hasDescription("This is a test function timer") - .hasUnit("1") + .hasUnit("{invocation}") .hasLongSumSatisfying( sum -> sum.isMonotonic() From f29fd5104cce13fa5aa47f68c2c229a972aeb3b7 Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 8 Jun 2023 18:56:17 +0200 Subject: [PATCH 7/9] update {core} to {run_queue_length} as per spec --- .../opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java | 2 +- .../instrumentation/runtimemetrics/java8/CpuTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 365cc5ded53e..d6481b25a43b 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 @@ -89,7 +89,7 @@ List registerObservers( meter .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") .setDescription("Average CPU load of the whole system for the last minute") - .setUnit("{core}") + .setUnit("{run_queue_length}") .buildWithCallback( observableMeasurement -> { double loadAverage = osBean.getSystemLoadAverage(); diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java index 180abd9adc2c..5335ed718fd0 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java @@ -45,7 +45,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Average CPU load of the whole system for the last minute") - .hasUnit("{core}") + .hasUnit("{run_queue_length}") .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics( From 3d323ff7a7c0118a6c1a17d25785c1ad6c438929 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 13 Jun 2023 17:06:30 -0700 Subject: [PATCH 8/9] Update instrumentation/runtime-metrics/runtime-metrics-java8/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java --- .../opentelemetry/instrumentation/runtimemetrics/java8/Cpu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d6481b25a43b..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 @@ -89,7 +89,7 @@ List registerObservers( meter .gaugeBuilder("process.runtime.jvm.system.cpu.load_1m") .setDescription("Average CPU load of the whole system for the last minute") - .setUnit("{run_queue_length}") + .setUnit("1") .buildWithCallback( observableMeasurement -> { double loadAverage = osBean.getSystemLoadAverage(); From 4a3303ee7324294664685121eecc50e6b24d270b Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Tue, 13 Jun 2023 17:07:52 -0700 Subject: [PATCH 9/9] Update instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java --- .../instrumentation/runtimemetrics/java8/CpuTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java index 5335ed718fd0..6f4c61fb30e9 100644 --- a/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java +++ b/instrumentation/runtime-metrics/runtime-metrics-java8/library/src/test/java/io/opentelemetry/instrumentation/runtimemetrics/java8/CpuTest.java @@ -45,7 +45,7 @@ void registerObservers() { assertThat(metricData) .hasInstrumentationScope(EXPECTED_SCOPE) .hasDescription("Average CPU load of the whole system for the last minute") - .hasUnit("{run_queue_length}") + .hasUnit("1") .hasDoubleGaugeSatisfying( gauge -> gauge.hasPointsSatisfying(point -> point.hasValue(2.2))))); testing.waitAndAssertMetrics(