Pular para o conteúdo principal
GraphQL é a gem Ruby para servidores GraphQL. O AppSignal suporta a gem GraphQL por meio do módulo de instrumentation embutido na gem GraphQL.

Instrumentation

Para instrumentar seu app GraphQL usando o AppSignal, carregue o middleware do AppSignal no seu schema.
# TODO: Altere a classe do schema para a sua classe de schema
class MySchema < GraphQL::Schema
  trace_with(GraphQL::Tracing::AppsignalTrace)
end

Personalizar namespace e action

Você pode usar os métodos auxiliares de instrumentation do AppSignal para personalizar ainda mais sua instrumentation. No exemplo abaixo, agrupamos as requisições por namespace e nome da action:
class GraphqlController < ApplicationController
  def create
    result = MySchema.execute(params[:query], :variables => params[:variables], :context => {})
    render :json => result
  ensure
    # Personaliza o namespace
    Appsignal::Transaction.current.set_namespace("graphql")
    # Personaliza o nome da action baseado no operationName, se houver
    Appsignal::Transaction.current.set_action(params[:operationName] || "Unknown")
  end