{{ message }}
adding Profiler#3976
Merged
dondonz merged 30 commits intoJul 21, 2025
Merged
Conversation
Contributor
Test Results 324 files 324 suites 4m 16s ⏱️ Results for commit 572090e. ♻️ This comment has been updated with latest results. |
Sorry, something went wrong.
# Conflicts: # src/main/java/graphql/execution/instrumentation/dataloader/PerLevelDataLoaderDispatchStrategy.java # src/main/java/graphql/schema/DataFetchingEnvironmentImpl.java
# Conflicts: # src/main/java/graphql/EngineRunningState.java # src/main/java/graphql/ExecutionInput.java # src/main/java/graphql/GraphQL.java # src/main/java/graphql/execution/ExecutionContext.java # src/test/groovy/graphql/execution/AsyncExecutionStrategyTest.groovy # src/test/groovy/graphql/execution/AsyncSerialExecutionStrategyTest.groovy # src/test/groovy/graphql/execution/ExecutionStrategyTest.groovy # src/test/groovy/graphql/execution/instrumentation/fieldvalidation/FieldValidationTest.groovy
dondonz
reviewed
Jul 17, 2025
dondonz
reviewed
Jul 17, 2025
dondonz
reviewed
Jul 17, 2025
dondonz
reviewed
Jul 17, 2025
dondonz
reviewed
Jul 18, 2025
dondonz
approved these changes
Jul 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.
While we recently added a Java agent to profile a GraphQL Java application the following things became clear:
Java agents are not the future of the JVM: soon a dynamic loading will be forbidden. See https://openjdk.org/jeps/451
We added the ability to track the engine running state
We added the ability to chain DataLoaders, which as a side effect allow for tracking which dataloaders are used by which field / DataFetcher
Together this means Java agents are not really future proof + they are not needed anymore, as we have all the abilities now inside GraphQL Java directly itself.
The goal is to remove the Java agent eventually and offer a better alternative in form of this PR: a built-in Profiler in GraphQL Java.
A Profiler is enabled per execution (request) and will collect with very minimal overhead all relevant informations to understand the performance and execution. The result will be made available via GraphQLContext.