When I was trying to optimize the speed of the latest GraphQL service I was working on, I wanted to get an idea of the impact my changes were having. I searched around for a profiling tool for GraphQL and couldn't find one except for the Apollo trace tool, except that locks you into using Apollo. I wanted a free to use plugin that could be expanded further than Apollo. Thus graphql-request-profiler was born.
It's a small TypeScript plugin for GraphQL servers to trace and visualize resolver execution time. The plugin currently supports express-graphql and Apollo servers.
It can be used to identify areas of a graph that are slow and ripe for optimization, or taking historical measures of query performance at a granular level with a CICD pipeline.
Getting started is as easy as installing with your preferred package manager, and adding two lines of code. Send a request using the plugins nifty CLI companion tool and VOILA -- out comes an easy-to-read waterfall chart visualization of the returned trace data.
I hope someone here finds it helpful! I would love to hear your feedback!
4 comments
[ 2.7 ms ] story [ 19.8 ms ] threadIt's a small TypeScript plugin for GraphQL servers to trace and visualize resolver execution time. The plugin currently supports express-graphql and Apollo servers.
It can be used to identify areas of a graph that are slow and ripe for optimization, or taking historical measures of query performance at a granular level with a CICD pipeline.
Getting started is as easy as installing with your preferred package manager, and adding two lines of code. Send a request using the plugins nifty CLI companion tool and VOILA -- out comes an easy-to-read waterfall chart visualization of the returned trace data.
I hope someone here finds it helpful! I would love to hear your feedback!
The package is very easy to integrate. Nice work!