Introducing SpeQL8: easily compare queries across GraphQL API instances.

Allan MacLean
3 min readJun 3, 2021

Presented by Akiko Hagio Dulaney, Ekaterina Vasileva, Allan MacLean, and Russell Hayward

Meet SpeQL8, an app for spinning up multiple GraphQL APIs in parallel from your existing SQL databases, and comparing query response times.

Some folks love hand-rolling their GraphQL schemas, but let’s face it, most of us don’t. And even when we do have multiple schemas ready to be turned into GraphQL APIs, it can often be a chore to test more than one at any given time. SpeQL8 leverages the power of Postgraphile, Apollo Server and Redis to offer up a local developer tool for quickly switching between GraphQL APIs in order to send queries and view their response metrics, all wrapped up in an intuitive GUI.

Got an example?

Sure! Head over to the SpeQL8 repository on Github and dive into the Readme for our quick start guide on how to get started. Now, let’s take it for a spin!

Getting started couldn’t be easier: simply give your database a label, enter your PostgreSQL connection string, and hit the ‘Add Schema’ button. Your freshly created GraphQL API is now waiting for you to select on the right-hand side tabs.

Or fancy testing out some queries with a sample database first? We’ve got you covered with the ever-reliable Star Wars API:

If you’re interested in persisting the response time for a given query, click ‘Save As Comparison’ — and your results will be rendered in the bar chart. But SpeQL8 really comes into its own when you want to examine variations in response time across entirely different schemas, and it’s as easy as selecting a new schema from your tabs, running a query, and examining the results. SpeQL8 makes it easy to contextualize your previous queries by simply hovering over the bars in the graph:

To enable you to grow with confidence, SpeQL8 harnesses the power of Redis to implement an optional server-side cache, all at the click of a button. Simply run your query, save it for comparison in the bar chart, and click ‘Run Query From Cache’. Hovering over your tooltip will now show the time in microseconds Redis took to retreive your results. The call to the cache can be made repeatedly and the the tooltip will update automatically.

And finally, we hope you’re as excited as we are by SpeQL8 — and can’t wait to try it on for size. We know that you may not have your PostgreSQL URIs ready to go at a moment’s notice, so that’s why we’ve accommodated support for .sql and .tar files. Just navigate to the files on your local machine, hit ‘Upload File’ — and you’re good to go!

Contribute

We here at SpeQL8 welcome any collaborations or contributions — so if you have any questions, feedback, or ideas, no matter large or small — we’d love to hear from you! Please reach out to anyone on the team.

Team SpeQL8!

Akiko Hagio Dulaney — Github / LinkedIn

Ekaterina Vasileva — Github / LinkedIn

Allan MacLean — Github / LinkedIn

Russell Hayward — Github / LinkedIn

--

--