Skip to content

Commit

Permalink
Add data fetching environment hint to breadcrumb (getsentry#3413)
Browse files Browse the repository at this point in the history
  • Loading branch information
ooraini committed May 17, 2024
1 parent 619c9b9 commit 0d9f92c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();
Expand Down
3 changes: 3 additions & 0 deletions sentry/src/main/java/io/sentry/TypeCheckHint.java
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down

0 comments on commit 0d9f92c

Please sign in to comment.