Zum Hauptinhalt springen

Installation und Verwendung

Um die Apollo Gateway-Instrumentierung zu verwenden, müssen Sie die GraphQL-Instrumentierung in dem Dienst deaktivieren, der als Gateway fungiert. Dies liegt daran, dass das Gateway eigene Spans mit der @apollo/gateway-OpenTelemetry-Instrumentierung für die Abfragen sendet, die es an die Dienste weiterleitet, die im Supergraph implementiert sind. Dazu können Sie die Option disableInstrumentations in der appsignal-Konfiguration verwenden.
const { Appsignal } = require("@appsignal/nodejs");

new Appsignal({
  active: true,
  name: "your-app-name",
  pushApiKey: "your-push-api-key",
  disableDefaultInstrumentations: ["@opentelemetry/instrumentation-graphql"],
});
Sie müssen außerdem die OpenTelemetry-Instrumentierung in Ihrer Apollo Gateway-Konfiguration aktivieren:
const config = {
  telemetry: {
    includeDocument: true,
    reportExceptions: 1,
  },
};

Funktionen

Die Apollo Gateway-Instrumentierung sendet Root-Spans an AppSignal basierend auf den Abfragen, die sie empfängt und an die Subgraphen weiterleitet. Sie können diese Daten in der Event-Timeline von Performance-Problemen einsehen: Screenshot der Event-Timeline mit gateway.request-Ereignissen Wenn Ihre föderierten Dienste ebenfalls mit AppSignal instrumentiert sind, erhalten Sie auch die üblichen GraphQL-Spans für sie.