Installation und grundlegende Verwendung von Arthas

Hintergrund

Bei der Entwicklung von Projekten stoßen Sie häufig auf die folgenden Szenarien:

  1. Aus welchem ​​JAR-Paket wird diese Klasse geladen? Warum werden verschiedene Arten von Ausnahmen gemeldet?
  2. Warum wird der von mir geänderte Code nicht ausgeführt? Könnte es sein, dass ich mich nicht verpflichtet habe? Falsche Filiale?
  3. Wenn Sie auf ein Problem stoßen und es nicht online debuggen können, können Sie dann nur Protokolle hinzufügen und es erneut veröffentlichen?
  4. Es liegt ein Problem mit der Online-Datenverarbeitung eines Benutzers vor, das jedoch nicht online debuggt und nicht offline reproduziert werden kann!
  5. Gibt es eine globale Sicht auf die Leistung des Systems?
  6. Gibt es eine Möglichkeit, den Echtzeit-Laufstatus der JVM zu überwachen?
  7. Wie kann man Anwendungs-Hotspots schnell lokalisieren und Flammendiagramme erstellen?
  8. Wie finde ich eine Instanz einer Klasse direkt in der JVM?

Zu diesem Zeitpunkt können wir Arthas verwenden, um das oben genannte Problem zu lösen.
Offizielle Dokumentation von Arthas: Arthas-Gebrauchsanweisung

Installieren

Da Arthas ein von Spring Boot geschriebenes Projekt ist, müssen wir bei der Installation und Verwendung nur das entsprechende JAR-Paket herunterladen und dann das Projekt mit java -jar ausführen.

curl -O https://arthas.aliyun.com/arthas-boot.jar

Wenn wir das obige JAR-Paket ausführen, müssen wir zuerst einen Java-Prozess im Speicher ausführen, andernfalls tritt die Fehlermeldung auf, dass der Java-Prozess nicht gefunden werden kann [!!#ff0000 Sie können jps verwenden, um die auf dem System ausgeführten Prozesse anzuzeigen!! ]

java -jar arthas-boot.jar

Einfach zu benutzen

1. Thread

Verwenden Sie den Thread-Befehl, um die Thread-Stack-Informationen der aktuellen JVM anzuzeigen.
Fügen Sie hier eine Bildbeschreibung ein
Sie müssen den Befehl mit Parametern verwenden, die später gespleißt werden können.

Parametername Parameterbeschreibung
Nummer Thread-ID
[N:] Finden Sie die N-Threads mit der höchsten Auslastung und drucken Sie den Stapel
[B] Suchen Sie den Thread, der derzeit andere Threads blockiert
[ich] Geben Sie das Abtastintervall für die CPU-Verhältnisstatistik in Millisekunden an
thred -n 3
thread -b 

Fügen Sie hier eine Bildbeschreibung ein

2. jad

Wenn wir wissen möchten, ob eine Online-Filiale über einen eigenen Code verfügt, können wir ihn mit dem Befehl jad dekompilieren

jad 类全路径名

![

3. Überwachen

Funktion: Überwachen Sie die Ausführung von Methoden in der angegebenen Klasse.
Rufen Sie bei Klassen, die mit Klassenmuster/Methodenmuster übereinstimmen, wiederholt den Monitor auf. Der
Monitorbefehl ist ein nicht in Echtzeit erfolgender Rückgabebefehl. Er wartet kontinuierlich auf den Ziel-Java-Prozess Geben Sie Informationen zurück, bis der Benutzer Strg + C eingibt

monitor 类全路径名 方法名  -n 监控次数 --cycle 间隔采样的时间[单位s]

Fügen Sie hier eine Bildbeschreibung ein

4. Beobachten

Beobachten Sie den Aufrufstatus der angegebenen Methode.
Mit Regeln für Methodenausführungsdaten können Sie den Aufrufstatus der angegebenen Methode einfach beobachten.
Der Beobachtungsbereich umfasst: Rückgabewert, Auslösen von Ausnahmen, Eingeben von Parametern und Anzeigen von Variablen durch Schreiben von ONGL-Ausdrücken.

watch 类名 方法名 '{params,returnObj,throwExp}'  -n 5  -x 3

„{params,returnObj,throwExp}“ ist hier eine Art sogenannter ognl-Ausdruck, der die Notwendigkeit angibt, Parameter auszugeben, Werte zurückzugeben und Ausnahmen auszulösen

Fügen Sie hier eine Bildbeschreibung ein

5. Spur

Trace dient dazu, den Aufrufpfad innerhalb der Methode zu verfolgen und den Zeitverbrauch jedes Knotens auf dem Methodenpfad auszugeben.

Parameterbeschreibung

Parametername Parameterbeschreibung
Klassenmuster Klassennamenausdruck
Methodenmuster Methodennamenausdruck
Zustand-Express Bedingter Ausdruck, standardmäßig ist die Wildcard-Übereinstimmung
[E] Aktivieren Sie den Abgleich mit regulären Ausdrücken. Der Standardwert ist der Platzhalterabgleich.
[N:] Legen Sie die Anzahl der Befehlsausführungszeiten fest
#kosten Methodenausführungszeit, Einheit ist Millisekunden
trace 类名 方法名 调用次数 限制条件

Fügen Sie hier eine Bildbeschreibung ein

Eine kurze Einführung in das Arthas Idea-Plug-in

Das Obige stellt kurz einige allgemeine Befehle von Arthas vor. Während der normalen Entwicklung können wir einige Compiler-Plug-Ins vollständig verwenden, ohne Befehle manuell eingeben zu müssen.
Fügen Sie hier eine Bildbeschreibung ein
Einfache Verwendung
Nachdem wir das Plug-in aktiviert haben, können wir es mit einigen gängigen Befehlen ändern
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Supongo que te gusta

Origin blog.csdn.net/TheWindOfSon/article/details/135292739
Recomendado
Clasificación