Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

|
//

Automatische Java Deadlock Erkennung mit AppDynamics

31.8.2011 | 1 Minuten Lesezeit

Deadlocks sind üble Fehler für Programmierer. Sie treten niemals in der Entwicklungsumgebung auf, sondern nur in Produktion. Und weil sie die Produktion beeinträchtigen, werden sie von den Betriebsteams schnell durch Neustarts beseitigt. Leider gehen dabei auch wertvolle Hinweise auf die Ursache verloren.

Als Entwickler hat man so fast nie die Gelegenheit ein Deadlock in Aktion zu sehen.

Wäre es nicht toll diese Informationen zur Analyse zu haben? Etwas das so aussieht:

Gute Nachrichten! Ich habe mir dieses Bild nicht ausgedacht, sondern aus AppDynamics entnommen. AppDynamics erkennt Deadlocks in Produktionsumgebungen automatisch und bietet so alle Informationen zur Beseitigung der Problemursache.


Für den folgenden kurzen Screencast habe ich das „Dining Philosophers“ Problem genutzt, welches in einer abgewandelten Variante von Dr. Heinz Kabutz in seinem letzten Newsletter behandelt wurde. Heinz war kürzlich mit seinem Java Specialists Master Course bei codecentric in Düsseldorf und hat mir davon erzählt. Ich hatte schon länger vor das Feature zu demonstrieren, nur nie Zeit ein Deadlock zu programmieren. Danke Heinz 🙂

Sobald der AppDynamics Agent in einer JVM läuft, beobachtet er die Thead Aktivität und diagnostiziert Deadlocks völlig automatisch. Es ist keinerlei Konfiguration notwendig, und verursacht keinen nennenswerten Overhead, weshalb es sich insbesondere für Produktionsysteme eignet.

Da die Informationen für die Entwickler von AppDynamics gesichert werden, kann der Server problemlos neu gestartet werden. Die notwendigen Diagnoseinformationen stehen weiterhin zur Verfügung. Diese nützliche Funktion hat uns schon in einigen Java Performance Troubleshooting Einsätzen geholfen.

Für mich ist diese Deadlockerkennung ein Geheimtipp in AppDynamics. Das Feature ist leider nicht sofort zu erkennen, da es keinerlei Konfiguration bedarf und nur im Fehlerfall in Erscheinung trifft. Aber eigentlich ist es ja auch nicht schlecht, dass man solche Dinge nicht einstellen muss.

|

Beitrag teilen

Gefällt mir

0

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.