elastic / elastic/apm-agent-java

More native support for calling and implementing the GraphQL APIs

Open
#1,297 1 comment 6 reactions 0 assignees View on GitHub
enhancement instrumentation
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.