Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden?

Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden?

Wenn es um Observability geht, werden in den drei Bereichen Logs, Metriken und Traces häufig riesige Mengen an Daten gesammelt. Wie wäre es, wenn wir nur Fehler protokollieren würden?

Eine Anwendung, mit der sich das umsetzen lässt, ist Sentry. Es ist sowohl als Cloud-Service als auch als Open Source zum Self-hosting verfügbar. Die gesammelte Datenmenge bleibt beim Einsatz dieses Tools deutlich geringer. Je nach Szenario kann es auch individuelles User-Feedback zu den Fehlern sammeln.

Als Beispiel dient ein Open-Source-Plugin für IntelliJ, das in jeder neuen Version mehrere zehntausend Mal heruntergeladen wird. Wie viele Fehler lassen sich damit zusätzlich finden?

Der Vortrag zeigt, wie Entwicklerinnen und Entwickler Sentry in eigene Projekte integrieren können, welche Informationen protokolliert werden und welche Arten von Fehlern sich damit finden lassen.

5f528a3f6814d28b583f31842e3e8d9e?s=128

Alexander Schwartz

May 18, 2021
Tweet

Transcript

  1. Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen

    protokollieren würden? Alexander Schwartz, Principal IT Consultant Continuous Lifecycle Monitoring Day| 2021-05-18
  2. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 2 Sentry in Aktion Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  3. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 3 Alexander Schwartz, Principal IT Consultant @ msg 15+ Jahre Java & Web 7 Jahre PL/SQL 7+ Jahre IT-Consulting 3,5 Jahre Online-Banking 700+ Geocaches @ahus1de 7 Jahre Absatzfinanzierung
  4. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 4 Sentry in Aktion Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  5. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 5 Wenn ein Fehler auftritt, aber sich keiner beschwert, ist das dann ein Problem?
  6. • Dokumente ohne Ablenkung in der Entwicklungsumgebung schreiben • Vorschau

    der geschriebenen Texte • Kollaboration und Versionierung mit Git • Vorlagen liefern Hilfen und Struktur • Nahtloses Einbinden in Continuous Delivery Prozesse Mehrere 1000 Downloads für jedes neue Release. 💣 Alle Fehler, die auftreten, sind erst einmal nur lokal. © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 6 Ein IDE-Plugin um lokal Texte zu bearbeiten https://intellij-asciidoc-plugin.ahus1.de/
  7. In diesem Fall: • Weitgehende statische Website mit Links •

    Dynamische Navigation und Suche mit etwas JavaScript 💣 Links können ins Leere führen 💣 JavaScript-Fehler im Browser sind nur in der Console sichtbar © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 7 Eine Website mit ein bisschen JavaScript https://intellij-asciidoc-plugin.ahus1.de/
  8. Für ein IDE Plugin User: • Ärgern • Link zum

    Ticketsystem suchen • Bei GitHub anmelden • Informationen zusammensuchen • Abschicken Developer: • Rückfragen stellen • Testversionen bereitstellen • Rückmeldungen abwarten © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 8 Klassische Fehlerkette Für eine Website User: • Ärgern • Kontaktformular suchen • Informationen zusammensuchen • Abschicken Developer: • Rückfragen stellen • Testversionen bereitstellen • Rückmeldungen abwarten
  9. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 9 Sentry in Aktion Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  10. Sentry ist eine Error-Tracker-Software. Eingehende Fehler-Events gruppiert es automatisch zu

    Issues. Für neue Issues verschickt es Benachrichtigungen. Release-Trigger, User Feedback, Source-Code- und Bug-Tracker-Integration sind optional. Produkt-Homepage: https://sentry.io/ © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 10 Sentry: Sammeln von Fehlern Events Release-Trigger Notifications Bug-Tracker Dashboard Manage Issues Offenlegung: Das Open Source Projekt IntelliJ AsciiDoc Plugin nutzt einen Sponsored Account. Damit kann es bestimmte Funktionen kostenlos nutzen, die normalerweise kostenpflichtig sind. User Feedback Source Code
  11. 11 Sentry in Aktion © msg | Sentry in Aktion:

    Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  12. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 12 Sentry: Integrationen, die Fehler einsammeln Integration für Java via Log4j:
  13. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 13 Sentry: Integrationen, die Fehler einsammeln Integration für Plain Old JavaScript über CDN:
  14. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 14 Sentry: Integrationen, die Fehler einsammeln Integration in Frameworks wie Vue, Angular und React.
  15. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 15 Im Browser: Automatisches Event und optionales User Feedback
  16. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 16 In IntelliJ: Versand nach Freigabe durch den Nutzer mit Fehlerbeschreibung
  17. 17 Sentry in Aktion © msg | Sentry in Aktion:

    Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  18. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 18 Dashboard mit Issues
  19. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 19 Dashboard mit Issues
  20. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 20 Benachrichtigung bei neuen Issues
  21. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 21 Neues Release via Pipeline … in diesem Beispiel via GitHub Actions
  22. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 22 Neues Release via Pipeline
  23. • Event enthält Basis-Informationen inkl. Stacktrace • Meta-Daten können angereichert

    werden (z. B. Software-Version und installierte Plugins) Optional: • Attachments für weitergehende Informationen • User Message als Fehlerbeschreibung im Event • User Feedback als nachgelagerte Mitteilung des Nutzers (wird anhand der Event-ID zugeordnet) © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 23 Eventmechanismen Event User Feedback User Message Attachments Attachments Metadaten
  24. 24 • Meta-Daten können nach Bedarf ergänzt oder reduziert werden.

    • Über das Konzept Exception-mit-Attachment können Zusatzinformationen nach Sentry übergeben werden; es wird etwas Adapter-Code für die Übergabe benötigt. © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz Deep Dive Metadaten und Attachments Live Coding am Beispiel des IntelliJ AsciiDoc Plugins.
  25. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 25 Data Scrubbing
  26. 26 Sentry in Aktion © msg | Sentry in Aktion:

    Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz Motivation automatisches Fehlertracking 1. Sentry: was es kann 2. Sentry einbinden 3. Sentry Dashboard und Benachrichtigungen 4. Erfahrungen und Zusammenfassung 5.
  27. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 29 Valide gemeldete Probleme führen zu behobenen Fehlern im Code oder Workarounds in der Plattform. Rauschen („Noise“) führt zu Nacharbeit, führt aber nie zu einem behobenen Fehler. Stille („Silence“) sind Probleme, von denen die Entwickler gerne wüssten, worüber sie aber nicht benachrichtigt werden. Fehlerarten Valide gemeldete Probleme Rauschen Stille Seltene Datenkonstellationen Fehler in der Plattform IDE-/Browser-Absturz Seltene Thread-Konstellationen Lokale Rechner-Probleme Fehler in der Event-Integration Fehler in der Plattform Web-Crawler / Exploit-Crawler Performance-Probleme Ganz normale Fehler Duplikate von echten Fehlern Verhalten anders als erwartet
  28. Sentry ist eine Error-Tracker-Software. Eingehende Fehler-Events gruppiert es automatisch zu

    Issues. Für neue Issues verschickt es Benachrichtigungen. Release-Trigger, User Feedback, Source-Code- und Bug-Tracker-Integration sind optional. Produkt-Homepage: https://sentry.io/ © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 30 Sentry: Sammeln von Fehlern Events Release-Trigger Notifications Bug-Tracker Dashboard Manage Issues User Feedback Source Code
  29. © msg | Sentry in Aktion: Wie wäre es, wenn

    wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz • Mehr Meldungen durch Sentry • Mehr Kontextinformationen in der Meldung • Zeitnahe Rückmeldung bei neuen Fehlern oder nach Updates • Mehr gefixte Fehler • Rauschen abhängig von Plattform und Kanal 31 Zusammenfassung https://sentry.io/
  30. msg systems ag Robert-​Bürkle-Straße 1 85737 Ismaning +49 89 96101-0

    +49 89 96101-​1113 info@msg.group value – inspired by people Kontakt Alexander Schwartz Principal IT Consultant +49 171 5625767 alexander.schwartz@msg.group @ahus1de © msg | Sentry in Aktion: Wie wäre es, wenn wir nur Fehlermeldungen protokollieren würden? | Mai 2021 | Alexander Schwartz 32