Wow! Much Profiling!

Sniffy: Profiling für Java-Anwendungen direkt im Browser

Melanie Feldmann

© Shutterstock / NIKON-T20

Sniffy ist ein interaktiver Profiler für Java-Anwendungen, der Ergebnisse direkt im Browser anzeigt. Ab der ersten Zeile Code lassen sich mit dem kleinen Widget Performancedaten abfragen.

Sniffy ist ein Java-Profiler, der seine Messergebnisse zur aktuellen Seite einer Web-Anwendung direkt im Browser anzeigt. Er ermöglicht außerdem Profiling von Unit- oder Komponententests. Das Tool validiert auch ausgeführte Datenbank-Queries. Es zählt beispielsweise die Anzahl an Queries und an betroffenen Datenbankzeilen oder die TCP-Verbindungen. Es soll sich besonders gut dafür eignen, N+1-Probleme und andere Performance Antipattern mit Unit-Tests zu finden.

Zusätzlich lassen sich mit dem Tool ausgehende Verbindungen abschalten, um die Fehlerresistenz einer Anwendung zu testen. In einer Übersicht im Browser zeigt das Tool alle ausgehenden Verbindungen des Servers an. Dort kann man diese auch direkt deaktivieren. Sniffy wirft eine java.net.ConnectException, wenn die Anwendung versucht eine der deaktivierten Verbindungen zu nutzen.

Sniffy lässt sich stand-alone als Uber-JAR installieren und braucht keine weiteren Dependencies. Zur Installation ist aber Java 8 nötig. Wenn der Build des Projekts einmal steht, können alle Java-Version ab 1.6 genutzt werden. Das JAR muss lediglich zum Klassenpfad der Anwendung hinzugefügt werden. Eine Integration mit Spring Boot ist ebenfalls möglich. Für Test-Frameworks stehen Sniffy-Artefakte für JUnit, Spring Test und TestNG bereit.

Die aktuelle Version von Sniffy ist 3.1.2 und steht auf GitHub bereit. Das Tool steht unter eine MIT-Lizenz. Eine Demo findet sich hier.

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

3 Kommentare auf "Sniffy: Profiling für Java-Anwendungen direkt im Browser"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Dr. Eck-Spatz
Gast

Zitat: „…Das JAR muss lediglich zum Klassenpfad der Anwendung hinzugefügt werden…“

Damit isses leider nicht getan. Klingt für mich nach „…und ab hier passiert ein Wunder…“
Ein bisschen was muss man schon noch tun: http://sniffy.io/docs/latest/#_setup

Und was bedeutet bitte der Satz: „…Wenn der Build des Projekts einmal steht, können alle Java-Version ab 1.6 genutzt werden…“?

Dmitry Bedrin
Gast
Sniffy author here. Indeed JDK8 is required only for development of the Sniffy itself (cause it’s much nicer to write unit tests with Java 8 features) – you can us Sniffy with Java 6 and higher. https://github.com/sniffy/sniffy/wiki/Building-Sniffy Regarding the installation and setup – you need to add Sniffy to the classpath of your application (either drop Sniffy uber-jar to the classpath of your app manually, or use Maven/Gradle) AND also configure the JDBC driver and/or Servlet Filter. Install and Setup sections of the documentation cover it but still there’s a room for improvement here both in the documentation and in… Read more »