diff --git a/CHANGELOG.md b/CHANGELOG.md index 09622493a29..49e19a99c49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Internal + +- Deprecate `MetricsUnit` in favor of `MeasurementUnit`, which defines the same units; pass them to the `Sentry.metrics()` API as `MeasurementUnit.Duration.MILLISECOND.apiName()` ([#6086](https://github.com/getsentry/sentry-java/pull/6086)) + ## 8.56.0 ### Behavioral Changes diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/MetricController.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/MetricController.java index 73fba080a12..a22153db107 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/MetricController.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring7.web; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/MetricController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/MetricController.java index be75f5e3002..95794c3a50b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot4; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/MetricController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/MetricController.java index be75f5e3002..95794c3a50b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot4; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-otlp/src/main/java/io/sentry/samples/spring/boot4/otlp/MetricController.java b/sentry-samples/sentry-samples-spring-boot-4-otlp/src/main/java/io/sentry/samples/spring/boot4/otlp/MetricController.java index e980d676d2b..6acfbd0973c 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-otlp/src/main/java/io/sentry/samples/spring/boot4/otlp/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-otlp/src/main/java/io/sentry/samples/spring/boot4/otlp/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot4.otlp; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -22,14 +22,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/MetricController.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/MetricController.java index be75f5e3002..95794c3a50b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot4; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/MetricController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/MetricController.java index be75f5e3002..95794c3a50b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot4; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java index 6b28e59d6a3..95720acd455 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot.jakarta; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java index 6b28e59d6a3..95720acd455 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot.jakarta; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java b/sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java index 6b28e59d6a3..95720acd455 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot.jakarta; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/MetricController.java b/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/MetricController.java index 352571ee434..f9aefee88d0 100644 --- a/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-opentelemetry/src/main/java/io/sentry/samples/spring/boot/MetricController.java b/sentry-samples/sentry-samples-spring-boot-opentelemetry/src/main/java/io/sentry/samples/spring/boot/MetricController.java index 352571ee434..f9aefee88d0 100644 --- a/sentry-samples/sentry-samples-spring-boot-opentelemetry/src/main/java/io/sentry/samples/spring/boot/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry/src/main/java/io/sentry/samples/spring/boot/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java b/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java index 6b28e59d6a3..95720acd455 100644 --- a/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot.jakarta; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot-webflux/src/main/java/io/sentry/samples/spring/boot/MetricController.java b/sentry-samples/sentry-samples-spring-boot-webflux/src/main/java/io/sentry/samples/spring/boot/MetricController.java index 352571ee434..f9aefee88d0 100644 --- a/sentry-samples/sentry-samples-spring-boot-webflux/src/main/java/io/sentry/samples/spring/boot/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot-webflux/src/main/java/io/sentry/samples/spring/boot/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-boot/src/main/java/io/sentry/samples/spring/boot/MetricController.java b/sentry-samples/sentry-samples-spring-boot/src/main/java/io/sentry/samples/spring/boot/MetricController.java index 352571ee434..f9aefee88d0 100644 --- a/sentry-samples/sentry-samples-spring-boot/src/main/java/io/sentry/samples/spring/boot/MetricController.java +++ b/sentry-samples/sentry-samples-spring-boot/src/main/java/io/sentry/samples/spring/boot/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.boot; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/web/MetricController.java b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/web/MetricController.java index bb7f3fce64c..903acf9e496 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/web/MetricController.java +++ b/sentry-samples/sentry-samples-spring-jakarta/src/main/java/io/sentry/samples/spring/jakarta/web/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.jakarta.web; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/web/MetricController.java b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/web/MetricController.java index 30ee8cbec42..7c2d0f2efeb 100644 --- a/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/web/MetricController.java +++ b/sentry-samples/sentry-samples-spring/src/main/java/io/sentry/samples/spring/web/MetricController.java @@ -1,7 +1,7 @@ package io.sentry.samples.spring.web; +import io.sentry.MeasurementUnit; import io.sentry.Sentry; -import io.sentry.metrics.MetricsUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; @@ -24,14 +24,18 @@ String count() { @GetMapping("gauge/{value}") String gauge(@PathVariable("value") Long value) { - Sentry.metrics().gauge("memory.free", value.doubleValue(), MetricsUnit.Information.BYTE); + Sentry.metrics() + .gauge("memory.free", value.doubleValue(), MeasurementUnit.Information.BYTE.apiName()); return "gauge metric tracked"; } @GetMapping("distribution/{value}") String distribution(@PathVariable("value") Long value) { Sentry.metrics() - .distribution("distributionMetric", value.doubleValue(), MetricsUnit.Duration.MILLISECOND); + .distribution( + "distributionMetric", + value.doubleValue(), + MeasurementUnit.Duration.MILLISECOND.apiName()); return "distribution metric tracked"; } } diff --git a/sentry/src/main/java/io/sentry/metrics/MetricsUnit.java b/sentry/src/main/java/io/sentry/metrics/MetricsUnit.java index 4665cdf33a2..62c01648648 100644 --- a/sentry/src/main/java/io/sentry/metrics/MetricsUnit.java +++ b/sentry/src/main/java/io/sentry/metrics/MetricsUnit.java @@ -4,10 +4,19 @@ * String constants for metric units. * *
These constants represent the API names of measurement units that can be used with metrics. + * + * @deprecated use {@link io.sentry.MeasurementUnit} instead, which carries the same units and is + * accepted directly by {@link IMetricsApi}. */ +@Deprecated public final class MetricsUnit { - /** Time duration units. */ + /** + * Time duration units. + * + * @deprecated use {@link io.sentry.MeasurementUnit.Duration} instead. + */ + @Deprecated public static final class Duration { /** Nanosecond, 10^-9 seconds. */ public static final String NANOSECOND = "nanosecond"; @@ -36,7 +45,12 @@ public static final class Duration { private Duration() {} } - /** Size of information derived from bytes. */ + /** + * Size of information derived from bytes. + * + * @deprecated use {@link io.sentry.MeasurementUnit.Information} instead. + */ + @Deprecated public static final class Information { /** Bit, corresponding to 1/8 of a byte. */ public static final String BIT = "bit"; @@ -83,7 +97,12 @@ public static final class Information { private Information() {} } - /** Fractions such as percentages. */ + /** + * Fractions such as percentages. + * + * @deprecated use {@link io.sentry.MeasurementUnit.Fraction} instead. + */ + @Deprecated public static final class Fraction { /** Floating point fraction of `1`. */ public static final String RATIO = "ratio"; diff --git a/sentry/src/test/java/io/sentry/ScopesTest.kt b/sentry/src/test/java/io/sentry/ScopesTest.kt index d1cb38c6495..ec0f9b0057a 100644 --- a/sentry/src/test/java/io/sentry/ScopesTest.kt +++ b/sentry/src/test/java/io/sentry/ScopesTest.kt @@ -8,7 +8,6 @@ import io.sentry.clientreport.DiscardedEvent import io.sentry.hints.SessionEndHint import io.sentry.hints.SessionStartHint import io.sentry.logger.SentryLogParameters -import io.sentry.metrics.MetricsUnit import io.sentry.metrics.SentryMetricsParameters import io.sentry.protocol.Feedback import io.sentry.protocol.SentryId @@ -3403,7 +3402,7 @@ class ScopesTest { .count( "metric name", 1.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters().also { it.origin = "other" }, ) @@ -3425,14 +3424,14 @@ class ScopesTest { fun `creating count metric with value and unit works`() { val (sut, mockClient) = getEnabledScopes() - sut.metrics().count("metric name", 1.0, MetricsUnit.Information.BYTE) + sut.metrics().count("metric name", 1.0, MeasurementUnit.Information.BYTE.apiName()) verify(mockClient) .captureMetric( check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) }, anyOrNull(), @@ -3462,14 +3461,14 @@ class ScopesTest { fun `creating count metric with unit works`() { val (sut, mockClient) = getEnabledScopes() - sut.metrics().count("metric name", MetricsUnit.Information.BYTE) + sut.metrics().count("metric name", MeasurementUnit.Information.BYTE.apiName()) verify(mockClient) .captureMetric( check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) }, anyOrNull(), @@ -3486,7 +3485,7 @@ class ScopesTest { .count( "metric name", 1.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) @@ -3495,7 +3494,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3516,7 +3515,7 @@ class ScopesTest { .count( "metric name", 1.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create(mapOf("attrname1" to "attrval1")), ) @@ -3525,7 +3524,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3546,7 +3545,7 @@ class ScopesTest { .count( "metric name", 1.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), @@ -3568,7 +3567,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) val strattr = it.attributes?.get("strattr")!! @@ -3625,7 +3624,7 @@ class ScopesTest { .count( "metric name", 1.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), @@ -3637,7 +3636,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("counter", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3653,14 +3652,14 @@ class ScopesTest { fun `creating distribution metric with value and unit works`() { val (sut, mockClient) = getEnabledScopes() - sut.metrics().distribution("metric name", 1.0, MetricsUnit.Duration.MILLISECOND) + sut.metrics().distribution("metric name", 1.0, MeasurementUnit.Duration.MILLISECOND.apiName()) verify(mockClient) .captureMetric( check { assertEquals("metric name", it.name) assertEquals(1.0, it.value) - assertEquals(MetricsUnit.Duration.MILLISECOND, it.unit) + assertEquals(MeasurementUnit.Duration.MILLISECOND.apiName(), it.unit) assertEquals("distribution", it.type) }, anyOrNull(), @@ -3695,7 +3694,7 @@ class ScopesTest { .distribution( "metric name", 3.7, - MetricsUnit.Duration.MILLISECOND, + MeasurementUnit.Duration.MILLISECOND.apiName(), SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) @@ -3704,7 +3703,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(3.7, it.value) - assertEquals(MetricsUnit.Duration.MILLISECOND, it.unit) + assertEquals(MeasurementUnit.Duration.MILLISECOND.apiName(), it.unit) assertEquals("distribution", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3725,7 +3724,7 @@ class ScopesTest { .distribution( "metric name", 3.7, - MetricsUnit.Duration.MILLISECOND, + MeasurementUnit.Duration.MILLISECOND.apiName(), SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), @@ -3747,7 +3746,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(3.7, it.value) - assertEquals(MetricsUnit.Duration.MILLISECOND, it.unit) + assertEquals(MeasurementUnit.Duration.MILLISECOND.apiName(), it.unit) assertEquals("distribution", it.type) val strattr = it.attributes?.get("strattr")!! @@ -3804,7 +3803,7 @@ class ScopesTest { .distribution( "metric name", 3.7, - MetricsUnit.Duration.MILLISECOND, + MeasurementUnit.Duration.MILLISECOND.apiName(), SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), @@ -3816,7 +3815,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(3.7, it.value) - assertEquals(MetricsUnit.Duration.MILLISECOND, it.unit) + assertEquals(MeasurementUnit.Duration.MILLISECOND.apiName(), it.unit) assertEquals("distribution", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3832,14 +3831,14 @@ class ScopesTest { fun `creating gauge metric with value and unit works`() { val (sut, mockClient) = getEnabledScopes() - sut.metrics().gauge("metric name", 128.0, MetricsUnit.Information.BYTE) + sut.metrics().gauge("metric name", 128.0, MeasurementUnit.Information.BYTE.apiName()) verify(mockClient) .captureMetric( check { assertEquals("metric name", it.name) assertEquals(128.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("gauge", it.type) }, anyOrNull(), @@ -3874,7 +3873,7 @@ class ScopesTest { .gauge( "metric name", 256.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) @@ -3883,7 +3882,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(256.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("gauge", it.type) val attr1 = it.attributes?.get("attrname1")!! @@ -3904,7 +3903,7 @@ class ScopesTest { .gauge( "metric name", 256.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), @@ -3926,7 +3925,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(256.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("gauge", it.type) val strattr = it.attributes?.get("strattr")!! @@ -3983,7 +3982,7 @@ class ScopesTest { .gauge( "metric name", 256.0, - MetricsUnit.Information.BYTE, + MeasurementUnit.Information.BYTE.apiName(), SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), @@ -3995,7 +3994,7 @@ class ScopesTest { check { assertEquals("metric name", it.name) assertEquals(256.0, it.value) - assertEquals(MetricsUnit.Information.BYTE, it.unit) + assertEquals(MeasurementUnit.Information.BYTE.apiName(), it.unit) assertEquals("gauge", it.type) val attr1 = it.attributes?.get("attrname1")!!