Replies: 1 comment 2 replies
-
is there an example app to recreate this? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We have recently switched to ExpediaGroups GraphQL after migrating a Kotlin REST based service to GraphQL.
Since switching our Jaeger Traces show gaps before and after the last database query / span is created:
There is no computation heavy work done before or after performing the aforementinoned database queries besides trivial entity -> DTO mapping. An initial investigation via VisualVM has shown no obvious hotspots but we are losing an overall of 3-6ms in a local environment (dev, prod suffer even more) which increases the overall response time by 100%.
We are at a loss where to go from here: Is it a WebFlux issue? Is it a issue in regards to this library? We are executing all of our logic in a separate ThreadPool which is not saturated (these results are present for one client non-concurrently calling our GraphQL endpoint) so we shouldn't block the event loop of Netty (even if we did: it shouldn't create those "gaps" if my understanding of Webflux is correct).
I am looking for a way to further investigate this issue or any configuration knobs.
The "gaps" in between the database calls have been identified to be framework related and can be circumvented by restructuring our code, the head and tail "gaps" cannot be accounted for in profilers / worked around. Furthermore we are not losing any tracing related information across thread boundaries, that has been accounted for.
Additional information:
suspend fun
Beta Was this translation helpful? Give feedback.
All reactions