Skip to content

Adding a built-in profiler #3901

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Adding a built-in profiler #3901

wants to merge 1 commit into from

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.

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.

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.

2 participants