From 0d9f92c0ffe0e49e8fe3f14c6e0456efd4360d09 Mon Sep 17 00:00:00 2001 From: Omar Aloraini Date: Sat, 18 May 2024 00:41:55 +0300 Subject: [PATCH] Add data fetching environment hint to breadcrumb (#3413) --- .../main/java/io/sentry/graphql/SentryInstrumentation.java | 6 +++++- sentry/src/main/java/io/sentry/TypeCheckHint.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sentry-graphql/src/main/java/io/sentry/graphql/SentryInstrumentation.java b/sentry-graphql/src/main/java/io/sentry/graphql/SentryInstrumentation.java index d2d62c99d8..fd34d2914b 100644 --- a/sentry-graphql/src/main/java/io/sentry/graphql/SentryInstrumentation.java +++ b/sentry-graphql/src/main/java/io/sentry/graphql/SentryInstrumentation.java @@ -24,6 +24,8 @@ import io.sentry.Sentry; import io.sentry.SentryIntegrationPackageStorage; import io.sentry.SpanStatus; +import io.sentry.Hint; +import io.sentry.TypeCheckHint; import io.sentry.util.StringUtils; import java.util.ArrayList; import java.util.Arrays; @@ -293,13 +295,15 @@ private boolean isIgnored(final @Nullable String errorType) { return environment -> { final @Nullable ExecutionStepInfo executionStepInfo = environment.getExecutionStepInfo(); if (executionStepInfo != null) { + Hint hint = new Hint(); + hint.set(TypeCheckHint.GRAPHQL_DATA_FETCHING_ENVIRONMENT, environment); hubFromContext(parameters.getExecutionContext().getGraphQLContext()) .addBreadcrumb( Breadcrumb.graphqlDataFetcher( StringUtils.toString(executionStepInfo.getPath()), GraphqlStringUtils.fieldToString(executionStepInfo.getField()), GraphqlStringUtils.typeToString(executionStepInfo.getType()), - GraphqlStringUtils.objectTypeToString(executionStepInfo.getObjectType()))); + GraphqlStringUtils.objectTypeToString(executionStepInfo.getObjectType())), hint); } final TracingState tracingState = parameters.getInstrumentationState(); final ISpan transaction = tracingState.getTransaction(); diff --git a/sentry/src/main/java/io/sentry/TypeCheckHint.java b/sentry/src/main/java/io/sentry/TypeCheckHint.java index e9d219c385..cbe784db5b 100644 --- a/sentry/src/main/java/io/sentry/TypeCheckHint.java +++ b/sentry/src/main/java/io/sentry/TypeCheckHint.java @@ -55,6 +55,9 @@ public final class TypeCheckHint { /** Used for GraphQl handler exceptions. */ public static final String GRAPHQL_HANDLER_PARAMETERS = "graphql:handlerParameters"; + /** Used for GraphQl data fetcher breadcrumbs. */ + public static final String GRAPHQL_DATA_FETCHING_ENVIRONMENT = "graphql:dataFetchingEnvironment"; + /** Used for JUL breadcrumbs. */ public static final String JUL_LOG_RECORD = "jul:logRecord";