This gem extends the GraphQL Ruby gem to add support for sending trace data to Apollo Studio. It is intended to be a full-featured replacement for the unmaintained apollo-tracing-ruby gem, and it is built HEAVILY from the work done within the Gusto apollo-federation-ruby gem as well an exploratory branch created here.
This gem is still in a beta stage and may have some bugs or incompatibilities. See the Known Issues and Limitations below. If you run into any problems, please file an issue.
Add this line to your application's Gemfile:
gem 'apollo-studio-tracing'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install apollo-studio-tracing
-
Add
use ApolloStudioTracing
to your schema class. -
Change your controller to add
apollo_tracing_enabled: true
to the execution context. Ensure thatapollo_client_name
andapollo_client_version
are set as well, for proper client information in Studio:def execute # ... context = { apollo_client_name: request.headers["apollographql-client-name"], apollo_client_version: request.headers["apollographql-client-version"], apollo_tracing_enabled: Rails.env.production?, } # ... end
Install Google Protocol Buffers via Homebrew
$ brew install protobuf
Regenerate the Ruby protos with the included script:
$ bin/generate-proto.sh
Removing old client
Downloading latest Apollo Protobuf IDL
Generating Ruby client stubs
- Only works with class-based schemas, the legacy
.define
API will not be supported