Menü
Ein Beitrag von Adacor

Bug Tracking mit Sentry

Bug Tracking ist bei der Entwicklung von webbasierten Applikationen ein wichtiges Thema. Der Einsatz eines Exception- oder Bug Trackers wie Sentry bietet eine Reihe von Vorteilen bei der Überwachung von Fehlermeldungen einer Anwendung.

Sentry Bug TrackerNatürlich sollten die meisten Bugs einer Software schon während der Entwicklung bzw. dem Testen der Applikation auffallen und behoben werden. Ein kleiner Teil an Fehlern bleibt dennoch übrig. Das ist ganz normal und betrifft generell jede Software, egal ob von kleinen freiberuflichen Entwicklern oder von großen Softwareherstellern.

Man kann sich allerdings nicht darauf verlassen, dass die Benutzer einer Software Fehler auch deren Entwicklern melden. Viele denken sich, dass der Fehler sicher schon von jemand anderem gemeldet wurde. Durch Bugs steigt gleichermaßen die Frustrate der Benutzer, wie die Akzeptanz der Software sinkt. An diesem Punkt kommen die Vorteile von webbasierten Applikationen ins Spiel: Diese sind dauerhaft mit dem Hersteller verbunden und bieten eine einfache Möglichkeit Updates auszuliefern, da keine Dateien an die Benutzer verteilt werden müssen.

Exceptions und wie diese zum Bug werden

Die dauerhafte Verbindung mit dem Hersteller bietet die Möglichkeit, Fehler automatisch an den Entwickler zu melden, ohne dass der User dazu aktiv werden muss. Dies funktioniert natürlich nur bei Programmierfehlern und nicht bei konzeptionellen Fehlern, da die Software ja selbstständig erkennen muss, dass ein Fehler aufgetreten ist. Dies ist zum Beispiel der Fall, wenn in einer Berechnung durch Null geteilt werden soll oder wenn bei einer Eingabe benötigte Daten fehlen. In solchen Fällen werden in Programmen sogenannte „Exceptions“ oder auf deutsch „Ausnahmen“ ausgelöst (bekannt vom „Schweren Ausnahmefehler“).

Exceptions sind generell zunächst nichts Schlimmes und kommen in jedem Programmcode vor. Die Frage ist, wie die Software mit aufgetretenen Exceptions umgeht. So kann zum Beispiel eine Exception ausgelöst werden, wenn in einem Formular ein Pflichtfeld nicht ausgefüllt wurde. Normalerweise würde die Software eine Exception abfangen und angemessen mit ihr umgehen: Zum Beispiel eine Fehlermeldung ausgeben, die auf das nicht ausgefüllte Pflichtfeld hinweist. Wirkliche Fehler treten erst auf, wenn Exceptions nicht abgefangen und behandelt werden.

Nicht abgefangene Exceptions an Entwickler weiterleiten

Um auf Fehler bzw. Bugs zu reagieren, bieten Programmiersprachen die Möglichkeit, eine Funktion zu definieren, die im Falle einer nicht abgefangenen Exception aufgerufen wird. Hier kann der Programmierer definieren, wie auf einen bestimmten Fehler reagiert werden soll . Eine sinnvolle Behandlung von Ausnahmefehlern ist zum Beispiel das Weiterleiten an den entsprechenden Entwickler.
Problematisch wird es, wenn einzelne Fehler gehäuft auftreten und der Entwickler dadurch sehr viele Mails erhält. Dabei können Benachrichtigungen zu anderen Fehlern dann in den Mails untergehen.
An dieser Stelle kommt ein Bug Tracker wie „Sentry“ ins Spiel, der u.a. von Disqus, Pinterest, Rdio und Path eingesetzt wird.

Mit Bug Tracker Sentry arbeiten

Um Sentry nutzen zu können, muss die Software zunächst auf einem Server installiert werden und über Port 80 erreichbar sein. Zur Administration steht den Entwicklern eine komfortable Weboberfläche zur Verfügung. Außerdem werden die Fehler aus den Applikationen über einen HTTP-Request auf diesem Port gemeldet. Dazu bietet Sentry für diverse Programmiersprachen Exception-Handler an, die dafür sorgen, dass Fehler nicht mehr direkt an den Entwickler, sondern an das eigene Sentry-System gemeldet werden. Der Vorteil hierbei ist, dass gleiche Fehler zusammengefasst werden und der Entwickler nur beim ersten Vorkommen eines Fehlers benachrichtigt wird. In der Weboberfläche von Sentry bekommt man dann eine Übersicht über die bisher aufgetretenen Fehler und wie oft diese bereits vorkamen. So behält der Entwickler den Überblick und kann sich schneller um die aufgetretenen Fehler kümmern.

In der Detailansicht eines Fehlers stellt Sentry alle gesammelten Informationen strukturiert dar:

  • die eigentliche Fehlermeldung,
  • der Zeitpunkt, wann der Fehler aufgetreten ist,
  • die Anzahl der Vorkommen,
  • der Server-Name,
  • Daten zu der Anfrage am Server (URL, Cookies etc.)
  • sowie ein Stacktrace bzw. eine Auflistung der Funktionsaufrufe, die zu dem Fehler geführt haben.

Mit diesen Informationen kann der Entwickler dann komfortabel auf Bugsuche gehen und den Fehler zeitnah beheben.

Einsatz von Sentry bietet ADACOR auschließlich Vorteile

Der Weg hin zu einem Exception- und Bug Tracker wie Sentry stand bei der ADACOR am Ende eines langen Prozesses. Zunächst hatten wir keinerlei Bug-Reporting im Einsatz, darauf folgte dann die Erfassung von Fehlern per E-Mail an unser OTRS-Ticketing-System und abschließend die Nutzung des Bug Trackers von Sentry.
Mittlerweile setzen wir Senty standardmäßig in der Softwareentwicklung ein, damit Fehler möglichst schnell und effektiv nach ihrem Auftreten behoben werden.

, , ,


Weitere Artikel zum Thema lesen

Paketanalyse mit Sflow oder Netflow

Hosting, IT-News

Paketanalyse mit Sflow oder Netflow

Sflow und Netflow stellen beide Mechanismen zur Verfügung, die eine Paketanalyse erlauben.

weiter lesen

Performance-Monitoring-Tool Apache JMeter im praktischen Einsatz

Cloud, Hosting, IT-News

Performance-Monitoring-Tool Apache JMeter im praktischen Einsatz

Apache JMeter ist eine quelloffene, sg. Open-Source Anwendung zum Überprüfen der Performance von Servern. Das in Java geschriebenes Werkzeug erlaubt das Ausführen von Lasttests...

weiter lesen

Was ist CoroSync?

Hosting, IT-News

Was ist CoroSync?

Die CoroSync Cluster Engine ist das Herzstück innerhalb eines Linux High-Availability-Clusters (Linux-HA), welche in Verbindung mit weiteren Komponenten für die Überwachung aller angeschlossenen Knoten...

weiter lesen


Neueste Nachrichten von Adacor

DevOps in Unternehmen

Hosting

Wann DevOps für Unternehmen sinnvoll ist

Das Zusammenfinden der beiden Bereiche „Entwicklung und Betrieb“ ist vor der ersten Zeile Code obligatorisch, denn DevOps ist kein Framework, sondern eine Kultur.

weiter lesen

Der Schlüssel zum effektiven Domain Management

Domains

Domain Management: Verwalten Sie Ihre Domains (noch) selbst?

Die Anzahl der Domains nimmt verstärkt zu. Deren Management wird zunehmend zur Herausforderung. Wir bieten Ihnen den Schlüssel zum effektiven Domain Management.

weiter lesen

So funktioniert Cloud Hosting

Cloud

So funktioniert Cloud Hosting

Das Modell Cloud Hosting verspricht jederzeit skalierbare, virtualisierte Server, die immer die Leistung zur Verfügung stellen, die gerade benötigt wird.

weiter lesen

Diese Website verwendet Cookies. Mit der weiteren Nutzung der Website stimmen Sie unserer Datenschutzerklärung zu.
Für weitere Informationen klicken Sie bitte hier.