November 17, 2016

GraphQL analytics for your Ruby on Rails apps

Zoltan Olah

Zoltan Olah

We’ve been busy putting the final touches on Apollo Optics for Rails. With version 0.4.2 of the agent, we’re excited to announce that Optics for Rails is ready for production workloads. Thanks to help and feedback from core members of the GraphQL and Ruby communities, including Shopify and graphql-ruby maintainer Robert Mosolgo, it came together fast!

Why GraphQL + Ruby on Rails?

GitHub announced they were moving their public API to GraphQL, and the excitement within the Rails community has been building ever since. GraphQL is a natural fit for the challenges facing Rails developers today: Front-end teams can be more productive when they no longer need to wait on back-end teams to build and maintain custom API endpoints for every feature. Communication between teams is further streamlined by GraphQL’s clean, self documenting nature. GraphQL also improves application performance and lowers infrastructure costs since clients are able to obtain all the data they need with a single request — a big win for high-traffic APIs like GitHub’s.

Apollo Optics Rails Agent

For all the reasons above, a growing number of prominent Rails companies have adopted GraphQL. We built Apollo Optics for Rails to help them get even more value out of GraphQL-based APIs by enabling any app built with graphql-ruby to understand the behavior and performance of GraphQL queries.

Because GraphQL clients query the exact fields they need, Optics can show you how data is used at the field level, providing insights that aren’t possible with REST APIs. For example, you can you use Optics to coordinate field deprecation, identify clients that would be affected by a schema change, validate proposed server changes against your real-world workload, identify parts of your API that are underutilized, and focus optimization efforts where they have the most impact.

See queries broken down by resolver duration

To get started using Optics with your Rails app, create an account at apollodata.com/optics and follow the instructions to instrument your app. You can try Optics for free — no credit card required.

Thank you to those in the community including Christian Joudrey (Shopify), Marc-Andre Giroux (Shopify), Loic Chollier (Quri) and Nic Cavigliano (Realscout) who helped build and test the Ruby agent. Special thanks to Robert Mosolgo for creating the excellent graphql-ruby gem and working with us to ensure that the graphql-ruby had exactly the hooks we needed to instrument queries properly and efficiently.

Written by

Zoltan Olah

Zoltan Olah

Read more by Zoltan Olah