You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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,
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
The text was updated successfully, but these errors were encountered:
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
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,
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
The text was updated successfully, but these errors were encountered: