A GraphQL extension for performance tracing that adds resolver-level timing data to GraphQL responses.
Apollo Tracing is a GraphQL extension that adds performance tracing capabilities to GraphQL servers by embedding resolver-level timing data in query responses. It captures detailed metrics like parsing, validation, and execution times, helping developers analyze and optimize GraphQL API performance. The extension uses the standard GraphQL extensions field to include trace information without breaking existing clients.
GraphQL server developers and API engineers who need to monitor and debug performance bottlenecks in their GraphQL implementations across various programming languages.
Developers choose Apollo Tracing for its standardized format, wide language support, and seamless integration with GraphQL responses, enabling performance insights without external tooling dependencies. It provides granular resolver timing directly in the API response, simplifying performance analysis.
A GraphQL extension for performance tracing
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Embeds performance data directly in GraphQL responses under extensions.tracing, adhering to the GraphQL spec's extension field for seamless tooling integration without external dependencies.
Works with popular GraphQL servers in Node.js, Python, Ruby, Scala, Java, Elixir, .NET, PHP, and Go, as detailed in the README's supported servers list.
Captures nanosecond-level timing for each resolver, parsing, and validation phase using monotonic clocks, providing detailed insights into query execution bottlenecks.
The project was archived in 2023, with Apollo noting the flat list trace format is inefficient enough to impact server performance, leading to retirement in favor of alternatives like Apollo Studio or OpenTelemetry.
Lacks support for aggregation, advanced analytics, or compatibility with contemporary monitoring tools, as engineproxy was retired and Apollo Server v3 dropped support.
Adds trace data to GraphQL responses, increasing size; while compression is recommended, the README admits this adds processing overhead and doesn't fully mitigate inefficiencies.