Passer au contenu principal
GraphQL est la gem Ruby pour les serveurs GraphQL. AppSignal prend en charge la gem GraphQL via le module d’instrumentation intégré à la gem GraphQL.

Instrumentation

Pour instrumenter votre application GraphQL à l’aide d’AppSignal, chargez le middleware AppSignal dans votre schéma.
# TODO: Change the schema class to your schema class
class MySchema < GraphQL::Schema
  trace_with(GraphQL::Tracing::AppsignalTrace)
end

Personnaliser le namespace et l’action

Vous pouvez utiliser les méthodes d’aide à l’instrumentation AppSignal pour personnaliser davantage votre instrumentation. Dans l’exemple ci-dessous, nous regroupons les requêtes par namespace et par nom d’action :
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