GraphQL
GraphQL is the Ruby gem for GraphQL servers. AppSignal supports the GraphQL gem through the built-in instrumentation module in the GraphQL gem.
Instrumentation
To instrument your GraphQL app using AppSignal, load the AppSignal middleware in your schema.
ruby
# TODO: Change the schema class to your schema class class MySchema < GraphQL::Schema use(GraphQL::Tracing::AppsignalTracing) end
- Reference: GraphQL AppSignal docs.
Customize namespace and action
You can AppSignal instrumentation helper methods to customize your instrumentation further. In the example below we group the requests by namespace and action name:
ruby
class GraphqlController < ApplicationController def create result = MySchema.execute(params[:query], :variables => params[:variables], :context => {}) render :json => result ensure # Customize the namespace Appsignal::Transaction.current.set_namespace("graphql") # Customize the action name based on the operationName, if any Appsignal::Transaction.current.set_action(params[:operationName] || "Unknown") end