Apollo
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Apollo

Crawler Crawler

Supported OS: Linux Mac OS Windows

Présentation

L’intégration Apollo/Datadog vous permet de transmettre les métriques de performance disponibles dans le Graph Manager à Datadog. Les équipes peuvent également exploiter l’API dédiée aux fonctions avancées pour créer des graphiques et des alertes à partir des métriques GraphQL.

Métriques

Voici les différentes métriques Datadog transmises par Graph Manager :

  • apollo.engine.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.engine.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 Graph Manager ne parvient pas à se connecter à votre serveur.
  • apollo.engine.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 Graph Manager (compartimentage logarithmique), la précision de ces valeurs est de l’ordre de +/- 5 % :

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

Toutes les métriques transférées à Datadog sont agrégées dans 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.

Toutes les métriques sont également taguées avec l’ID de graphique Graph Manager, service:<ID_GRAPHIQUE>, et le nom de la variante, variant:<NOM_VARIANTE>. Ainsi, plusieurs graphiques Graph Manager 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 vous transmettez des métriques à Graph Manager grâce au proxy Engine, Datadog fusionnera vos statistiques sur plusieurs instances du proxy (les métriques par hôte ne sont pas disponibles). Comme dans l’IU de Graph Manager, chaque opération dans un lot de requêtes est prise en compte individuellement.

Configuration

Configuration

Il vous suffit de fournir la clé d’API Datadog à Graph Manager 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, faites défiler l’écran vers le bas, puis choisissez Install Integration.

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

  3. Dans Graph Manager, accédez à la page des intégrations pour votre graphique.

Page des intégrations

  1. Activez l’intégration Datadog. Collez la clé d’API et cliquez sur Save. Vous pouvez utiliser la même clé d’API pour tous vos graphiques, car toutes les métriques se voient attribuer un tag spécifiant l’ID du graphique (service:<ID_GRAPHIQUE>).

Activation des intégrations

  1. Accédez à la page Metrics Explorer sur Datadog pour commencer à consulter les métriques transmises. Les métriques apparaissent dans un délai de cinq minutes.

Utilisation

Consultez la documentation relative aux intégrations Apollo pour obtenir davantage d’informations sur son utilisation.

Données collectées

Métriques

apollo.engine.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed.
Shown as operation
apollo.engine.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average.
Shown as millisecond
apollo.engine.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile.
Shown as millisecond
apollo.engine.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile.
Shown as millisecond
apollo.engine.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile.
Shown as millisecond
apollo.engine.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile.
Shown as millisecond
apollo.engine.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile.
Shown as millisecond
apollo.engine.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins.
Shown as error
apollo.engine.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache.
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.

Pour aller plus loin

Pour en savoir plus sur la surveillance d’infrastructure et pour découvrir toutes nos intégrations, rendez-vous sur notre blog.