Zum Hauptinhalt springen
GraphQL ist das Ruby-Gem für GraphQL-Server. AppSignal unterstützt das GraphQL-Gem über das integrierte Instrumentation-Modul im GraphQL-Gem.

Instrumentation

Um Ihre GraphQL-App mit AppSignal zu instrumentieren, laden Sie die AppSignal-Middleware in Ihrem Schema.
# TODO: Change the schema class to your schema class
class MySchema < GraphQL::Schema
  trace_with(GraphQL::Tracing::AppsignalTrace)
end

Namespace und Action anpassen

Sie können die Helper-Methoden der AppSignal-Instrumentation verwenden, um Ihre Instrumentation weiter anzupassen. Im folgenden Beispiel gruppieren wir die Anfragen nach Namespace und Action-Name:
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