Apollo

Supported OS Linux Mac OS Windows

Présentation

L’intégration Apollo/Datadog vous permet de transmettre les métriques de performance Studio à votre compte Datadog. Vous pouvez également exploiter l’API dédiée aux fonctions avancées pour créer des graphiques et des alertes concernant les métriques GraphQL.

Métriques

Studio transfère les métriques suivantes à Datadog :

  • apollo.operations.count : le nombre d’opérations GraphQL exécutées. Ce nombre comprend les requêtes, les mutations et les opérations ayant généré une erreur.

  • apollo.operations.error_count : le nombre d’opérations GraphQL ayant généré une erreur. Ce nombre comprend les erreurs d’exécution GraphQL et les erreurs HTTP survenues lorsque Studio ne parvient pas à se connecter à votre serveur.

  • apollo.operations.cache_hit_count : le nombre de requêtes GraphQL dont le résultat a été traité depuis le cache de requêtes complètes d’Apollo Server.

  • Un histogramme des temps de réponse des opérations GraphQL, mesurés en millisecondes. En raison de la méthode d’agrégation utilisée par Studio (compartimentage logarithmique), la précision de ces valeurs est de l’ordre de +/- 5 % :

    • apollo.operations.latency.min
    • apollo.operations.latency.median
    • apollo.operations.latency.95percentile
    • apollo.operations.latency.99percentile
    • apollo.operations.latency.max
    • apollo.operations.latency.avg

Ces métriques sont agrégées selon des intervalles de 60 secondes et taguées avec le nom de l’opération GraphQL, au format operation:<nom-requête>. Les signatures de requêtes uniques avec le même nom d’opération sont fusionnées, et les requêtes sans nom d’opération sont ignorées.

Ces métriques sont également taguées avec l’ID de graphique Studio, graph:<id-graphique>, et le nom de la variante associée, variant:<nom-variante>. Ainsi, plusieurs graphiques Studio peuvent envoyer des données au même compte Datadog. Si vous n’avez pas défini de nom de variante, la valeur current est utilisée.

(Si l’intégration a été configurée avant octobre 2020, les noms des métriques commencent par apollo.engine.operations au lieu de apollo.operations et utilisent un tag service au lieu de graph. Vous pouvez migrer vers les nouveaux noms de métriques en accédant à la page Integrations de votre graphique dans Apollo Studio.)

Configuration

Configuration

Il vous suffit de fournir la clé et la région d’API Datadog à Studio pour configurer l’intégration Apollo/Datadog. Aucune autre étape de configuration n’est requise.

  1. Accédez à la page Integrations de Datadog et cliquez sur le carré Apollo. Accédez ensuite à l’onglet Configuration puis cliquez sur Install Integration au bas de la page.

  2. Accédez à la page API de Datadog et créez une clé d’API.

  3. Identifiez votre région pour l’API Datadog en regardant la barre d’adresse de votre navigateur :

  • Si le nom de domaine correspond à app.datadoghq.com, alors votre région est US.
  • Si le nom de domaine correspond à app.datadoghq.eu, alors votre région est EU.
  1. Dans Studio, accédez à la page des intégrations de votre graphique :

    Page des intégrations

  2. Dans la section Datadog Forwarding, cliquez sur Configure. Renseignez votre clé d’API et votre région, puis cliquez sur Enable. Étant donné que toutes les métriques transférées reçoivent l’ID de graphique en tant que tag (graph:<id-graphique>), vous pouvez utiliser la même clé d’API pour tous vos graphiques.

    Activation des intégrations

  3. Accédez à la page Metrics Explorer sur Datadog pour commencer à visualiser vos métriques. Elles apparaissent dans un délai de cinq minutes.

Utilisation

Consultez la documentation sur les intégrations Apollo (en anglais) pour en savoir plus sur leur utilisation.

Données collectées

Métriques

apollo.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed.
Shown as operation
apollo.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average.
Shown as millisecond
apollo.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile.
Shown as millisecond
apollo.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile.
Shown as millisecond
apollo.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile.
Shown as millisecond
apollo.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile.
Shown as millisecond
apollo.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile.
Shown as millisecond
apollo.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins.
Shown as error
apollo.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache.
Shown as hit
apollo.engine.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed. (Legacy metric; new integrations use apollo.operations.count.)
Shown as operation
apollo.engine.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average. (Legacy metric; new integrations use apollo.operations.latency.avg.)
Shown as millisecond
apollo.engine.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile. (Legacy metric; new integrations use apollo.operations.latency.median.)
Shown as millisecond
apollo.engine.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile. (Legacy metric; new integrations use apollo.operations.latency.95percentile.)
Shown as millisecond
apollo.engine.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile. (Legacy metric; new integrations use apollo.operations.latency.99percentile.)
Shown as millisecond
apollo.engine.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile. (Legacy metric; new integrations use apollo.operations.latency.max.)
Shown as millisecond
apollo.engine.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile. (Legacy metric; new integrations use apollo.operations.latency.min.)
Shown as millisecond
apollo.engine.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins. (Legacy metric; new integrations use apollo.operations.error_count.)
Shown as error
apollo.engine.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache. (Legacy metric; new integrations use apollo.operations.cachehitcount.)
Shown as hit

Événements

L’intégration Apollo n’inclut aucun événement pour le moment.

Checks de service

L’intégration Apollo n’inclut aucun check de service pour le moment.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.