Skip to content

Commit 236a3a8

Browse files
authored
Merge pull request #4988 from getsentry/12-18-metrics_distribution_api
feat(metrics): [Trace Metrics 9] Metrics Distribution API
2 parents 2d8889f + 661415a commit 236a3a8

File tree

4 files changed

+54
-1
lines changed

4 files changed

+54
-1
lines changed

sentry/api/sentry.api

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5210,6 +5210,9 @@ public abstract interface class io/sentry/metrics/IMetricsApi {
52105210
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
52115211
public abstract fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52125212
public abstract fun count (Ljava/lang/String;Ljava/lang/String;)V
5213+
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
5214+
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5215+
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52135216
}
52145217

52155218
public abstract interface class io/sentry/metrics/IMetricsBatchProcessor {
@@ -5229,6 +5232,9 @@ public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi
52295232
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
52305233
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52315234
public fun count (Ljava/lang/String;Ljava/lang/String;)V
5235+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
5236+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5237+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52325238
}
52335239

52345240
public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetricsBatchProcessor {
@@ -5248,6 +5254,9 @@ public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetrics
52485254
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
52495255
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52505256
public fun count (Ljava/lang/String;Ljava/lang/String;)V
5257+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
5258+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
5259+
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
52515260
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
52525261
}
52535262

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,17 @@ void count(
2020
final @Nullable String unit,
2121
final @NotNull SentryLogParameters params);
2222

23-
// distribution
23+
void distribution(final @NotNull String name, final @Nullable Double value);
24+
25+
void distribution(
26+
final @NotNull String name, final @Nullable Double value, final @Nullable String unit);
27+
28+
void distribution(
29+
final @NotNull String name,
30+
final @Nullable Double value,
31+
final @Nullable String unit,
32+
final @NotNull SentryLogParameters params);
33+
2434
// gauge
2535
//
2636
}

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,26 @@ public void count(
6262
captureMetrics(params, name, "counter", value, unit);
6363
}
6464

65+
@Override
66+
public void distribution(final @NotNull String name, final @Nullable Double value) {
67+
captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, null);
68+
}
69+
70+
@Override
71+
public void distribution(
72+
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
73+
captureMetrics(SentryLogParameters.create(null, null), name, "distribution", value, unit);
74+
}
75+
76+
@Override
77+
public void distribution(
78+
final @NotNull String name,
79+
final @Nullable Double value,
80+
final @Nullable String unit,
81+
final @NotNull SentryLogParameters params) {
82+
captureMetrics(params, name, "distribution", value, unit);
83+
}
84+
6585
@SuppressWarnings("AnnotateFormatMethod")
6686
private void captureMetrics(
6787
final @NotNull SentryLogParameters params,

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,18 @@ public void count(
3232
final @Nullable Double value,
3333
final @Nullable String unit,
3434
final @NotNull SentryLogParameters params) {}
35+
36+
@Override
37+
public void distribution(final @NotNull String name, final @Nullable Double value) {}
38+
39+
@Override
40+
public void distribution(
41+
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {}
42+
43+
@Override
44+
public void distribution(
45+
final @NotNull String name,
46+
final @Nullable Double value,
47+
final @Nullable String unit,
48+
final @NotNull SentryLogParameters params) {}
3549
}

0 commit comments

Comments
 (0)