Skip to content

Commit 6bda69d

Browse files
committed
Metrics Count API
1 parent 5dba18b commit 6bda69d

File tree

4 files changed

+78
-5
lines changed

4 files changed

+78
-5
lines changed

sentry/api/sentry.api

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5202,6 +5202,10 @@ public final class io/sentry/metrics/DefaultMetricsBatchProcessorFactory : io/se
52025202

52035203
public abstract interface class io/sentry/metrics/IMetricsApi {
52045204
public abstract fun count (Ljava/lang/String;)V
5205+
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;)V
5206+
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5207+
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5208+
public abstract fun count (Ljava/lang/String;Ljava/lang/String;)V
52055209
}
52065210

52075211
public abstract interface class io/sentry/metrics/IMetricsBatchProcessor {
@@ -5217,6 +5221,10 @@ public abstract interface class io/sentry/metrics/IMetricsBatchProcessorFactory
52175221
public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi {
52185222
public fun <init> (Lio/sentry/Scopes;)V
52195223
public fun count (Ljava/lang/String;)V
5224+
public fun count (Ljava/lang/String;Ljava/lang/Double;)V
5225+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5226+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5227+
public fun count (Ljava/lang/String;Ljava/lang/String;)V
52205228
}
52215229

52225230
public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetricsBatchProcessor {
@@ -5232,6 +5240,10 @@ public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetric
52325240

52335241
public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetricsApi {
52345242
public fun count (Ljava/lang/String;)V
5243+
public fun count (Ljava/lang/String;Ljava/lang/Double;)V
5244+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5245+
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
5246+
public fun count (Ljava/lang/String;Ljava/lang/String;)V
52355247
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
52365248
}
52375249

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

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
11
package io.sentry.metrics;
22

3+
import io.sentry.logger.SentryLogParameters;
34
import org.jetbrains.annotations.NotNull;
5+
import org.jetbrains.annotations.Nullable;
46

57
public interface IMetricsApi {
68

7-
void count(@NotNull final String name);
9+
void count(final @NotNull String name);
10+
11+
void count(final @NotNull String name, final @Nullable Double value);
12+
13+
void count(final @NotNull String name, final @Nullable String unit);
14+
15+
void count(final @NotNull String name, final @Nullable Double value, final @Nullable String unit);
16+
17+
void count(
18+
final @NotNull String name,
19+
final @Nullable Double value,
20+
final @Nullable String unit,
21+
final @NotNull SentryLogParameters params);
22+
823
// distribution
924
// gauge
1025
//

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

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,42 @@ public MetricsApi(final @NotNull Scopes scopes) {
3333
}
3434

3535
@Override
36-
public void count(@NotNull String name) {
37-
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0);
36+
public void count(final @NotNull String name) {
37+
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, null);
38+
}
39+
40+
@Override
41+
public void count(final @NotNull String name, final @Nullable Double value) {
42+
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, null);
43+
}
44+
45+
@Override
46+
public void count(final @NotNull String name, final @Nullable String unit) {
47+
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, unit);
48+
}
49+
50+
@Override
51+
public void count(
52+
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
53+
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, unit);
54+
}
55+
56+
@Override
57+
public void count(
58+
final @NotNull String name,
59+
final @Nullable Double value,
60+
final @Nullable String unit,
61+
final @NotNull SentryLogParameters params) {
62+
captureMetrics(params, name, "counter", value, unit);
3863
}
3964

4065
@SuppressWarnings("AnnotateFormatMethod")
4166
private void captureMetrics(
4267
final @NotNull SentryLogParameters params,
4368
final @Nullable String name,
4469
final @Nullable String type,
45-
final @Nullable Double value) {
70+
final @Nullable Double value,
71+
final @Nullable String unit) {
4672
final @NotNull SentryOptions options = scopes.getOptions();
4773
try {
4874
if (!scopes.isEnabled()) {
@@ -90,6 +116,7 @@ private void captureMetrics(
90116
final SentryMetricsEvent metricsEvent =
91117
new SentryMetricsEvent(traceId, timestampToUse, name, type, value);
92118
metricsEvent.setSpanId(spanId);
119+
metricsEvent.setUnit(unit);
93120
metricsEvent.setAttributes(createAttributes(params));
94121

95122
scopes.getClient().captureMetric(metricsEvent, combinedScope);

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

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package io.sentry.metrics;
22

3+
import io.sentry.logger.SentryLogParameters;
34
import org.jetbrains.annotations.NotNull;
5+
import org.jetbrains.annotations.Nullable;
46

57
public final class NoOpMetricsApi implements IMetricsApi {
68
private static final NoOpMetricsApi instance = new NoOpMetricsApi();
@@ -12,5 +14,22 @@ public static NoOpMetricsApi getInstance() {
1214
}
1315

1416
@Override
15-
public void count(@NotNull String name) {}
17+
public void count(final @NotNull String name) {}
18+
19+
@Override
20+
public void count(final @NotNull String name, final @Nullable Double value) {}
21+
22+
@Override
23+
public void count(final @NotNull String name, final @Nullable String unit) {}
24+
25+
@Override
26+
public void count(
27+
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {}
28+
29+
@Override
30+
public void count(
31+
final @NotNull String name,
32+
final @Nullable Double value,
33+
final @Nullable String unit,
34+
final @NotNull SentryLogParameters params) {}
1635
}

0 commit comments

Comments
 (0)