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
1 change: 1 addition & 0 deletions sentry/api/sentry.api
Original file line number Diff line number Diff line change
Expand Up @@ -2955,6 +2955,7 @@ public final class io/sentry/SentryEnvelopeItem {
public fun getEvent (Lio/sentry/ISerializer;)Lio/sentry/SentryEvent;
public fun getHeader ()Lio/sentry/SentryEnvelopeItemHeader;
public fun getLogs (Lio/sentry/ISerializer;)Lio/sentry/SentryLogEvents;
public fun getMetrics (Lio/sentry/ISerializer;)Lio/sentry/SentryMetricsEvents;
public fun getTransaction (Lio/sentry/ISerializer;)Lio/sentry/protocol/SentryTransaction;
}

Expand Down
1 change: 1 addition & 0 deletions sentry/src/main/java/io/sentry/JsonSerializer.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ public JsonSerializer(@NotNull SentryOptions options) {
deserializersByClass.put(SentryLevel.class, new SentryLevel.Deserializer());
deserializersByClass.put(SentryLockReason.class, new SentryLockReason.Deserializer());
deserializersByClass.put(SentryLogEvents.class, new SentryLogEvents.Deserializer());
deserializersByClass.put(SentryMetricsEvents.class, new SentryMetricsEvents.Deserializer());
deserializersByClass.put(SentryPackage.class, new SentryPackage.Deserializer());
deserializersByClass.put(SentryRuntime.class, new SentryRuntime.Deserializer());
deserializersByClass.put(SentryReplayEvent.class, new SentryReplayEvent.Deserializer());
Expand Down
11 changes: 11 additions & 0 deletions sentry/src/main/java/io/sentry/SentryEnvelopeItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,17 @@ public final class SentryEnvelopeItem {
}
}

public @Nullable SentryMetricsEvents getMetrics(final @NotNull ISerializer serializer)
throws Exception {
if (header == null || header.getType() != SentryItemType.TraceMetric) {
return null;
}
try (final Reader eventReader =
new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getData()), UTF_8))) {
return serializer.deserialize(eventReader, SentryMetricsEvents.class);
}
}

public static SentryEnvelopeItem fromUserFeedback(
final @NotNull ISerializer serializer, final @NotNull UserFeedback userFeedback) {
Objects.requireNonNull(serializer, "ISerializer is required.");
Expand Down
Loading