Almost every API evolves, GraphQL or otherwise. Evolution can be adding or removing fields, introducing a new type, or simply adding a relationship. In turn, each of these evolutions can lead to further changes of their own, such as introducing pagination to improve performance or using
@deprecated to retire a field.
However your GraphQL API is evolving, to confidently make changes you need the complete context of your graph. To help you do that, we’re introducing four new features to ensure you have a complete picture of your graph, past and present.
To help you understand how your API is used, we’ve built a suite of GraphQL server plugins that automatically collect and report GraphQL metrics. Plugins are available for yoga, apollo, mesh, and graphene, with more on the way. As well, you can perform custom instrumentation with our metrics API.
The server plugin drives the schema-focused features covered in each section below, as well as
Maximum cache hit rate: the potential cacheability of any query your server performs
Often you don’t need to dig deep into your graph, you just need top-level insights into how your graph is operating. That’s why we’ve built Schema Insights, the quickest way to answer questions about operations, types, and fields. Instantly understand what’s most used and least used, causing the most errors, the slowest to respond, and more. It’s as simple as installing the Stellate GraphQL server plugin.
When operating GraphQL at scale, multiple teams are typically touching the schema. Now with Schema Versions, you can walk backward through every update made by any engineer to see what was added, removed, and updated. This pairs perfectly with the Stellate cli check command helps detect breaking changes ahead of time.
Schema Insights are a great way to quickly see which parts of the graph are performing well and which aren’t. Sometimes, though, you need to dig a little deeper. For that, we’re excited to ship the Schema Explorer, a way to answer any question you may have about your graph. Quickly move between fields, types, and operations, gaining instant context across things like which operation is a field most often used in, how often a type is introducing errors, and which types are the best candidates for caching.
There's more on the way
We’re excited about the insights and context we can provide by simply installing a server plugin, but this is just the beginning. Over the coming months, we’re shipping features that make it easier than ever to operate GraphQL at scale, with full clarity and insight.
A feature you'd like to see? Let us know! email@example.com