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
12 changes: 12 additions & 0 deletions sentry/api/sentry.api
Original file line number Diff line number Diff line change
Expand Up @@ -5202,6 +5202,10 @@ public final class io/sentry/metrics/DefaultMetricsBatchProcessorFactory : io/se

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

public abstract interface class io/sentry/metrics/IMetricsBatchProcessor {
Expand All @@ -5217,6 +5221,10 @@ public abstract interface class io/sentry/metrics/IMetricsBatchProcessorFactory
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 fun count (Ljava/lang/String;Ljava/lang/Double;)V
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public fun count (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public fun count (Ljava/lang/String;Ljava/lang/String;)V
}

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

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

Expand Down
17 changes: 16 additions & 1 deletion sentry/src/main/java/io/sentry/metrics/IMetricsApi.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,25 @@
package io.sentry.metrics;

import io.sentry.logger.SentryLogParameters;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public interface IMetricsApi {

void count(@NotNull final String name);
void count(final @NotNull String name);

void count(final @NotNull String name, final @Nullable Double value);

void count(final @NotNull String name, final @Nullable String unit);

void count(final @NotNull String name, final @Nullable Double value, final @Nullable String unit);

void count(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params);

// distribution
// gauge
//
Expand Down
33 changes: 30 additions & 3 deletions sentry/src/main/java/io/sentry/metrics/MetricsApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,42 @@ public MetricsApi(final @NotNull Scopes scopes) {
}

@Override
public void count(@NotNull String name) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0);
public void count(final @NotNull String name) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, null);
}

@Override
public void count(final @NotNull String name, final @Nullable Double value) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, null);
}

@Override
public void count(final @NotNull String name, final @Nullable String unit) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, unit);
}

@Override
public void count(
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", value, unit);
}

@Override
public void count(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params) {
captureMetrics(params, name, "counter", value, unit);
}

@SuppressWarnings("AnnotateFormatMethod")
private void captureMetrics(
final @NotNull SentryLogParameters params,
final @Nullable String name,
final @Nullable String type,
final @Nullable Double value) {
final @Nullable Double value,
final @Nullable String unit) {
final @NotNull SentryOptions options = scopes.getOptions();
try {
if (!scopes.isEnabled()) {
Expand Down Expand Up @@ -90,6 +116,7 @@ private void captureMetrics(
final SentryMetricsEvent metricsEvent =
new SentryMetricsEvent(traceId, timestampToUse, name, type, value);
metricsEvent.setSpanId(spanId);
metricsEvent.setUnit(unit);
metricsEvent.setAttributes(createAttributes(params));

scopes.getClient().captureMetric(metricsEvent, combinedScope);
Expand Down
21 changes: 20 additions & 1 deletion sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package io.sentry.metrics;

import io.sentry.logger.SentryLogParameters;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

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

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

@Override
public void count(final @NotNull String name, final @Nullable Double value) {}

@Override
public void count(final @NotNull String name, final @Nullable String unit) {}

@Override
public void count(
final @NotNull String name, final @Nullable Double value, final @Nullable String unit) {}

@Override
public void count(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params) {}
}
Loading