Skip to content
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

graphql java instrumentation impacting application throughput #6706

Open
samuelAndalon opened this issue Feb 21, 2024 · 0 comments
Open

graphql java instrumentation impacting application throughput #6706

samuelAndalon opened this issue Feb 21, 2024 · 0 comments
Labels
inst: others All other instrumentations tag: performance Performance related changes

Comments

@samuelAndalon
Copy link

samuelAndalon commented Feb 21, 2024

Hello, recently discovered that graphql-java instrumentation was causing performance degradation on our applications, the reason, the instrumentation will create an span for every single field present in a graphQL operation, some operations could be really big, and most of those fields are resolving data that is already in memory, so having metrics for those spans doesn't make sense.

After disabling this integration we started to see an overall improvement in our applications,
image

here we can see that the performance improvement matches with disabling the graphql-java integration.

We need to be very careful when creating spans, as the tracer agent will use application resources to store those objects, then serialize them and finally send them to the agent.

However, when we turned off the graphql-java integration we lost spans for some useful spans, like parse, validate, execution so had to create a custom instrumentation to only create those.

It would be great if we can configure the tracer agent to create only certain spans for graphql-java

@samuelAndalon samuelAndalon changed the title graphql java instrumentation causing garbage collection minor collection time to blow up graphql java instrumentation impacting application throughput Feb 21, 2024
@PerfectSlayer PerfectSlayer added inst: others All other instrumentations tag: performance Performance related changes labels Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: others All other instrumentations tag: performance Performance related changes
Projects
None yet
Development

No branches or pull requests

2 participants