Zum Inhalt springen
Menü

Ein Bug, ein Problem, ein Zähler, dem Sie trauen können.

Gruppieren ist die eigentliche Aufgabe eines Fehler-Trackers, und der Zähler, den es erzeugt, sagt Ihnen, welches von vierhundert Problemen Sie an einem Dienstagmorgen beheben. Bugtail gruppiert nach der Form des Fehlschlags, hält den Trace aus der Datenbank heraus und verliert den Zähler nie, wenn der Trace aufgeräumt wird.

Gruppiert nach dem, was denselben Bug ausmacht

Eine Ausnahme wird über ihren Typ und die Frames Ihres eigenen Codes fingerprintet, nicht über die Nachricht. Das ist wichtig, weil eine Nachricht meist einen Bezeichner enthält: "Benutzer 8812 nicht gefunden" und "Benutzer 913 nicht gefunden" sind ein Bug, und ein Fehler-Tracker, der sie als zwei zeigt, hat aus einem Problem eine Liste gemacht.

Wenn die Gruppierung für Ihre Anwendung falsch ist, können Sie das pro Collector sagen. Was Sie nicht können, ist sie vom Payload abhängig zu machen, denn der Payload ist nicht immer da.

Der Trace kommt nie in die Datenbank

Die Tabellen für Probleme und Ereignisse enthalten Titel, Level, Zähler, Zeitstempel und einen Zeiger. Der Trace selbst, der Request-Kontext und die Breadcrumbs sind gezipptes JSON in Ihrem Bucket. Das ist keine Optimierung, das ist die Bedingung, auf der der gesamte Entwurf ruht: sie hält die Datenbank klein genug, um schnell zu bleiben, sie macht Aufbewahrung zu zwei getrennten Entscheidungen, und sie macht das Löschen des sensiblen Teils zu einem Löschen statt zu einer Schemaänderung.

Eine Ereigniszeile muss deshalb auch nützlich bleiben, wenn ihr Payload weg ist, und das tut sie: Titel, Level, Release, die URL ohne Query-String und der Zähler sind ein Jahr später alle noch da, lange nachdem der Trace aufgeräumt wurde.

Zwei Aufbewahrungsfenster

Wie lange eine Ereigniszeile lebt und wie lange ihr Payload lebt, getrennt eingestellt, pro Collector.

Zähler überleben Payloads

Grafiken kommen aus Verdichtungen statt aus dem Zählen von Zeilen, Aufräumen ändert also nie die Historie.

Bereinigt, bevor geschrieben wird

Passwörter, Tokens, Cookies, Kartennummern und IBANs, in jeder Tiefe, auf dem Weg hinein.

Ein Rückfall ist ein Zustand, kein neues Problem

Lösen Sie ein Problem und es schließt. Kommt derselbe Fingerprint erneut an, öffnet sich das Problem als Rückfall und sagt, welches Release ihn zurückgebracht hat, statt als etwas Neues aufzutauchen, das jemand von vorn sichten muss. Sie können es auch bis zum nächsten Release zurückstellen, was Sie für einen bereits behobenen, aber noch nicht ausgelieferten Bug tatsächlich wollen.

Fragen, die wirklich gestellt werden

Kann ich ändern, wie Fehler gruppiert werden?

Pro Collector, ja. Der Standard-Fingerprint nutzt den Ausnahmetyp und Ihre eigenen Frames; Sie können ihn enger oder weiter fassen, wenn Ihre Anwendung etwas anderes braucht.

Was passiert mit einem Problem, wenn seine Traces aufgeräumt werden?

Es bleibt. Titel, Level, Release, Zähler und Grafiken liegen alle in der Datenbank und keines davon kommt aus dem Payload. Ein altes Problem zu öffnen zeigt alles außer dem Trace selbst, und es sagt klar, dass dieser aufgeräumt wurde.

Berechnen Sie Ereignisse, die Sie zusammen gruppieren?

Jedes aufgezeichnete Ereignis zählt einmal, gruppiert oder nicht. Ereignisse, die Ihre Browser-Erlaubnisliste abweist, werden Ihnen nicht angerechnet, und durch Sampling verworfene ebenso wenig.

Vierzehn Tage Team, ohne Karte.

Melden Sie sich mit Ihrer Arbeitsadresse an, weisen Sie Ihre Domain mit einem DNS-Eintrag nach und fügen Sie eine DSN ein. Der erste Stacktrace trifft meist vor dem Kaffee ein.

Keine Karte. Die Testphase endet von selbst und fällt auf Free zurück; es wird nichts berechnet, solange Sie keinen Tarif wählen.