diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index d80ffc1033..895cb538db 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -3433,7 +3433,7 @@ public final class io/sentry/metrics/CodeLocations { } public final class io/sentry/metrics/CounterMetric : io/sentry/metrics/Metric { - public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;Ljava/lang/Long;)V + public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;)V public fun add (D)V public fun getValue ()D public fun getWeight ()I @@ -3441,7 +3441,7 @@ public final class io/sentry/metrics/CounterMetric : io/sentry/metrics/Metric { } public final class io/sentry/metrics/DistributionMetric : io/sentry/metrics/Metric { - public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;Ljava/lang/Long;)V + public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;)V public fun add (D)V public fun getWeight ()I public fun serialize ()Ljava/lang/Iterable; @@ -3453,7 +3453,7 @@ public final class io/sentry/metrics/EncodedMetrics { } public final class io/sentry/metrics/GaugeMetric : io/sentry/metrics/Metric { - public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;Ljava/lang/Long;)V + public fun (Ljava/lang/String;DLio/sentry/MeasurementUnit;Ljava/util/Map;)V public fun add (D)V public fun getCount ()I public fun getLast ()D @@ -3475,11 +3475,10 @@ public final class io/sentry/metrics/LocalMetricsAggregator { } public abstract class io/sentry/metrics/Metric { - public fun (Lio/sentry/metrics/MetricType;Ljava/lang/String;Lio/sentry/MeasurementUnit;Ljava/util/Map;Ljava/lang/Long;)V + public fun (Lio/sentry/metrics/MetricType;Ljava/lang/String;Lio/sentry/MeasurementUnit;Ljava/util/Map;)V public abstract fun add (D)V public fun getKey ()Ljava/lang/String; public fun getTags ()Ljava/util/Map; - public fun getTimeStampMs ()Ljava/lang/Long; public fun getType ()Lio/sentry/metrics/MetricType; public fun getUnit ()Lio/sentry/MeasurementUnit; public abstract fun getWeight ()I @@ -3582,24 +3581,8 @@ public final class io/sentry/metrics/NoopMetricsAggregator : io/sentry/IMetricsA public fun timing (Ljava/lang/String;Ljava/lang/Runnable;Lio/sentry/MeasurementUnit$Duration;Ljava/util/Map;ILio/sentry/metrics/LocalMetricsAggregator;)V } -public final class io/sentry/metrics/SentryMetric : io/sentry/JsonSerializable { - public fun (Lio/sentry/metrics/Metric;)V - public fun serialize (Lio/sentry/ObjectWriter;Lio/sentry/ILogger;)V -} - -public final class io/sentry/metrics/SentryMetric$JsonKeys { - public static final field EVENT_ID Ljava/lang/String; - public static final field NAME Ljava/lang/String; - public static final field TAGS Ljava/lang/String; - public static final field TIMESTAMP Ljava/lang/String; - public static final field TYPE Ljava/lang/String; - public static final field UNIT Ljava/lang/String; - public static final field VALUE Ljava/lang/String; - public fun ()V -} - public final class io/sentry/metrics/SetMetric : io/sentry/metrics/Metric { - public fun (Ljava/lang/String;Lio/sentry/MeasurementUnit;Ljava/util/Map;Ljava/lang/Long;)V + public fun (Ljava/lang/String;Lio/sentry/MeasurementUnit;Ljava/util/Map;)V public fun add (D)V public fun getWeight ()I public fun serialize ()Ljava/lang/Iterable; diff --git a/sentry/src/main/java/io/sentry/MetricsAggregator.java b/sentry/src/main/java/io/sentry/MetricsAggregator.java index 387db39994..409fa5c3b1 100644 --- a/sentry/src/main/java/io/sentry/MetricsAggregator.java +++ b/sentry/src/main/java/io/sentry/MetricsAggregator.java @@ -228,16 +228,16 @@ private void add( final @NotNull Metric metric; switch (type) { case Counter: - metric = new CounterMetric(key, value, unit, tags, timestampMs); + metric = new CounterMetric(key, value, unit, tags); break; case Gauge: - metric = new GaugeMetric(key, value, unit, tags, timestampMs); + metric = new GaugeMetric(key, value, unit, tags); break; case Distribution: - metric = new DistributionMetric(key, value, unit, tags, timestampMs); + metric = new DistributionMetric(key, value, unit, tags); break; case Set: - metric = new SetMetric(key, unit, tags, timestampMs); + metric = new SetMetric(key, unit, tags); // sets API is either ints or strings cr32 encoded into ints // noinspection unchecked metric.add((int) value); diff --git a/sentry/src/main/java/io/sentry/metrics/CounterMetric.java b/sentry/src/main/java/io/sentry/metrics/CounterMetric.java index feddfd780c..3861387f0d 100644 --- a/sentry/src/main/java/io/sentry/metrics/CounterMetric.java +++ b/sentry/src/main/java/io/sentry/metrics/CounterMetric.java @@ -16,9 +16,8 @@ public CounterMetric( final @NotNull String key, final double value, final @Nullable MeasurementUnit unit, - final @Nullable Map tags, - final @NotNull Long timestamp) { - super(MetricType.Counter, key, unit, tags, timestamp); + final @Nullable Map tags) { + super(MetricType.Counter, key, unit, tags); this.value = value; } diff --git a/sentry/src/main/java/io/sentry/metrics/DistributionMetric.java b/sentry/src/main/java/io/sentry/metrics/DistributionMetric.java index d29c0e2e22..17417d150d 100644 --- a/sentry/src/main/java/io/sentry/metrics/DistributionMetric.java +++ b/sentry/src/main/java/io/sentry/metrics/DistributionMetric.java @@ -17,9 +17,8 @@ public DistributionMetric( final @NotNull String key, final double value, final @Nullable MeasurementUnit unit, - final @Nullable Map tags, - final @NotNull Long timestamp) { - super(MetricType.Distribution, key, unit, tags, timestamp); + final @Nullable Map tags) { + super(MetricType.Distribution, key, unit, tags); this.values.add(value); } diff --git a/sentry/src/main/java/io/sentry/metrics/GaugeMetric.java b/sentry/src/main/java/io/sentry/metrics/GaugeMetric.java index a9448b8c80..6f54e383c2 100644 --- a/sentry/src/main/java/io/sentry/metrics/GaugeMetric.java +++ b/sentry/src/main/java/io/sentry/metrics/GaugeMetric.java @@ -21,9 +21,8 @@ public GaugeMetric( final @NotNull String key, final double value, final @Nullable MeasurementUnit unit, - final @Nullable Map tags, - final @NotNull Long timestamp) { - super(MetricType.Gauge, key, unit, tags, timestamp); + final @Nullable Map tags) { + super(MetricType.Gauge, key, unit, tags); this.last = value; this.min = value; diff --git a/sentry/src/main/java/io/sentry/metrics/LocalMetricsAggregator.java b/sentry/src/main/java/io/sentry/metrics/LocalMetricsAggregator.java index 05dbbb4414..ee0f24eaae 100644 --- a/sentry/src/main/java/io/sentry/metrics/LocalMetricsAggregator.java +++ b/sentry/src/main/java/io/sentry/metrics/LocalMetricsAggregator.java @@ -43,7 +43,7 @@ public void add( @Nullable GaugeMetric gauge = bucket.get(bucketKey); if (gauge == null) { - gauge = new GaugeMetric(key, value, unit, tags, timestampMs); + gauge = new GaugeMetric(key, value, unit, tags); bucket.put(bucketKey, gauge); } else { gauge.add(value); diff --git a/sentry/src/main/java/io/sentry/metrics/Metric.java b/sentry/src/main/java/io/sentry/metrics/Metric.java index 1acb0fe0a9..57bbd9c22c 100644 --- a/sentry/src/main/java/io/sentry/metrics/Metric.java +++ b/sentry/src/main/java/io/sentry/metrics/Metric.java @@ -14,7 +14,6 @@ public abstract class Metric { private final @NotNull String key; private final @Nullable MeasurementUnit unit; private final @Nullable Map tags; - private final @NotNull Long timestampMs; /** * Creates a new instance of {@link Metric}. @@ -23,19 +22,16 @@ public abstract class Metric { * @param unit An optional {@link MeasurementUnit} that describes the values being tracked * @param tags An optional set of key/value pairs that can be used to add dimensionality to * metrics - * @param timestampMs A time when the metric was emitted. */ public Metric( final @NotNull MetricType type, final @NotNull String key, final @Nullable MeasurementUnit unit, - final @Nullable Map tags, - final @NotNull Long timestampMs) { + final @Nullable Map tags) { this.type = type; this.key = key; this.unit = unit; this.tags = tags; - this.timestampMs = timestampMs; } /** Adds a value to the metric */ @@ -63,10 +59,5 @@ public Map getTags() { return tags; } - /** the unix timestamp in milliseconds when the metric was emitted. */ - public Long getTimeStampMs() { - return timestampMs; - } - public abstract @NotNull Iterable serialize(); } diff --git a/sentry/src/main/java/io/sentry/metrics/SentryMetric.java b/sentry/src/main/java/io/sentry/metrics/SentryMetric.java deleted file mode 100644 index 88db999662..0000000000 --- a/sentry/src/main/java/io/sentry/metrics/SentryMetric.java +++ /dev/null @@ -1,77 +0,0 @@ -package io.sentry.metrics; - -import io.sentry.ILogger; -import io.sentry.JsonSerializable; -import io.sentry.MeasurementUnit; -import io.sentry.ObjectWriter; -import io.sentry.protocol.SentryId; -import java.io.IOException; -import java.util.Map; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -// TODO actually needed? we seem to send them in statsd format anyway -@ApiStatus.Internal -public final class SentryMetric implements JsonSerializable { - - private final Iterable values; - - public static final class JsonKeys { - public static final String TYPE = "type"; - public static final String EVENT_ID = "event_id"; - public static final String NAME = "name"; - public static final String TIMESTAMP = "timestamp"; - public static final String UNIT = "unit"; - public static final String TAGS = "tags"; - public static final String VALUE = "value"; - } - - private final @NotNull MetricType type; - private final @NotNull SentryId eventId; - private final @NotNull String key; - private final @Nullable MeasurementUnit unit; - private final @Nullable Map tags; - private final long timestampMs; - - public SentryMetric(@NotNull Metric metric) { - this.eventId = new SentryId(); - - this.type = metric.getType(); - this.key = metric.getKey(); - this.unit = metric.getUnit(); - this.tags = metric.getTags(); - this.timestampMs = metric.getTimeStampMs(); - this.values = metric.serialize(); - } - - @Override - public void serialize(@NotNull ObjectWriter writer, @NotNull ILogger logger) throws IOException { - - writer.beginObject(); - writer.name(JsonKeys.TYPE).value(MetricsHelper.toStatsdType(type)); - writer.name(JsonKeys.EVENT_ID).value(logger, eventId); - writer.name(JsonKeys.NAME).value(key); - writer.name(JsonKeys.TIMESTAMP).value((double) timestampMs / 1000.0d); - if (unit != null) { - writer.name(JsonKeys.UNIT).value(unit.apiName()); - } - if (tags != null) { - writer.name(JsonKeys.TAGS); - writer.beginObject(); - for (final @NotNull Map.Entry entry : tags.entrySet()) { - writer.name(entry.getKey()).value(entry.getValue()); - } - writer.endObject(); - } - - writer.name(JsonKeys.VALUE); - writer.beginArray(); - for (final Object value : values) { - writer.value(logger, value); - } - writer.endArray(); - - writer.endObject(); - } -} diff --git a/sentry/src/main/java/io/sentry/metrics/SetMetric.java b/sentry/src/main/java/io/sentry/metrics/SetMetric.java index 5aa5a60bea..43d16ed550 100644 --- a/sentry/src/main/java/io/sentry/metrics/SetMetric.java +++ b/sentry/src/main/java/io/sentry/metrics/SetMetric.java @@ -17,9 +17,8 @@ public final class SetMetric extends Metric { public SetMetric( final @NotNull String key, final @Nullable MeasurementUnit unit, - final @Nullable Map tags, - final @NotNull Long timestamp) { - super(MetricType.Set, key, unit, tags, timestamp); + final @Nullable Map tags) { + super(MetricType.Set, key, unit, tags); } /** diff --git a/sentry/src/test/java/io/sentry/metrics/CounterMetricTest.kt b/sentry/src/test/java/io/sentry/metrics/CounterMetricTest.kt index cbc75e64d3..b1af3faa1f 100644 --- a/sentry/src/test/java/io/sentry/metrics/CounterMetricTest.kt +++ b/sentry/src/test/java/io/sentry/metrics/CounterMetricTest.kt @@ -14,8 +14,7 @@ class CounterMetricTest { mapOf( "tag1" to "value1", "tag2" to "value2" - ), - System.currentTimeMillis() + ) ) assertEquals(1.0, metric.value) @@ -37,8 +36,7 @@ class CounterMetricTest { mapOf( "tag1" to "value1", "tag2" to "value2" - ), - System.currentTimeMillis() + ) ) assertEquals(MetricType.Counter, metric.type) } @@ -52,8 +50,7 @@ class CounterMetricTest { mapOf( "tag1" to "value1", "tag2" to "value2" - ), - System.currentTimeMillis() + ) ) assertEquals(1, metric.weight) } @@ -67,8 +64,7 @@ class CounterMetricTest { mapOf( "tag1" to "value1", "tag2" to "value2" - ), - System.currentTimeMillis() + ) ) val values0 = metric.serialize().toList() diff --git a/sentry/src/test/java/io/sentry/metrics/DistributionMetricTest.kt b/sentry/src/test/java/io/sentry/metrics/DistributionMetricTest.kt index 9fbea650ca..13c74105f0 100644 --- a/sentry/src/test/java/io/sentry/metrics/DistributionMetricTest.kt +++ b/sentry/src/test/java/io/sentry/metrics/DistributionMetricTest.kt @@ -11,8 +11,7 @@ class DistributionMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals(listOf(1.0), metric.serialize().toList()) @@ -27,8 +26,7 @@ class DistributionMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals(MetricType.Distribution, metric.type) } @@ -39,8 +37,7 @@ class DistributionMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals(1, metric.weight) @@ -54,8 +51,7 @@ class DistributionMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) metric.add(2.0) diff --git a/sentry/src/test/java/io/sentry/metrics/GaugeMetricTest.kt b/sentry/src/test/java/io/sentry/metrics/GaugeMetricTest.kt index c6a8a1ab56..7385271777 100644 --- a/sentry/src/test/java/io/sentry/metrics/GaugeMetricTest.kt +++ b/sentry/src/test/java/io/sentry/metrics/GaugeMetricTest.kt @@ -11,8 +11,7 @@ class GaugeMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals( listOf( @@ -48,8 +47,7 @@ class GaugeMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals(MetricType.Gauge, metric.type) } @@ -60,8 +58,7 @@ class GaugeMetricTest { "test", 1.0, null, - null, - System.currentTimeMillis() + null ) assertEquals(5, metric.weight) diff --git a/sentry/src/test/java/io/sentry/metrics/MetricsHelperTest.kt b/sentry/src/test/java/io/sentry/metrics/MetricsHelperTest.kt index f243f5d376..089f805a60 100644 --- a/sentry/src/test/java/io/sentry/metrics/MetricsHelperTest.kt +++ b/sentry/src/test/java/io/sentry/metrics/MetricsHelperTest.kt @@ -137,8 +137,7 @@ class MetricsHelperTest { mapOf( "tag1" to "value1", "tag2" to "value2" - ), - 1000 + ) ) ), stringBuilder diff --git a/sentry/src/test/java/io/sentry/metrics/SetMetricTest.kt b/sentry/src/test/java/io/sentry/metrics/SetMetricTest.kt index b0065f023b..b41d9c2e1c 100644 --- a/sentry/src/test/java/io/sentry/metrics/SetMetricTest.kt +++ b/sentry/src/test/java/io/sentry/metrics/SetMetricTest.kt @@ -11,8 +11,7 @@ class SetMetricTest { val metric = SetMetric( "test", null, - null, - System.currentTimeMillis() + null ) assertTrue(metric.serialize().toList().isEmpty()) @@ -33,8 +32,7 @@ class SetMetricTest { val metric = SetMetric( "test", null, - null, - System.currentTimeMillis() + null ) assertEquals(MetricType.Set, metric.type) } @@ -44,8 +42,7 @@ class SetMetricTest { val metric = SetMetric( "test", null, - null, - System.currentTimeMillis() + null ) assertEquals(0, metric.weight)