Pular para o conteúdo principal

Instalação e uso

Para usar a instrumentação do Apollo Gateway, você precisa desabilitar a instrumentação de GraphQL no serviço que atua como gateway. Isso porque o gateway enviará seus próprios spans usando a instrumentação OpenTelemetry do @apollo/gateway para as queries que ele faz proxy para os serviços que ele implementa no supergrafo. Para fazer isso, você pode usar a opção disableInstrumentations na configuração do appsignal.
const { Appsignal } = require("@appsignal/nodejs");

new Appsignal({
  active: true,
  name: "your-app-name",
  pushApiKey: "your-push-api-key",
  disableDefaultInstrumentations: ["@opentelemetry/instrumentation-graphql"],
});
Você também precisa habilitar a instrumentação OpenTelemetry na configuração do seu Apollo Gateway:
const config = {
  telemetry: {
    includeDocument: true,
    reportExceptions: 1,
  },
};

Recursos

A instrumentação do Apollo Gateway enviará spans raiz para o AppSignal com base nas queries que ele recebe e roteia para os subgrafos. Você poderá inspecionar esses dados na linha do tempo de eventos dos problemas de performance: Screenshot da linha do tempo de eventos mostrando eventos gateway.request Se seus serviços federados também estiverem instrumentados com AppSignal, você também receberá os spans GraphQL habituais para eles.