Skip to content

Conversation

@andimarek
Copy link
Member

@andimarek andimarek commented Apr 6, 2025

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 PRs: 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.

This PR is just a draft at the moment. Once #3872 it can be fully developed.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 6, 2025

Test Results

  313 files    313 suites   54s ⏱️
3 586 tests 3 556 ✅ 5 💤 25 ❌
3 675 runs  3 645 ✅ 5 💤 25 ❌

For more details on these failures, see this check.

Results for commit 6a29b08.

@andimarek
Copy link
Member Author

Superseded by #3976

@andimarek andimarek closed this May 19, 2025
@dondonz dondonz removed this from the 25.x breaking changes milestone Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants