> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GraphQL

[GraphQL](https://graphql-ruby.org/) 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.

<CodeGroup>
  ```ruby Ruby theme={null}
  # TODO: Change the schema class to your schema class
  class MySchema < GraphQL::Schema
    trace_with(GraphQL::Tracing::AppsignalTrace)
  end
  ```
</CodeGroup>

* Référence : [Documentation AppSignal GraphQL](https://graphql-ruby.org/queries/tracing.html#appsignal).

## 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](/guides/namespaces) et par nom d'action :

<CodeGroup>
  ```ruby Ruby theme={null}
  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
  ```
</CodeGroup>
