Skip to content

Commit 5bfa70b

Browse files
committed
MetricsApi stub
1 parent 3513eaa commit 5bfa70b

File tree

12 files changed

+118
-0
lines changed

12 files changed

+118
-0
lines changed

sentry/api/sentry.api

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,7 @@ public final class io/sentry/HubAdapter : io/sentry/IHub {
661661
public fun isHealthy ()Z
662662
public fun logger ()Lio/sentry/logger/ILoggerApi;
663663
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
664+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
664665
public fun popScope ()V
665666
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
666667
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -732,6 +733,7 @@ public final class io/sentry/HubScopesWrapper : io/sentry/IHub {
732733
public fun isHealthy ()Z
733734
public fun logger ()Lio/sentry/logger/ILoggerApi;
734735
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
736+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
735737
public fun popScope ()V
736738
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
737739
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -992,6 +994,7 @@ public abstract interface class io/sentry/IScopes {
992994
public fun isNoOp ()Z
993995
public abstract fun logger ()Lio/sentry/logger/ILoggerApi;
994996
public abstract fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
997+
public abstract fun metrics ()Lio/sentry/metrics/IMetricsApi;
995998
public abstract fun popScope ()V
996999
public abstract fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
9971000
public abstract fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -1565,6 +1568,7 @@ public final class io/sentry/NoOpHub : io/sentry/IHub {
15651568
public fun isNoOp ()Z
15661569
public fun logger ()Lio/sentry/logger/ILoggerApi;
15671570
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
1571+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
15681572
public fun popScope ()V
15691573
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
15701574
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -1741,6 +1745,7 @@ public final class io/sentry/NoOpScopes : io/sentry/IScopes {
17411745
public fun isNoOp ()Z
17421746
public fun logger ()Lio/sentry/logger/ILoggerApi;
17431747
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
1748+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
17441749
public fun popScope ()V
17451750
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
17461751
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -2456,6 +2461,7 @@ public final class io/sentry/Scopes : io/sentry/IScopes {
24562461
public fun isHealthy ()Z
24572462
public fun logger ()Lio/sentry/logger/ILoggerApi;
24582463
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
2464+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
24592465
public fun popScope ()V
24602466
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
24612467
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -2528,6 +2534,7 @@ public final class io/sentry/ScopesAdapter : io/sentry/IScopes {
25282534
public fun isHealthy ()Z
25292535
public fun logger ()Lio/sentry/logger/ILoggerApi;
25302536
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
2537+
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
25312538
public fun popScope ()V
25322539
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
25332540
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -2648,6 +2655,7 @@ public final class io/sentry/Sentry {
26482655
public static fun isEnabled ()Z
26492656
public static fun isHealthy ()Z
26502657
public static fun logger ()Lio/sentry/logger/ILoggerApi;
2658+
public static fun metrics ()Lio/sentry/metrics/IMetricsApi;
26512659
public static fun popScope ()V
26522660
public static fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
26532661
public static fun pushScope ()Lio/sentry/ISentryLifecycleToken;
@@ -5118,6 +5126,20 @@ public final class io/sentry/logger/SentryLogParameters {
51185126
public fun setTimestamp (Lio/sentry/SentryDate;)V
51195127
}
51205128

5129+
public abstract interface class io/sentry/metrics/IMetricsApi {
5130+
public abstract fun count (Ljava/lang/String;)V
5131+
}
5132+
5133+
public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi {
5134+
public fun <init> (Lio/sentry/Scopes;)V
5135+
public fun count (Ljava/lang/String;)V
5136+
}
5137+
5138+
public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetricsApi {
5139+
public fun count (Ljava/lang/String;)V
5140+
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
5141+
}
5142+
51215143
public final class io/sentry/opentelemetry/OpenTelemetryUtil {
51225144
public fun <init> ()V
51235145
public static fun applyIgnoredSpanOrigins (Lio/sentry/SentryOptions;)V

sentry/src/main/java/io/sentry/HubAdapter.java

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

33
import io.sentry.logger.ILoggerApi;
4+
import io.sentry.metrics.IMetricsApi;
45
import io.sentry.protocol.Feedback;
56
import io.sentry.protocol.SentryId;
67
import io.sentry.protocol.SentryTransaction;
@@ -389,6 +390,11 @@ public void reportFullyDisplayed() {
389390
return Sentry.getCurrentScopes().logger();
390391
}
391392

393+
@Override
394+
public @NotNull IMetricsApi metrics() {
395+
return Sentry.getCurrentScopes().metrics();
396+
}
397+
392398
@Override
393399
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
394400
Sentry.addFeatureFlag(flag, result);

sentry/src/main/java/io/sentry/HubScopesWrapper.java

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

33
import io.sentry.logger.ILoggerApi;
4+
import io.sentry.metrics.IMetricsApi;
45
import io.sentry.protocol.Feedback;
56
import io.sentry.protocol.SentryId;
67
import io.sentry.protocol.SentryTransaction;
@@ -374,6 +375,11 @@ public void reportFullyDisplayed() {
374375
return scopes.logger();
375376
}
376377

378+
@Override
379+
public @NotNull IMetricsApi metrics() {
380+
return scopes.metrics();
381+
}
382+
377383
@Override
378384
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
379385
scopes.addFeatureFlag(flag, result);

sentry/src/main/java/io/sentry/IScopes.java

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

33
import io.sentry.logger.ILoggerApi;
4+
import io.sentry.metrics.IMetricsApi;
45
import io.sentry.protocol.Feedback;
56
import io.sentry.protocol.SentryId;
67
import io.sentry.protocol.SentryTransaction;
@@ -744,5 +745,8 @@ default boolean isNoOp() {
744745
@NotNull
745746
ILoggerApi logger();
746747

748+
@NotNull
749+
IMetricsApi metrics();
750+
747751
void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result);
748752
}

sentry/src/main/java/io/sentry/NoOpHub.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import io.sentry.logger.ILoggerApi;
44
import io.sentry.logger.NoOpLoggerApi;
5+
import io.sentry.metrics.IMetricsApi;
6+
import io.sentry.metrics.NoOpMetricsApi;
57
import io.sentry.protocol.Feedback;
68
import io.sentry.protocol.SentryId;
79
import io.sentry.protocol.SentryTransaction;
@@ -331,6 +333,11 @@ public boolean isNoOp() {
331333
return NoOpLoggerApi.getInstance();
332334
}
333335

336+
@Override
337+
public @NotNull IMetricsApi metrics() {
338+
return NoOpMetricsApi.getInstance();
339+
}
340+
334341
@Override
335342
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {}
336343
}

sentry/src/main/java/io/sentry/NoOpScopes.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import io.sentry.logger.ILoggerApi;
44
import io.sentry.logger.NoOpLoggerApi;
5+
import io.sentry.metrics.IMetricsApi;
6+
import io.sentry.metrics.NoOpMetricsApi;
57
import io.sentry.protocol.Feedback;
68
import io.sentry.protocol.SentryId;
79
import io.sentry.protocol.SentryTransaction;
@@ -329,6 +331,11 @@ public boolean isNoOp() {
329331
return NoOpLoggerApi.getInstance();
330332
}
331333

334+
@Override
335+
public @NotNull IMetricsApi metrics() {
336+
return NoOpMetricsApi.getInstance();
337+
}
338+
332339
@Override
333340
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {}
334341
}

sentry/src/main/java/io/sentry/Scopes.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import io.sentry.hints.SessionStartHint;
66
import io.sentry.logger.ILoggerApi;
77
import io.sentry.logger.LoggerApi;
8+
import io.sentry.metrics.IMetricsApi;
9+
import io.sentry.metrics.MetricsApi;
810
import io.sentry.protocol.*;
911
import io.sentry.transport.RateLimiter;
1012
import io.sentry.util.HintUtils;
@@ -31,6 +33,7 @@ public final class Scopes implements IScopes {
3133

3234
private final @NotNull CombinedScopeView combinedScope;
3335
private final @NotNull ILoggerApi logger;
36+
private final @NotNull IMetricsApi metrics;
3437

3538
public Scopes(
3639
final @NotNull IScope scope,
@@ -57,6 +60,7 @@ private Scopes(
5760
validateOptions(options);
5861
this.compositePerformanceCollector = options.getCompositePerformanceCollector();
5962
this.logger = new LoggerApi(this);
63+
this.metrics = new MetricsApi(this);
6064
}
6165

6266
public @NotNull String getCreator() {
@@ -1220,6 +1224,11 @@ public void reportFullyDisplayed() {
12201224
return logger;
12211225
}
12221226

1227+
@Override
1228+
public @NotNull IMetricsApi metrics() {
1229+
return metrics;
1230+
}
1231+
12231232
@Override
12241233
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
12251234
combinedScope.addFeatureFlag(flag, result);

sentry/src/main/java/io/sentry/ScopesAdapter.java

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

33
import io.sentry.logger.ILoggerApi;
4+
import io.sentry.metrics.IMetricsApi;
45
import io.sentry.protocol.Feedback;
56
import io.sentry.protocol.SentryId;
67
import io.sentry.protocol.SentryTransaction;
@@ -386,6 +387,11 @@ public void reportFullyDisplayed() {
386387
return Sentry.getCurrentScopes().logger();
387388
}
388389

390+
@Override
391+
public @NotNull IMetricsApi metrics() {
392+
return Sentry.getCurrentScopes().metrics();
393+
}
394+
389395
@Override
390396
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
391397
Sentry.addFeatureFlag(flag, result);

sentry/src/main/java/io/sentry/Sentry.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import io.sentry.internal.modules.NoOpModulesLoader;
1515
import io.sentry.internal.modules.ResourcesModulesLoader;
1616
import io.sentry.logger.ILoggerApi;
17+
import io.sentry.metrics.IMetricsApi;
1718
import io.sentry.opentelemetry.OpenTelemetryUtil;
1819
import io.sentry.protocol.Feedback;
1920
import io.sentry.protocol.SentryId;
@@ -1344,6 +1345,11 @@ public static IDistributionApi distribution() {
13441345
return getCurrentScopes().getScope().getOptions().getDistributionController();
13451346
}
13461347

1348+
@NotNull
1349+
public static IMetricsApi metrics() {
1350+
return getCurrentScopes().metrics();
1351+
}
1352+
13471353
public static void showUserFeedbackDialog() {
13481354
showUserFeedbackDialog(null);
13491355
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.sentry.metrics;
2+
3+
import org.jetbrains.annotations.NotNull;
4+
5+
public interface IMetricsApi {
6+
7+
void count(@NotNull final String name);
8+
// distribution
9+
// gauge
10+
//
11+
}

0 commit comments

Comments
 (0)