diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index 23561b1dba..f0ca49b500 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -5211,14 +5211,14 @@ public abstract interface class io/sentry/metrics/IMetricsApi { public abstract fun count (Ljava/lang/String;)V public abstract fun count (Ljava/lang/String;Ljava/lang/Double;)V public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public abstract fun count (Ljava/lang/String;Ljava/lang/String;)V public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;)V public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;)V public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V } public abstract interface class io/sentry/metrics/IMetricsBatchProcessor { @@ -5236,14 +5236,14 @@ public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi public fun count (Ljava/lang/String;)V public fun count (Ljava/lang/String;Ljava/lang/Double;)V public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public fun count (Ljava/lang/String;Ljava/lang/String;)V public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V } public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetricsBatchProcessor { @@ -5261,14 +5261,14 @@ public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetrics public fun count (Ljava/lang/String;)V public fun count (Ljava/lang/String;Ljava/lang/Double;)V public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public fun count (Ljava/lang/String;Ljava/lang/String;)V public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V - public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V + public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi; } @@ -5279,6 +5279,18 @@ public final class io/sentry/metrics/NoOpMetricsBatchProcessor : io/sentry/metri public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsBatchProcessor; } +public final class io/sentry/metrics/SentryMetricsParameters { + public fun ()V + public static fun create (Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters; + public static fun create (Lio/sentry/SentryDate;Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters; + public fun getAttributes ()Lio/sentry/SentryAttributes; + public fun getOrigin ()Ljava/lang/String; + public fun getTimestamp ()Lio/sentry/SentryDate; + public fun setAttributes (Lio/sentry/SentryAttributes;)V + public fun setOrigin (Ljava/lang/String;)V + public fun setTimestamp (Lio/sentry/SentryDate;)V +} + public final class io/sentry/opentelemetry/OpenTelemetryUtil { public fun ()V public static fun applyIgnoredSpanOrigins (Lio/sentry/SentryOptions;)V diff --git a/sentry/src/main/java/io/sentry/metrics/IMetricsApi.java b/sentry/src/main/java/io/sentry/metrics/IMetricsApi.java index e61ec3dc21..e03b41e173 100644 --- a/sentry/src/main/java/io/sentry/metrics/IMetricsApi.java +++ b/sentry/src/main/java/io/sentry/metrics/IMetricsApi.java @@ -1,6 +1,5 @@ package io.sentry.metrics; -import io.sentry.logger.SentryLogParameters; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -18,7 +17,7 @@ void count( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params); + final @NotNull SentryMetricsParameters params); void distribution(final @NotNull String name, final @Nullable Double value); @@ -29,7 +28,7 @@ void distribution( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params); + final @NotNull SentryMetricsParameters params); void gauge(final @NotNull String name, final @Nullable Double value); @@ -39,5 +38,5 @@ void gauge( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params); + final @NotNull SentryMetricsParameters params); } diff --git a/sentry/src/main/java/io/sentry/metrics/MetricsApi.java b/sentry/src/main/java/io/sentry/metrics/MetricsApi.java index 894bd7aba2..2afbccb3f9 100644 --- a/sentry/src/main/java/io/sentry/metrics/MetricsApi.java +++ b/sentry/src/main/java/io/sentry/metrics/MetricsApi.java @@ -14,7 +14,6 @@ import io.sentry.SentryMetricsEvent; import io.sentry.SentryOptions; import io.sentry.SpanId; -import io.sentry.logger.SentryLogParameters; import io.sentry.protocol.SdkVersion; import io.sentry.protocol.SentryId; import io.sentry.protocol.User; @@ -34,23 +33,23 @@ public MetricsApi(final @NotNull Scopes scopes) { @Override public void count(final @NotNull String name) { - captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, null); + captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", 1.0, null); } @Override public void count(final @NotNull String name, final @Nullable Double value) { - captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, null); + captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", value, null); } @Override public void count(final @NotNull String name, final @Nullable String unit) { - captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, unit); + captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", 1.0, unit); } @Override public void count( final @NotNull String name, final @Nullable Double value, final @Nullable String unit) { - captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, unit); + captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", value, unit); } @Override @@ -58,19 +57,19 @@ public void count( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) { + final @NotNull SentryMetricsParameters params) { captureMetrics(params, name, "counter", value, unit); } @Override public void distribution(final @NotNull String name, final @Nullable Double value) { - captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, null); + captureMetrics(SentryMetricsParameters.create(null, null), name, "distribution", value, null); } @Override public void distribution( final @NotNull String name, final @Nullable Double value, final @Nullable String unit) { - captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, unit); + captureMetrics(SentryMetricsParameters.create(null, null), name, "distribution", value, unit); } @Override @@ -78,19 +77,19 @@ public void distribution( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) { + final @NotNull SentryMetricsParameters params) { captureMetrics(params, name, "distribution", value, unit); } @Override public void gauge(final @NotNull String name, final @Nullable Double value) { - captureMetrics(SentryLogParameters.create(null, null), name, "gauge", value, null); + captureMetrics(SentryMetricsParameters.create(null, null), name, "gauge", value, null); } @Override public void gauge( final @NotNull String name, final @Nullable Double value, final @Nullable String unit) { - captureMetrics(SentryLogParameters.create(null, null), name, "gauge", value, unit); + captureMetrics(SentryMetricsParameters.create(null, null), name, "gauge", value, unit); } @Override @@ -98,13 +97,13 @@ public void gauge( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) { + final @NotNull SentryMetricsParameters params) { captureMetrics(params, name, "gauge", value, unit); } @SuppressWarnings("AnnotateFormatMethod") private void captureMetrics( - final @NotNull SentryLogParameters params, + final @NotNull SentryMetricsParameters params, final @Nullable String name, final @Nullable String type, final @Nullable Double value, @@ -166,7 +165,7 @@ private void captureMetrics( } private @NotNull HashMap createAttributes( - final @NotNull SentryLogParameters params) { + final @NotNull SentryMetricsParameters params) { final @NotNull HashMap attributes = new HashMap<>(); final @NotNull String origin = params.getOrigin(); if (!"manual".equalsIgnoreCase(origin)) { diff --git a/sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java b/sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java index 6e770b249c..7fe85145d4 100644 --- a/sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java +++ b/sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java @@ -1,6 +1,5 @@ package io.sentry.metrics; -import io.sentry.logger.SentryLogParameters; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -31,7 +30,7 @@ public void count( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) {} + final @NotNull SentryMetricsParameters params) {} @Override public void distribution(final @NotNull String name, final @Nullable Double value) {} @@ -45,7 +44,7 @@ public void distribution( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) {} + final @NotNull SentryMetricsParameters params) {} @Override public void gauge(final @NotNull String name, final @Nullable Double value) {} @@ -59,5 +58,5 @@ public void gauge( final @NotNull String name, final @Nullable Double value, final @Nullable String unit, - final @NotNull SentryLogParameters params) {} + final @NotNull SentryMetricsParameters params) {} } diff --git a/sentry/src/main/java/io/sentry/metrics/SentryMetricsParameters.java b/sentry/src/main/java/io/sentry/metrics/SentryMetricsParameters.java new file mode 100644 index 0000000000..14d8403c20 --- /dev/null +++ b/sentry/src/main/java/io/sentry/metrics/SentryMetricsParameters.java @@ -0,0 +1,52 @@ +package io.sentry.metrics; + +import io.sentry.SentryAttributes; +import io.sentry.SentryDate; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public final class SentryMetricsParameters { + + private @Nullable SentryDate timestamp; + private @Nullable SentryAttributes attributes; + private @NotNull String origin = "manual"; + + public @Nullable SentryDate getTimestamp() { + return timestamp; + } + + public void setTimestamp(final @Nullable SentryDate timestamp) { + this.timestamp = timestamp; + } + + public @Nullable SentryAttributes getAttributes() { + return attributes; + } + + public void setAttributes(final @Nullable SentryAttributes attributes) { + this.attributes = attributes; + } + + public @NotNull String getOrigin() { + return origin; + } + + public void setOrigin(final @NotNull String origin) { + this.origin = origin; + } + + public static @NotNull SentryMetricsParameters create( + final @Nullable SentryDate timestamp, final @Nullable SentryAttributes attributes) { + final @NotNull SentryMetricsParameters params = new SentryMetricsParameters(); + + params.setTimestamp(timestamp); + params.setAttributes(attributes); + + return params; + } + + public static @NotNull SentryMetricsParameters create( + final @Nullable SentryAttributes attributes) { + return create(null, attributes); + } +} diff --git a/sentry/src/test/java/io/sentry/ScopesTest.kt b/sentry/src/test/java/io/sentry/ScopesTest.kt index dde633d878..fc17a30094 100644 --- a/sentry/src/test/java/io/sentry/ScopesTest.kt +++ b/sentry/src/test/java/io/sentry/ScopesTest.kt @@ -8,6 +8,7 @@ import io.sentry.clientreport.DiscardedEvent import io.sentry.hints.SessionEndHint import io.sentry.hints.SessionStartHint import io.sentry.logger.SentryLogParameters +import io.sentry.metrics.SentryMetricsParameters import io.sentry.protocol.Feedback import io.sentry.protocol.SentryId import io.sentry.protocol.SentryTransaction @@ -3217,7 +3218,7 @@ class ScopesTest { sut .metrics() - .count("metric name", 1.0, "visit", SentryLogParameters().also { it.origin = "other" }) + .count("metric name", 1.0, "visit", SentryMetricsParameters().also { it.origin = "other" }) verify(mockClient) .captureMetric( @@ -3295,7 +3296,7 @@ class ScopesTest { "metric name", 1.0, "visit", - SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), + SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) verify(mockClient) @@ -3324,7 +3325,7 @@ class ScopesTest { "metric name", 1.0, "visit", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), SentryAttribute.booleanAttribute("boolattr", true), @@ -3392,7 +3393,7 @@ class ScopesTest { "metric name", 1.0, "visit", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), ), @@ -3459,7 +3460,7 @@ class ScopesTest { "metric name", 3.7, "ms", - SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), + SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) verify(mockClient) @@ -3488,7 +3489,7 @@ class ScopesTest { "metric name", 3.7, "ms", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), SentryAttribute.booleanAttribute("boolattr", true), @@ -3556,7 +3557,7 @@ class ScopesTest { "metric name", 3.7, "ms", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), ), @@ -3623,7 +3624,7 @@ class ScopesTest { "metric name", 256.0, "byte", - SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), + SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))), ) verify(mockClient) @@ -3652,7 +3653,7 @@ class ScopesTest { "metric name", 256.0, "byte", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryAttributes.of( SentryAttribute.stringAttribute("strattr", "strval"), SentryAttribute.booleanAttribute("boolattr", true), @@ -3720,7 +3721,7 @@ class ScopesTest { "metric name", 256.0, "byte", - SentryLogParameters.create( + SentryMetricsParameters.create( SentryLongDate(123), SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")), ),