Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions sentry/api/sentry.api
Original file line number Diff line number Diff line change
Expand Up @@ -661,6 +661,7 @@ public final class io/sentry/HubAdapter : io/sentry/IHub {
public fun isHealthy ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -732,6 +733,7 @@ public final class io/sentry/HubScopesWrapper : io/sentry/IHub {
public fun isHealthy ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -992,6 +994,7 @@ public abstract interface class io/sentry/IScopes {
public fun isNoOp ()Z
public abstract fun logger ()Lio/sentry/logger/ILoggerApi;
public abstract fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public abstract fun metrics ()Lio/sentry/metrics/IMetricsApi;
public abstract fun popScope ()V
public abstract fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public abstract fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -1565,6 +1568,7 @@ public final class io/sentry/NoOpHub : io/sentry/IHub {
public fun isNoOp ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -1741,6 +1745,7 @@ public final class io/sentry/NoOpScopes : io/sentry/IScopes {
public fun isNoOp ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -2456,6 +2461,7 @@ public final class io/sentry/Scopes : io/sentry/IScopes {
public fun isHealthy ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -2528,6 +2534,7 @@ public final class io/sentry/ScopesAdapter : io/sentry/IScopes {
public fun isHealthy ()Z
public fun logger ()Lio/sentry/logger/ILoggerApi;
public fun makeCurrent ()Lio/sentry/ISentryLifecycleToken;
public fun metrics ()Lio/sentry/metrics/IMetricsApi;
public fun popScope ()V
public fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -2648,6 +2655,7 @@ public final class io/sentry/Sentry {
public static fun isEnabled ()Z
public static fun isHealthy ()Z
public static fun logger ()Lio/sentry/logger/ILoggerApi;
public static fun metrics ()Lio/sentry/metrics/IMetricsApi;
public static fun popScope ()V
public static fun pushIsolationScope ()Lio/sentry/ISentryLifecycleToken;
public static fun pushScope ()Lio/sentry/ISentryLifecycleToken;
Expand Down Expand Up @@ -5119,6 +5127,20 @@ public final class io/sentry/logger/SentryLogParameters {
public fun setTimestamp (Lio/sentry/SentryDate;)V
}

public abstract interface class io/sentry/metrics/IMetricsApi {
public abstract fun count (Ljava/lang/String;)V
}

public final class io/sentry/metrics/MetricsApi : io/sentry/metrics/IMetricsApi {
public fun <init> (Lio/sentry/Scopes;)V
public fun count (Ljava/lang/String;)V
}

public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetricsApi {
public fun count (Ljava/lang/String;)V
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
}

public final class io/sentry/opentelemetry/OpenTelemetryUtil {
public fun <init> ()V
public static fun applyIgnoredSpanOrigins (Lio/sentry/SentryOptions;)V
Expand Down
6 changes: 6 additions & 0 deletions sentry/src/main/java/io/sentry/HubAdapter.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.sentry;

import io.sentry.logger.ILoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -389,6 +390,11 @@ public void reportFullyDisplayed() {
return Sentry.getCurrentScopes().logger();
}

@Override
public @NotNull IMetricsApi metrics() {
return Sentry.getCurrentScopes().metrics();
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
Sentry.addFeatureFlag(flag, result);
Expand Down
6 changes: 6 additions & 0 deletions sentry/src/main/java/io/sentry/HubScopesWrapper.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.sentry;

import io.sentry.logger.ILoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -374,6 +375,11 @@ public void reportFullyDisplayed() {
return scopes.logger();
}

@Override
public @NotNull IMetricsApi metrics() {
return scopes.metrics();
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
scopes.addFeatureFlag(flag, result);
Expand Down
4 changes: 4 additions & 0 deletions sentry/src/main/java/io/sentry/IScopes.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.sentry;

import io.sentry.logger.ILoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -744,5 +745,8 @@ default boolean isNoOp() {
@NotNull
ILoggerApi logger();

@NotNull
IMetricsApi metrics();

void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result);
}
7 changes: 7 additions & 0 deletions sentry/src/main/java/io/sentry/NoOpHub.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import io.sentry.logger.ILoggerApi;
import io.sentry.logger.NoOpLoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.metrics.NoOpMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -331,6 +333,11 @@ public boolean isNoOp() {
return NoOpLoggerApi.getInstance();
}

@Override
public @NotNull IMetricsApi metrics() {
return NoOpMetricsApi.getInstance();
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {}
}
7 changes: 7 additions & 0 deletions sentry/src/main/java/io/sentry/NoOpScopes.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import io.sentry.logger.ILoggerApi;
import io.sentry.logger.NoOpLoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.metrics.NoOpMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -329,6 +331,11 @@ public boolean isNoOp() {
return NoOpLoggerApi.getInstance();
}

@Override
public @NotNull IMetricsApi metrics() {
return NoOpMetricsApi.getInstance();
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {}
}
9 changes: 9 additions & 0 deletions sentry/src/main/java/io/sentry/Scopes.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import io.sentry.hints.SessionStartHint;
import io.sentry.logger.ILoggerApi;
import io.sentry.logger.LoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.metrics.MetricsApi;
import io.sentry.protocol.*;
import io.sentry.transport.RateLimiter;
import io.sentry.util.HintUtils;
Expand All @@ -31,6 +33,7 @@ public final class Scopes implements IScopes {

private final @NotNull CombinedScopeView combinedScope;
private final @NotNull ILoggerApi logger;
private final @NotNull IMetricsApi metrics;

public Scopes(
final @NotNull IScope scope,
Expand All @@ -57,6 +60,7 @@ private Scopes(
validateOptions(options);
this.compositePerformanceCollector = options.getCompositePerformanceCollector();
this.logger = new LoggerApi(this);
this.metrics = new MetricsApi(this);
}

public @NotNull String getCreator() {
Expand Down Expand Up @@ -1220,6 +1224,11 @@ public void reportFullyDisplayed() {
return logger;
}

@Override
public @NotNull IMetricsApi metrics() {
return metrics;
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
combinedScope.addFeatureFlag(flag, result);
Expand Down
6 changes: 6 additions & 0 deletions sentry/src/main/java/io/sentry/ScopesAdapter.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.sentry;

import io.sentry.logger.ILoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.SentryTransaction;
Expand Down Expand Up @@ -386,6 +387,11 @@ public void reportFullyDisplayed() {
return Sentry.getCurrentScopes().logger();
}

@Override
public @NotNull IMetricsApi metrics() {
return Sentry.getCurrentScopes().metrics();
}

@Override
public void addFeatureFlag(final @Nullable String flag, final @Nullable Boolean result) {
Sentry.addFeatureFlag(flag, result);
Expand Down
6 changes: 6 additions & 0 deletions sentry/src/main/java/io/sentry/Sentry.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import io.sentry.internal.modules.NoOpModulesLoader;
import io.sentry.internal.modules.ResourcesModulesLoader;
import io.sentry.logger.ILoggerApi;
import io.sentry.metrics.IMetricsApi;
import io.sentry.opentelemetry.OpenTelemetryUtil;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
Expand Down Expand Up @@ -1344,6 +1345,11 @@ public static IDistributionApi distribution() {
return getCurrentScopes().getScope().getOptions().getDistributionController();
}

@NotNull
public static IMetricsApi metrics() {
return getCurrentScopes().metrics();
}

public static void showUserFeedbackDialog() {
showUserFeedbackDialog(null);
}
Expand Down
11 changes: 11 additions & 0 deletions sentry/src/main/java/io/sentry/metrics/IMetricsApi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package io.sentry.metrics;

import org.jetbrains.annotations.NotNull;

public interface IMetricsApi {

void count(@NotNull final String name);
// distribution
// gauge
//
}
18 changes: 18 additions & 0 deletions sentry/src/main/java/io/sentry/metrics/MetricsApi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package io.sentry.metrics;

import io.sentry.Scopes;
import org.jetbrains.annotations.NotNull;

public final class MetricsApi implements IMetricsApi {

private final @NotNull Scopes scopes;

public MetricsApi(final @NotNull Scopes scopes) {
this.scopes = scopes;
}

@Override
public void count(@NotNull String name) {
scopes.getOptions();
}
}
16 changes: 16 additions & 0 deletions sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.sentry.metrics;

import org.jetbrains.annotations.NotNull;

public final class NoOpMetricsApi implements IMetricsApi {
private static final NoOpMetricsApi instance = new NoOpMetricsApi();

private NoOpMetricsApi() {}

public static NoOpMetricsApi getInstance() {
return instance;
}

@Override
public void count(@NotNull String name) {}
}
Loading