Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Administratoren > Werkzeuge für die Administration


Threadübersicht (Stacktraces)

Die Threadübersicht ist ein Administrationswerkzeug zur Analyse laufender Prozesse (Threads) im agorum core System. Sie ermöglicht es Administratoren, den aktuellen Zustand aller aktiven Threads zu überwachen, Engpässe zu identifizieren und Performance-Probleme zu diagnostizieren.

Sie können die Threadübersicht kopieren oder herunterladen, um sie im Falle von Performanceproblemen dem agorum® Support zur Verfügung zu stellen.

Der Stacktrace zeigt die aktuelle Aufrufhierarchie des Threads von unten nach oben:

Die Threadübersicht öffnen


Sie öffnen die Threadübersicht über die Kopfleiste:

Klicken Sie oben rechts in der Kopfleiste auf   und dann auf Administration > Werkzeuge > Threadübersicht.

Bedienoberfläche

Das Werkzeug zeigt alle aktiven Threads des Systems in einer übersichtlichen Kartenansicht an. Jede Karte repräsentiert einen Thread und zeigt dessen Namen, aktuellen Status und den vollständigen Stacktrace.

Aktionen

Die Threadübersicht bietet folgende Aktionen:

Filteroptionen

Die Threadübersicht bietet folgende Filteroptionen:

Threadstatus und Farbkodierung

Jeder Thread wird entsprechend seinem aktuellen Status mit einer farbigen Randmarkierung versehen:

Farbe Bedeutung
Grün Thread läuft aktiv oder ist bereit zur Ausführung. 
Status: RUNNABLE
Gelb Thread wartet.
Status: WAITING oder TIMED_WAITING
Rot  Thread ist blockiert und kann nicht weiterlaufen.
Status: BLOCKED
Grau Der Thread wurde entweder neu erstellt, aber noch nicht gestartet, oder der Thread ist beendet.
Status: NEW oder TERMINATED

Tipp: Die Farbkodierung ermöglicht es, kritische Situationen auf einen Blick zu erkennen. Viele rote Karten können auf Ressourcenkonflikte hinweisen, während eine ungewöhnlich große Anzahl gelber Karten durch hohe I/O-Auslastung erklärt werden könnte.

Anwendungsfälle

Performance-Probleme diagnostizieren

Wenn das System langsam reagiert, kann die Threadübersicht Aufschluss darüber geben, welche Prozesse gerade aktiv sind und wo möglicherweise Engpässe bestehen. Threads mit roter Markierung weisen auf Ressourcenkonflikte hin.

Deadlocks erkennen

Wenn mehrere Threads dauerhaft rot markiert in der Liste bleiben, kann dies auf einen Deadlock hinweisen. Die Stacktraces zeigen, auf welche Ressourcen die Threads warten.

Entwicklung und Debugging

Während der Entwicklung können Sie mit der Threadübersicht überprüfen, ob Ihre Threads korrekt laufen und sich nicht in unerwarteten Zuständen befinden. Die Suchfunktion hilft dabei, spezifische Threads schnell zu finden.

Low-Level API-Zugriff

Die vollständige Threadübersicht kann auch programmatisch über die agorum core REST-API abgerufen werden. Dies ist nützlich für automatisierte Monitoring-Systeme oder externe Analysewerkzeuge.

Abruf als JSON

Die Threadinformationen können im JSON-Format abgerufen werden.

GET /api/rest/system/threads.json

JSON ist das Standardformat, daher können Sie die Dateiendung auch weglassen:

https://<server>/api/rest/system/threads

Beispielantwort:

{
  "success": true,
  "errorClass": 0,
  "errorCode": 0,
  "errorKey": 0,
  "message": "",
  "threads": [
    {
      "name": "http-0.0.0-80-Processor1",
      "state": "RUNNABLE",
      "stack": "java.lang.Thread.run(Thread.java:750)\n..."
    },
    {
      "name": "pool-1-thread-518",
      "state": "TIMED_WAITING",
      "stack": "sun.misc.Unsafe.park(Native Method)\n..."
    }
  ]
}

Abruf als Text

Alternativ kann die Threadübersicht auch als formatierter Text abgerufen werden:

GET /api/rest/system/threads.txt

Dies liefert eine lesbare Textdarstellung aller Threads mit ihren Stacktraces.

Beispielantwort:

TP-Processor13 (id: 95, state: WAITING)

java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656)
java.lang.Thread.run(Thread.java:750)

DestroyJavaVM (id: 14, state: RUNNABLE)


http-0.0.0.0-443-Processor12 (id: 120, state: WAITING)

java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656)
java.lang.Thread.run(Thread.java:750)

http-0.0.0.0-80-Processor1 (id: 57, state: WAITING)