Diagramme de Sankey des résultats de requêtes API : des endpoints aux erreurs

Suivez les requêtes API de l'endpoint à la classe de statut puis à la cause de chaque erreur. Voyez quels endpoints produisent des échecs et pourquoi, puis remplacez les chiffres par vos journaux.

Un Sankey des résultats d'API suit les requêtes de l'endpoint qui les a reçues jusqu'au succès ou à une classe d'erreur, puis répartit chaque classe d'erreur par cause. Il désigne l'endpoint et la cause à corriger en premier.

L'exemple compte un million de requêtes réparties sur quatre endpoints. Parmi elles, 920 000 réussissent, 60 000 sont des erreurs client (4xx) et 20 000 des erreurs serveur (5xx). La dernière colonne donne la cause de chaque erreur : entrée invalide, jeton expiré, ressource introuvable et limitation de débit côté client ; délai dépassé, défaillance d'une dépendance et bug côté serveur.

Un taux d'erreur par endpoint n'est qu'un seul chiffre. Le Sankey garde le trajet : dans l'exemple, Paiement a le taux d'erreur serveur le plus élevé (7 sur 150) et Connexion le taux d'erreur client le plus élevé (22 sur 200). Les chiffres sont inventés. Utilisez des comptes sur une fenêtre donnée, et précisez si les nouvelles tentatives sont comptées une fois ou à chaque fois. La même idée appliquée aux alertes plutôt qu'aux requêtes est /fr/sankey/incident-response.

Comment lire ce diagramme

  • 920 des 1 000 milliers de requêtes (92 %) réussissent ; 6 % sont des erreurs client et 2 % des erreurs serveur.
  • Paiement a le taux d'erreur serveur le plus élevé : 7 sur 150 (environ 5 %).
  • Connexion a le taux d'erreur client le plus élevé : 22 requêtes sur 200 (11 %). Les jetons expirés causent 20 des 60 erreurs client.
  • La moitié des erreurs serveur (10 sur 20) sont des délais dépassés.

Les données derrière le diagramme

Chiffres inventés à titre d'illustration. Ce ne sont pas des données sur une entreprise, une équipe ou un système réels.

Diagramme de Sankey des résultats de requêtes API : des endpoints aux erreurs (milliers de requêtes)
DeVersQuantité (milliers de requêtes)
RechercheSuccès (2xx)370
RechercheErreur client (4xx)22
RechercheErreur serveur (5xx)8
PaiementSuccès (2xx)135
PaiementErreur client (4xx)8
PaiementErreur serveur (5xx)7
ConnexionSuccès (2xx)175
ConnexionErreur client (4xx)22
ConnexionErreur serveur (5xx)3
CatalogueSuccès (2xx)240
CatalogueErreur client (4xx)8
CatalogueErreur serveur (5xx)2
Erreur client (4xx)Entrée invalide25
Erreur client (4xx)Jeton expiré20
Erreur client (4xx)Introuvable10
Erreur client (4xx)Débit limité5
Erreur serveur (5xx)Délai dépassé10
Erreur serveur (5xx)Défaillance d'une dépendance6
Erreur serveur (5xx)Bug4

Les mêmes données en CSV

source,target,value
Recherche,Succès (2xx),370
Recherche,Erreur client (4xx),22
Recherche,Erreur serveur (5xx),8
Paiement,Succès (2xx),135
Paiement,Erreur client (4xx),8
Paiement,Erreur serveur (5xx),7
Connexion,Succès (2xx),175
Connexion,Erreur client (4xx),22
Connexion,Erreur serveur (5xx),3
Catalogue,Succès (2xx),240
Catalogue,Erreur client (4xx),8
Catalogue,Erreur serveur (5xx),2
Erreur client (4xx),Entrée invalide,25
Erreur client (4xx),Jeton expiré,20
Erreur client (4xx),Introuvable,10
Erreur client (4xx),Débit limité,5
Erreur serveur (5xx),Délai dépassé,10
Erreur serveur (5xx),Défaillance d'une dépendance,6
Erreur serveur (5xx),Bug,4

Comment cela fonctionne

  1. Exporter une fenêtre de journaux de requêtes

    Prenez une heure, un jour ou une semaine, avec l'endpoint et le code de statut de chaque requête.

  2. Regrouper les endpoints et les codes de statut

    Gardez les quatre à six endpoints les plus sollicités et regroupez les autres sous Autres. Regroupez les codes de statut par classe.

  3. Ajouter la cause de chaque erreur

    Utilisez le code ou le message d'erreur que renvoie votre service. Regroupez les causes en cinq à sept libellés.

  4. Vérifier l'équilibre

    Chaque classe d'erreur doit sortir autant de requêtes qu'elle en reçoit. Les succès s'arrêtent à la deuxième colonne.

Questions fréquentes

Faut-il montrer les redirections (3xx) ?

Seulement si elles comptent pour votre question. Sinon, comptez-les comme des succès, ou laissez-les de côté et dites-le dans la note sur les données.

Puis-je l'utiliser pour la surveillance en temps réel ?

Non. C'est une image d'une fenêtre fixe. Un outil de supervision convient mieux aux taux en direct ; le diagramme sert à expliquer d'où viennent les échecs.

Modifier ce Sankey d'API

Ouvrez l'exemple comme votre propre diagramme et saisissez vos comptes de requêtes.

Modifier ce Sankey d'API

Plus dans Diagrammes de Sankey