4 comments

[ 2.7 ms ] story [ 19.8 ms ] thread
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!

The graphql-request-profiler gave us detailed inside where we had to optimize our stack to reach desired performance.

The package is very easy to integrate. Nice work!

We've been doing this manually for some time now. Will have to give this a look.
took it for a spin at univision.. up and running in 5 min... good stuff!