Skip to content

Commit e91e1a8

Browse files
committed
Create SentryMetricsParameters for Metrics
1 parent 5ea89f4 commit e91e1a8

File tree

6 files changed

+103
-41
lines changed

6 files changed

+103
-41
lines changed

sentry/api/sentry.api

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5207,14 +5207,14 @@ public abstract interface class io/sentry/metrics/IMetricsApi {
52075207
public abstract fun count (Ljava/lang/String;)V
52085208
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;)V
52095209
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5210-
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5210+
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52115211
public abstract fun count (Ljava/lang/String;Ljava/lang/String;)V
52125212
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
52135213
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5214-
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5214+
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52155215
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
52165216
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5217-
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5217+
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52185218
}
52195219

52205220
public abstract interface class io/sentry/metrics/IMetricsBatchProcessor {
@@ -5232,14 +5232,14 @@ public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi
52325232
public fun count (Ljava/lang/String;)V
52335233
public fun count (Ljava/lang/String;Ljava/lang/Double;)V
52345234
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5235-
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5235+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52365236
public fun count (Ljava/lang/String;Ljava/lang/String;)V
52375237
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
52385238
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5239-
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5239+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52405240
public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
52415241
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5242-
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5242+
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52435243
}
52445244

52455245
public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetricsBatchProcessor {
@@ -5257,14 +5257,14 @@ public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetrics
52575257
public fun count (Ljava/lang/String;)V
52585258
public fun count (Ljava/lang/String;Ljava/lang/Double;)V
52595259
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5260-
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5260+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52615261
public fun count (Ljava/lang/String;Ljava/lang/String;)V
52625262
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
52635263
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5264-
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5264+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52655265
public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
52665266
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5267-
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5267+
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
52685268
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
52695269
}
52705270

@@ -5275,6 +5275,18 @@ public final class io/sentry/metrics/NoOpMetricsBatchProcessor : io/sentry/metri
52755275
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsBatchProcessor;
52765276
}
52775277

5278+
public final class io/sentry/metrics/SentryMetricsParameters {
5279+
public fun <init> ()V
5280+
public static fun create (Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters;
5281+
public static fun create (Lio/sentry/SentryDate;Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters;
5282+
public fun getAttributes ()Lio/sentry/SentryAttributes;
5283+
public fun getOrigin ()Ljava/lang/String;
5284+
public fun getTimestamp ()Lio/sentry/SentryDate;
5285+
public fun setAttributes (Lio/sentry/SentryAttributes;)V
5286+
public fun setOrigin (Ljava/lang/String;)V
5287+
public fun setTimestamp (Lio/sentry/SentryDate;)V
5288+
}
5289+
52785290
public final class io/sentry/opentelemetry/OpenTelemetryUtil {
52795291
public fun <init> ()V
52805292
public static fun applyIgnoredSpanOrigins (Lio/sentry/SentryOptions;)V

sentry/src/main/java/io/sentry/metrics/IMetricsApi.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.sentry.metrics;
22

3-
import io.sentry.logger.SentryLogParameters;
43
import org.jetbrains.annotations.NotNull;
54
import org.jetbrains.annotations.Nullable;
65

@@ -18,7 +17,7 @@ void count(
1817
final @NotNull String name,
1918
final @Nullable Double value,
2019
final @Nullable String unit,
21-
final @NotNull SentryLogParameters params);
20+
final @NotNull SentryMetricsParameters params);
2221

2322
void distribution(final @NotNull String name, final @Nullable Double value);
2423

@@ -29,7 +28,7 @@ void distribution(
2928
final @NotNull String name,
3029
final @Nullable Double value,
3130
final @Nullable String unit,
32-
final @NotNull SentryLogParameters params);
31+
final @NotNull SentryMetricsParameters params);
3332

3433
void gauge(final @NotNull String name, final @Nullable Double value);
3534

@@ -39,5 +38,5 @@ void gauge(
3938
final @NotNull String name,
4039
final @Nullable Double value,
4140
final @Nullable String unit,
42-
final @NotNull SentryLogParameters params);
41+
final @NotNull SentryMetricsParameters params);
4342
}

sentry/src/main/java/io/sentry/metrics/MetricsApi.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import io.sentry.SentryMetricsEvent;
1515
import io.sentry.SentryOptions;
1616
import io.sentry.SpanId;
17-
import io.sentry.logger.SentryLogParameters;
1817
import io.sentry.protocol.SdkVersion;
1918
import io.sentry.protocol.SentryId;
2019
import io.sentry.protocol.User;
@@ -34,77 +33,77 @@ public MetricsApi(final @NotNull Scopes scopes) {
3433

3534
@Override
3635
public void count(final @NotNull String name) {
37-
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, null);
36+
captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", 1.0, null);
3837
}
3938

4039
@Override
4140
public void count(final @NotNull String name, final @Nullable Double value) {
42-
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, null);
41+
captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", value, null);
4342
}
4443

4544
@Override
4645
public void count(final @NotNull String name, final @Nullable String unit) {
47-
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, unit);
46+
captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", 1.0, unit);
4847
}
4948

5049
@Override
5150
public void count(
5251
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
53-
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, unit);
52+
captureMetrics(SentryMetricsParameters.create(null, null), name, "counter", value, unit);
5453
}
5554

5655
@Override
5756
public void count(
5857
final @NotNull String name,
5958
final @Nullable Double value,
6059
final @Nullable String unit,
61-
final @NotNull SentryLogParameters params) {
60+
final @NotNull SentryMetricsParameters params) {
6261
captureMetrics(params, name, "counter", value, unit);
6362
}
6463

6564
@Override
6665
public void distribution(final @NotNull String name, final @Nullable Double value) {
67-
captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, null);
66+
captureMetrics(SentryMetricsParameters.create(null, null), name, "distribution", value, null);
6867
}
6968

7069
@Override
7170
public void distribution(
7271
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
73-
captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, unit);
72+
captureMetrics(SentryMetricsParameters.create(null, null), name, "distribution", value, unit);
7473
}
7574

7675
@Override
7776
public void distribution(
7877
final @NotNull String name,
7978
final @Nullable Double value,
8079
final @Nullable String unit,
81-
final @NotNull SentryLogParameters params) {
80+
final @NotNull SentryMetricsParameters params) {
8281
captureMetrics(params, name, "distribution", value, unit);
8382
}
8483

8584
@Override
8685
public void gauge(final @NotNull String name, final @Nullable Double value) {
87-
captureMetrics(SentryLogParameters.create(null, null), name, "gauge", value, null);
86+
captureMetrics(SentryMetricsParameters.create(null, null), name, "gauge", value, null);
8887
}
8988

9089
@Override
9190
public void gauge(
9291
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
93-
captureMetrics(SentryLogParameters.create(null, null), name, "gauge", value, unit);
92+
captureMetrics(SentryMetricsParameters.create(null, null), name, "gauge", value, unit);
9493
}
9594

9695
@Override
9796
public void gauge(
9897
final @NotNull String name,
9998
final @Nullable Double value,
10099
final @Nullable String unit,
101-
final @NotNull SentryLogParameters params) {
100+
final @NotNull SentryMetricsParameters params) {
102101
captureMetrics(params, name, "gauge", value, unit);
103102
}
104103

105104
@SuppressWarnings("AnnotateFormatMethod")
106105
private void captureMetrics(
107-
final @NotNull SentryLogParameters params,
106+
final @NotNull SentryMetricsParameters params,
108107
final @Nullable String name,
109108
final @Nullable String type,
110109
final @Nullable Double value,
@@ -166,7 +165,7 @@ private void captureMetrics(
166165
}
167166

168167
private @NotNull HashMap<String, SentryLogEventAttributeValue> createAttributes(
169-
final @NotNull SentryLogParameters params) {
168+
final @NotNull SentryMetricsParameters params) {
170169
final @NotNull HashMap<String, SentryLogEventAttributeValue> attributes = new HashMap<>();
171170
final @NotNull String origin = params.getOrigin();
172171
if (!"manual".equalsIgnoreCase(origin)) {

sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.sentry.metrics;
22

3-
import io.sentry.logger.SentryLogParameters;
43
import org.jetbrains.annotations.NotNull;
54
import org.jetbrains.annotations.Nullable;
65

@@ -31,7 +30,7 @@ public void count(
3130
final @NotNull String name,
3231
final @Nullable Double value,
3332
final @Nullable String unit,
34-
final @NotNull SentryLogParameters params) {}
33+
final @NotNull SentryMetricsParameters params) {}
3534

3635
@Override
3736
public void distribution(final @NotNull String name, final @Nullable Double value) {}
@@ -45,7 +44,7 @@ public void distribution(
4544
final @NotNull String name,
4645
final @Nullable Double value,
4746
final @Nullable String unit,
48-
final @NotNull SentryLogParameters params) {}
47+
final @NotNull SentryMetricsParameters params) {}
4948

5049
@Override
5150
public void gauge(final @NotNull String name, final @Nullable Double value) {}
@@ -59,5 +58,5 @@ public void gauge(
5958
final @NotNull String name,
6059
final @Nullable Double value,
6160
final @Nullable String unit,
62-
final @NotNull SentryLogParameters params) {}
61+
final @NotNull SentryMetricsParameters params) {}
6362
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package io.sentry.metrics;
2+
3+
import io.sentry.SentryAttributes;
4+
import io.sentry.SentryDate;
5+
import org.jetbrains.annotations.NotNull;
6+
import org.jetbrains.annotations.Nullable;
7+
8+
public final class SentryMetricsParameters {
9+
10+
private @Nullable SentryDate timestamp;
11+
private @Nullable SentryAttributes attributes;
12+
private @NotNull String origin = "manual";
13+
14+
public @Nullable SentryDate getTimestamp() {
15+
return timestamp;
16+
}
17+
18+
public void setTimestamp(final @Nullable SentryDate timestamp) {
19+
this.timestamp = timestamp;
20+
}
21+
22+
public @Nullable SentryAttributes getAttributes() {
23+
return attributes;
24+
}
25+
26+
public void setAttributes(final @Nullable SentryAttributes attributes) {
27+
this.attributes = attributes;
28+
}
29+
30+
public @NotNull String getOrigin() {
31+
return origin;
32+
}
33+
34+
public void setOrigin(final @NotNull String origin) {
35+
this.origin = origin;
36+
}
37+
38+
public static @NotNull SentryMetricsParameters create(
39+
final @Nullable SentryDate timestamp, final @Nullable SentryAttributes attributes) {
40+
final @NotNull SentryMetricsParameters params = new SentryMetricsParameters();
41+
42+
params.setTimestamp(timestamp);
43+
params.setAttributes(attributes);
44+
45+
return params;
46+
}
47+
48+
public static @NotNull SentryMetricsParameters create(
49+
final @Nullable SentryAttributes attributes) {
50+
return create(null, attributes);
51+
}
52+
}

sentry/src/test/java/io/sentry/ScopesTest.kt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.sentry.clientreport.DiscardedEvent
88
import io.sentry.hints.SessionEndHint
99
import io.sentry.hints.SessionStartHint
1010
import io.sentry.logger.SentryLogParameters
11+
import io.sentry.metrics.SentryMetricsParameters
1112
import io.sentry.protocol.Feedback
1213
import io.sentry.protocol.SentryId
1314
import io.sentry.protocol.SentryTransaction
@@ -3217,7 +3218,7 @@ class ScopesTest {
32173218

32183219
sut
32193220
.metrics()
3220-
.count("metric name", 1.0, "visit", SentryLogParameters().also { it.origin = "other" })
3221+
.count("metric name", 1.0, "visit", SentryMetricsParameters().also { it.origin = "other" })
32213222

32223223
verify(mockClient)
32233224
.captureMetric(
@@ -3295,7 +3296,7 @@ class ScopesTest {
32953296
"metric name",
32963297
1.0,
32973298
"visit",
3298-
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
3299+
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
32993300
)
33003301

33013302
verify(mockClient)
@@ -3324,7 +3325,7 @@ class ScopesTest {
33243325
"metric name",
33253326
1.0,
33263327
"visit",
3327-
SentryLogParameters.create(
3328+
SentryMetricsParameters.create(
33283329
SentryAttributes.of(
33293330
SentryAttribute.stringAttribute("strattr", "strval"),
33303331
SentryAttribute.booleanAttribute("boolattr", true),
@@ -3392,7 +3393,7 @@ class ScopesTest {
33923393
"metric name",
33933394
1.0,
33943395
"visit",
3395-
SentryLogParameters.create(
3396+
SentryMetricsParameters.create(
33963397
SentryLongDate(123),
33973398
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
33983399
),
@@ -3459,7 +3460,7 @@ class ScopesTest {
34593460
"metric name",
34603461
3.7,
34613462
"ms",
3462-
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
3463+
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
34633464
)
34643465

34653466
verify(mockClient)
@@ -3488,7 +3489,7 @@ class ScopesTest {
34883489
"metric name",
34893490
3.7,
34903491
"ms",
3491-
SentryLogParameters.create(
3492+
SentryMetricsParameters.create(
34923493
SentryAttributes.of(
34933494
SentryAttribute.stringAttribute("strattr", "strval"),
34943495
SentryAttribute.booleanAttribute("boolattr", true),
@@ -3556,7 +3557,7 @@ class ScopesTest {
35563557
"metric name",
35573558
3.7,
35583559
"ms",
3559-
SentryLogParameters.create(
3560+
SentryMetricsParameters.create(
35603561
SentryLongDate(123),
35613562
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
35623563
),
@@ -3623,7 +3624,7 @@ class ScopesTest {
36233624
"metric name",
36243625
256.0,
36253626
"byte",
3626-
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
3627+
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
36273628
)
36283629

36293630
verify(mockClient)
@@ -3652,7 +3653,7 @@ class ScopesTest {
36523653
"metric name",
36533654
256.0,
36543655
"byte",
3655-
SentryLogParameters.create(
3656+
SentryMetricsParameters.create(
36563657
SentryAttributes.of(
36573658
SentryAttribute.stringAttribute("strattr", "strval"),
36583659
SentryAttribute.booleanAttribute("boolattr", true),
@@ -3720,7 +3721,7 @@ class ScopesTest {
37203721
"metric name",
37213722
256.0,
37223723
"byte",
3723-
SentryLogParameters.create(
3724+
SentryMetricsParameters.create(
37243725
SentryLongDate(123),
37253726
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
37263727
),

0 commit comments

Comments
 (0)