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
30 changes: 21 additions & 9 deletions sentry/api/sentry.api
Original file line number Diff line number Diff line change
Expand Up @@ -5211,14 +5211,14 @@ 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/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public abstract fun count (Ljava/lang/String;Ljava/lang/String;)V
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public abstract fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public abstract fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
}

public abstract interface class io/sentry/metrics/IMetricsBatchProcessor {
Expand All @@ -5236,14 +5236,14 @@ public final class io/sentry/metrics/MetricsApi : 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/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public fun count (Ljava/lang/String;Ljava/lang/String;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
}

public class io/sentry/metrics/MetricsBatchProcessor : io/sentry/metrics/IMetricsBatchProcessor {
Expand All @@ -5261,14 +5261,14 @@ public final class io/sentry/metrics/NoOpMetricsApi : io/sentry/metrics/IMetrics
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/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public fun count (Ljava/lang/String;Ljava/lang/String;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public fun distribution (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/logger/SentryLogParameters;)V
public fun gauge (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/metrics/SentryMetricsParameters;)V
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsApi;
}

Expand All @@ -5279,6 +5279,18 @@ public final class io/sentry/metrics/NoOpMetricsBatchProcessor : io/sentry/metri
public static fun getInstance ()Lio/sentry/metrics/NoOpMetricsBatchProcessor;
}

public final class io/sentry/metrics/SentryMetricsParameters {
public fun <init> ()V
public static fun create (Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters;
public static fun create (Lio/sentry/SentryDate;Lio/sentry/SentryAttributes;)Lio/sentry/metrics/SentryMetricsParameters;
public fun getAttributes ()Lio/sentry/SentryAttributes;
public fun getOrigin ()Ljava/lang/String;
public fun getTimestamp ()Lio/sentry/SentryDate;
public fun setAttributes (Lio/sentry/SentryAttributes;)V
public fun setOrigin (Ljava/lang/String;)V
public fun setTimestamp (Lio/sentry/SentryDate;)V
}

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

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

Expand All @@ -18,7 +17,7 @@ void count(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params);
final @NotNull SentryMetricsParameters params);

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

Expand All @@ -29,7 +28,7 @@ void distribution(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params);
final @NotNull SentryMetricsParameters params);

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

Expand All @@ -39,5 +38,5 @@ void gauge(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params);
final @NotNull SentryMetricsParameters params);
}
27 changes: 13 additions & 14 deletions sentry/src/main/java/io/sentry/metrics/MetricsApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import io.sentry.SentryMetricsEvent;
import io.sentry.SentryOptions;
import io.sentry.SpanId;
import io.sentry.logger.SentryLogParameters;
import io.sentry.protocol.SdkVersion;
import io.sentry.protocol.SentryId;
import io.sentry.protocol.User;
Expand All @@ -34,77 +33,77 @@ public MetricsApi(final @NotNull Scopes scopes) {

@Override
public void count(final @NotNull String name) {
captureMetrics(SentryLogParameters.create(null, null), name, "counter", 1.0, null);
captureMetrics(SentryMetricsParameters.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);
captureMetrics(SentryMetricsParameters.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);
captureMetrics(SentryMetricsParameters.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);
captureMetrics(SentryMetricsParameters.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) {
final @NotNull SentryMetricsParameters params) {
captureMetrics(params, name, "counter", value, unit);
}

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

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

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

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

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

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

@SuppressWarnings("AnnotateFormatMethod")
private void captureMetrics(
final @NotNull SentryLogParameters params,
final @NotNull SentryMetricsParameters params,
final @Nullable String name,
final @Nullable String type,
final @Nullable Double value,
Expand Down Expand Up @@ -166,7 +165,7 @@ private void captureMetrics(
}

private @NotNull HashMap<String, SentryLogEventAttributeValue> createAttributes(
final @NotNull SentryLogParameters params) {
final @NotNull SentryMetricsParameters params) {
final @NotNull HashMap<String, SentryLogEventAttributeValue> attributes = new HashMap<>();
final @NotNull String origin = params.getOrigin();
if (!"manual".equalsIgnoreCase(origin)) {
Expand Down
7 changes: 3 additions & 4 deletions sentry/src/main/java/io/sentry/metrics/NoOpMetricsApi.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package io.sentry.metrics;

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

Expand Down Expand Up @@ -31,7 +30,7 @@ public void count(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params) {}
final @NotNull SentryMetricsParameters params) {}

@Override
public void distribution(final @NotNull String name, final @Nullable Double value) {}
Expand All @@ -45,7 +44,7 @@ public void distribution(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params) {}
final @NotNull SentryMetricsParameters params) {}

@Override
public void gauge(final @NotNull String name, final @Nullable Double value) {}
Expand All @@ -59,5 +58,5 @@ public void gauge(
final @NotNull String name,
final @Nullable Double value,
final @Nullable String unit,
final @NotNull SentryLogParameters params) {}
final @NotNull SentryMetricsParameters params) {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package io.sentry.metrics;

import io.sentry.SentryAttributes;
import io.sentry.SentryDate;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public final class SentryMetricsParameters {

private @Nullable SentryDate timestamp;
private @Nullable SentryAttributes attributes;
private @NotNull String origin = "manual";

public @Nullable SentryDate getTimestamp() {
return timestamp;
}

public void setTimestamp(final @Nullable SentryDate timestamp) {
this.timestamp = timestamp;
}

public @Nullable SentryAttributes getAttributes() {
return attributes;
}

public void setAttributes(final @Nullable SentryAttributes attributes) {
this.attributes = attributes;
}

public @NotNull String getOrigin() {
return origin;
}

public void setOrigin(final @NotNull String origin) {
this.origin = origin;
}

public static @NotNull SentryMetricsParameters create(
final @Nullable SentryDate timestamp, final @Nullable SentryAttributes attributes) {
final @NotNull SentryMetricsParameters params = new SentryMetricsParameters();

params.setTimestamp(timestamp);
params.setAttributes(attributes);

return params;
}

public static @NotNull SentryMetricsParameters create(
final @Nullable SentryAttributes attributes) {
return create(null, attributes);
}
}
21 changes: 11 additions & 10 deletions sentry/src/test/java/io/sentry/ScopesTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import io.sentry.clientreport.DiscardedEvent
import io.sentry.hints.SessionEndHint
import io.sentry.hints.SessionStartHint
import io.sentry.logger.SentryLogParameters
import io.sentry.metrics.SentryMetricsParameters
import io.sentry.protocol.Feedback
import io.sentry.protocol.SentryId
import io.sentry.protocol.SentryTransaction
Expand Down Expand Up @@ -3217,7 +3218,7 @@ class ScopesTest {

sut
.metrics()
.count("metric name", 1.0, "visit", SentryLogParameters().also { it.origin = "other" })
.count("metric name", 1.0, "visit", SentryMetricsParameters().also { it.origin = "other" })

verify(mockClient)
.captureMetric(
Expand Down Expand Up @@ -3295,7 +3296,7 @@ class ScopesTest {
"metric name",
1.0,
"visit",
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
)

verify(mockClient)
Expand Down Expand Up @@ -3324,7 +3325,7 @@ class ScopesTest {
"metric name",
1.0,
"visit",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryAttributes.of(
SentryAttribute.stringAttribute("strattr", "strval"),
SentryAttribute.booleanAttribute("boolattr", true),
Expand Down Expand Up @@ -3392,7 +3393,7 @@ class ScopesTest {
"metric name",
1.0,
"visit",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryLongDate(123),
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
),
Expand Down Expand Up @@ -3459,7 +3460,7 @@ class ScopesTest {
"metric name",
3.7,
"ms",
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
)

verify(mockClient)
Expand Down Expand Up @@ -3488,7 +3489,7 @@ class ScopesTest {
"metric name",
3.7,
"ms",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryAttributes.of(
SentryAttribute.stringAttribute("strattr", "strval"),
SentryAttribute.booleanAttribute("boolattr", true),
Expand Down Expand Up @@ -3556,7 +3557,7 @@ class ScopesTest {
"metric name",
3.7,
"ms",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryLongDate(123),
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
),
Expand Down Expand Up @@ -3623,7 +3624,7 @@ class ScopesTest {
"metric name",
256.0,
"byte",
SentryLogParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
SentryMetricsParameters.create(SentryAttributes.fromMap(mapOf("attrname1" to "attrval1"))),
)

verify(mockClient)
Expand Down Expand Up @@ -3652,7 +3653,7 @@ class ScopesTest {
"metric name",
256.0,
"byte",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryAttributes.of(
SentryAttribute.stringAttribute("strattr", "strval"),
SentryAttribute.booleanAttribute("boolattr", true),
Expand Down Expand Up @@ -3720,7 +3721,7 @@ class ScopesTest {
"metric name",
256.0,
"byte",
SentryLogParameters.create(
SentryMetricsParameters.create(
SentryLongDate(123),
SentryAttributes.of(SentryAttribute.named("attrname1", "attrval1")),
),
Expand Down
Loading