亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

愛上Java診斷利器之Arthas

Hancock_Xu / 2615人閱讀

摘要:是什么摘自的介紹大意為是阿里開源的一個(gè)診斷工具,可以幫助開發(fā)人員在不修改代碼或重啟服務(wù)器的情況下快速定位線上問題。聽起來(lái)確實(shí)是我們的程序員的一大福利。參考資料使用手冊(cè)

1. Arthas是什么?

摘自Arthas的Github介紹:

Arthas is a Java Diagnostic tool open sourced by Alibaba.

Arthas allows developers to troubleshoot production issues for Java applications without modifying code or restarting servers.

大意為:Arthas是阿里開源的一個(gè)Java診斷工具,可以幫助開發(fā)人員在不修改代碼或重啟服務(wù)器的情況下快速定位線上問題。

聽起來(lái)確實(shí)是我們的程序員的一大福利。比如,我們就遇到一種情況,Spring Boot應(yīng)用中有個(gè)cron定時(shí)任務(wù)為每天凌晨1點(diǎn)啟動(dòng)執(zhí)行,但是測(cè)試起來(lái)很不方便,總不能每次修改cron時(shí)間來(lái)讓QC測(cè)試吧?這樣雖然是方便了測(cè)試妹子,但是卻徒增了我們開發(fā)時(shí)間和迭代次數(shù)?。。?!那Arthas到底是否能夠滿足我們需求呢?Go on...

2. 開啟Arthas之旅 2.1 安裝Arthas

方式1:下載arthas-boot.jar包的方式

wget https://alibaba.github.io/arthas/arthas-boot.jar

此時(shí)在你當(dāng)前所在目錄下會(huì)有個(gè) arthas-boot.jar 包。

嘗試下arthas:

# 啟動(dòng)arthas,會(huì)進(jìn)入命令行交互狀態(tài)
java -jar arthas-boot.jar

# 查看arthas命令手冊(cè)
java -jar arthas-boot.jar -h

方式2:通過as.sh安裝Arthas(強(qiáng)烈推薦

# 該命令會(huì)下載 as.sh 到當(dāng)前目錄下
curl -L https://alibaba.github.io/arthas/install.sh | sh

嘗試下arthas:

# 啟動(dòng)arthas,會(huì)進(jìn)入命令行交互狀態(tài)
./as.sh

# 查看arthas命令手冊(cè)
./as.sh -h
2.2 開始使用

下面演示我們以 as.sh 為主。

首先我們啟動(dòng)arthas,會(huì)查看到我們當(dāng)前server上部署的應(yīng)用已經(jīng)被探測(cè)到,當(dāng)前我的server上只有一個(gè)應(yīng)用程序,只需輸入數(shù)字1,即可和該應(yīng)用進(jìn)行交互:

2.2.1 基礎(chǔ)命令

通過 dashboard 命令可以實(shí)時(shí)查看應(yīng)用監(jiān)控?cái)?shù)據(jù)

通過 thread 命令查看應(yīng)用程序中所有線程情況


其中第一列為線程的ID。

通過 thread threadId 命令查看指定線程狀態(tài)信息

比如我們要查看線程ID為506的線程狀態(tài)信息:

當(dāng)然,因?yàn)槭敲钚薪换?,也是支持管道流式操作?/p>

通過 watch 命令去查看方法的參數(shù)、返回值和異常信息

通過 sc 命令查看類的信息

通過 sc yourFullClassName

通過 sc -d yourFullClassName* 去查看JVM加載的類信息

通過 sc *yourClassName* 去查看JVM加載的類信息

通過 sm 命令查看類的方法信息

case 1: sm java.math.RoundingMode

case 2: sm -d java.math.RoundingMode

case 3: sm java.math.RoundingMode

2.2.2 重頭戲命令

通過 jad yourFullClassName 去查看反編譯后的完整代碼信息

通過 jad --source-only yourFullClassName > /tmp/yourClassName.java 導(dǎo)出反編譯代碼到臨時(shí)目錄

通過 vim /tmp/yourClassName.java 進(jìn)行編輯修改代碼

通過 sc -d *yourClassName | grep classLoaderHash 獲取加載yourClassName的類加載器

通過 mc -c classLoaderHash /tmp/yourClassName.java -d /tmp 重新用相同類加載器重新編譯修改后的類(mc: Memory Compiler)

通過 redefine /tmp/yourFullClassName.class 重新加載新的被編譯的類文件

2.2.3 更多操作案例

請(qǐng)參考官方手冊(cè),了解更多操作案例和用法。

參考資料

Arthas

Arthas使用手冊(cè)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/74835.html

相關(guān)文章

  • 推薦一款阿里開源的 Java 診斷工具,好用到爆!

    摘要:是什么鬼是一款阿里巴巴開源的線上診斷工具,功能非常強(qiáng)大,可以解決很多線上不方便解決的問題。診斷使用的是命令行交互模式,支持,操作系統(tǒng),命令還支持使用鍵對(duì)各種信息的自動(dòng)補(bǔ)全,診斷起來(lái)非常利索。顯示當(dāng)前系統(tǒng)的實(shí)時(shí)數(shù)據(jù)面板,按即可退出。 Arthas是什么鬼? Arthas是一款阿里巴巴開源的 Java 線上診斷工具,功能非常強(qiáng)大,可以解決很多線上不方便解決的問題。 Arthas診斷使用的是...

    Rango 評(píng)論0 收藏0
  • Java診斷工具Arthas

    摘要:診斷工具簡(jiǎn)介是阿里開源的一個(gè)線上診斷工具,發(fā)現(xiàn)阿里還是挺喜歡開源一些技術(shù)的,造福人類。昨天試用了一下,發(fā)現(xiàn)真是強(qiáng)大,解決了我工作兩年的很多困擾,有點(diǎn)相見恨晚的感覺。每秒統(tǒng)計(jì)方法的調(diào)用次數(shù),成功失敗次數(shù)和平均響應(yīng)時(shí)間等。具體使用請(qǐng)見。 Java診斷工具Arthas 1. Arthas簡(jiǎn)介 Arthas是阿里開源的一個(gè)線上java診斷工具,發(fā)現(xiàn)阿里還是挺喜歡開源一些技術(shù)的,造福人類。昨天試...

    happyfish 評(píng)論0 收藏0
  • 阿里在線診斷工具Arthas調(diào)整日志等級(jí)記錄

    摘要:阿里的開源診斷工具可以在線調(diào)整等級(jí)查找當(dāng)前類的用獲取單獨(dú)設(shè)置的全局設(shè)置 阿里的開源Java診斷工具Arthas可以在線調(diào)整log等級(jí) 查找當(dāng)前類的classloader hashcode sc -d com.example.demo.arthas.user.UserController | grep classLoaderHash 用OGNL獲取logger ognl -c 1be6f...

    lansheng228 評(píng)論0 收藏0
  • Arthas使用指南

    摘要:注意這個(gè)統(tǒng)計(jì)也會(huì)產(chǎn)生一定的開銷這個(gè)接口本身開銷比較大,因此會(huì)看到的線程占用一定的百分比,為了降低統(tǒng)計(jì)自身的開銷帶來(lái)的影響,可以把采樣間隔拉長(zhǎng)一些,比如毫秒。 Arthas 能為你做什么? 這個(gè)類從哪個(gè) jar 包加載的?為什么會(huì)報(bào)各種類相關(guān)的 Exception? 我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯(cuò)了? 遇到問題無(wú)法在預(yù)發(fā) debug 一下,難道只能通過加...

    darkerXi 評(píng)論0 收藏0
  • 【深度】| 值得收藏的阿里開源技術(shù)

    摘要:淘寶定制基于,是國(guó)內(nèi)第一個(gè)優(yōu)化定制且開源的服務(wù)器版虛擬機(jī)。數(shù)據(jù)庫(kù)開源數(shù)據(jù)庫(kù)是基于官方版本的一個(gè)分支,由阿里云數(shù)據(jù)庫(kù)團(tuán)隊(duì)維護(hù),目前也應(yīng)用于阿里巴巴集團(tuán)業(yè)務(wù)以及阿里云數(shù)據(jù)庫(kù)服務(wù)。淘寶服務(wù)器是由淘寶網(wǎng)發(fā)起的服務(wù)器項(xiàng)目。 Java JAVA 研發(fā)框架 SOFAStack SOFAStack(Scalable Open Financial Architecture Stack)是用于快速構(gòu)建金融...

    econi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<