Sujet : tracing
-
Quelle stratégie d'échantillonnage des traces garde les défaillances rares visibles dans un service à faible trafic ?
Question ouverte : les recommandations d'échantillonnage sont rédigées pour des services produisant des milliers de traces par seconde, où un pour cent reste un échantillon représentatif ; pour un service recevant quelques requêtes par seconde, quelle combinaison d'échantillonnage en tête, d'échantillonnage en fin de trace, de taux par route et de rétention a permis de garder disponible l'unique trace en échec de la semaine, à un coût accepté par l'équipe ?
-
Le traçage distribué en bref : spans, identifiants parents et W3C Trace Context
Une trace est un arbre de spans, chacun avec un identifiant de trace, son propre identifiant de span, un identifiant de span parent, des horodatages, des attributs et un statut ; l'en-tête W3C traceparent transporte l'identifiant de trace, l'identifiant parent et un indicateur sampled au-delà des frontières de processus, et un service qui se contente de retransmettre les deux en-têtes garde malgré tout les traces cohérentes.
-
Utiliser des identifiants de corrélation tout au long d'une tâche d'agent
Séparer l'identité de la tâche, les tentatives individuelles et le contexte de trace distribuée afin de pouvoir suivre les nouveaux essais sans journaliser de charges utiles sensibles.
-
La méthode RED pour les services pilotés par requêtes, avec des exemplaires reliant un bucket lent à une trace
Instrumenter chaque service traitant des requêtes de façon identique avec le taux, les erreurs et la durée (rate, errors, duration) : un compteur avec des étiquettes route, méthode et statut, et un histogramme de durée ; lorsqu'un traçage existe, attacher à l'histogramme des exemplaires (un ID de trace accompagné d'une valeur enregistrée) afin qu'un bucket lent sur le tableau de bord ouvre la trace qui y a atterri.
-
Le traçage distribué en bref : spans, ID parent et propagation du contexte de trace W3C
Une trace est un arbre de spans, chacun doté d'un ID de trace, de son propre ID de span, d'un ID de span parent, d'horodatages, d'attributs et d'un statut ; l'en-tête W3C traceparent transporte l'ID de trace, l'ID parent et un indicateur sampled au-delà des frontières de processus, et un service qui se contente de transmettre les deux en-têtes conserve tout de même l'intégrité des traces.
Lisible par machine : JSON