Aller au contenu
Menu

Un bogue, un problème, un compteur digne de confiance.

Le groupement est tout le métier d'un suivi d'erreurs, et le compteur qui en sort est ce qui vous dit lequel de quatre cents problèmes traiter un mardi matin. Bugtail groupe sur la forme de la défaillance, garde la trace hors de la base, et ne perd jamais le compteur quand la trace est purgée.

Groupé sur ce qui en fait le même bogue

Une exception reçoit une empreinte fondée sur son type et sur les trames de votre propre code qui l'ont produite, pas sur le message. Cela compte parce qu'un message porte généralement un identifiant : « Utilisateur 8812 introuvable » et « Utilisateur 913 introuvable » sont un seul bogue, et un suivi d'erreurs qui les montre comme deux a transformé un problème en liste.

Quand le groupement ne convient pas à votre application, vous pouvez le dire par collecteur. Ce que vous ne pouvez pas faire, c'est le faire dépendre de la charge utile, car celle-ci n'est pas toujours là.

La trace ne va jamais en base de données

Les tables des problèmes et des événements contiennent des titres, des niveaux, des compteurs, des horodatages et un pointeur. La trace elle-même, le contexte de requête et le fil d'Ariane sont du JSON compressé dans votre bucket. Ce n'est pas une optimisation mais la contrainte sur laquelle repose toute la conception : cela garde la base assez petite pour rester rapide, cela fait de la conservation deux décisions séparées, et cela fait de l'effacement de la partie sensible un effacement plutôt qu'un changement de schéma.

Une ligne d'événement doit donc rester utile une fois sa charge utile partie, et elle le reste : le titre, le niveau, la version, l'URL sans sa chaîne de requête et le compteur y sont encore un an plus tard, longtemps après la purge de la trace.

Deux fenêtres de conservation

Combien de temps vit une ligne d'événement et combien de temps vit sa charge utile, réglées séparément, par collecteur.

Les compteurs survivent aux charges

Les graphiques viennent d'agrégats et non d'un comptage de lignes : la purge ne change donc jamais l'historique.

Nettoyé avant écriture

Mots de passe, jetons, cookies, numéros de carte et IBAN, à n'importe quelle profondeur, sur le chemin de l'entrée.

Une régression est un état, pas un nouveau problème

Clôturez un problème et il se ferme. Si la même empreinte revient, le problème se rouvre en régression et indique quelle version l'a ramenée, au lieu d'apparaître comme une nouveauté à trier depuis zéro. Vous pouvez aussi le reporter jusqu'à la prochaine version, ce qui est précisément ce que vous voulez pour un bogue déjà corrigé mais pas encore livré.

Les questions que l'on nous pose vraiment

Puis-je changer la façon dont les erreurs sont groupées ?

Par collecteur, oui. L'empreinte par défaut utilise le type d'exception et vos propres trames ; vous pouvez la resserrer ou l'élargir si votre application demande autre chose.

Que devient un problème quand ses traces sont purgées ?

Il reste. Le titre, le niveau, la version, les compteurs et les graphiques sont en base et aucun ne vient de la charge utile. Ouvrir un vieux problème montre tout sauf la trace elle-même, en disant clairement qu'elle a été purgée.

Facturez-vous les événements que vous groupez ensemble ?

Chaque événement enregistré compte une fois, groupé ou non. Les événements refusés par votre liste blanche navigateur ne vous sont pas comptés, ni ceux écartés par l'échantillonnage.

Quatorze jours de Team, sans carte.

Inscrivez-vous avec votre adresse professionnelle, prouvez votre domaine avec un enregistrement DNS, puis collez un DSN. La première pile d'appels arrive généralement avant le café.

Sans carte. L'essai se termine tout seul et bascule sur Gratuit ; rien n'est facturé tant que vous ne choisissez pas un plan.