elastic / elastic/apm-agent-java
More native support for calling and implementing the GraphQL APIs
- Dominant language
- Java
- Stars
- 594
- Forks
- 338
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 25
Description
When implementing a GraphQL API, there should be a way to create separate transactions dynamically for each Resolver method. At the moment, the agent creates one transaction for all the calls to GraphQL API. I understand it is possible to use `@CaptureTransaction` annotations, but it requires not having an active transaction in flight, which needs the autodiscovery to be switched off, and that is not ideal.
When invoking a GraphQL API from Java, the Spans should contain the GraphQL expression similar to how JDBC calls are being represented in the UI with their respective SQL statement visible. GraphQL expression is visible in the request but requires capturing request bodies, which has performance impact.
Contributor guide
Assessment
This issue has not been assessed yet.