成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

推薦一款阿里開(kāi)源的Java診斷工具,好用到爆!

開(kāi)發(fā) 后端
Arthas是一款阿里巴巴開(kāi)源的 Java 線上診斷工具,功能非常強(qiáng)大,可以解決很多線上不方便解決的問(wèn)題。

Arthas是什么鬼?

Arthas是一款阿里巴巴開(kāi)源的 Java 線上診斷工具,功能非常強(qiáng)大,可以解決很多線上不方便解決的問(wèn)題。

Arthas診斷使用的是命令行交互模式,支持JDK6+,Linux、Mac、Windows 操作系統(tǒng),命令還支持使用 tab 鍵對(duì)各種信息的自動(dòng)補(bǔ)全,診斷起來(lái)非常利索。

這是它的官方網(wǎng)站:

https://alibaba.github.io/art...

Github地址:

https://github.com/alibaba/ar...

Arthas能解決什么問(wèn)題?

讓我們來(lái)看下 Arthas 的官方解釋。

當(dāng)你遇到以下類似問(wèn)題而束手無(wú)策時(shí),Arthas可以幫助你解決:

1、這個(gè)類從哪個(gè) jar 包加載的?為什么會(huì)報(bào)各種類相關(guān)的 Exception?

2、我改的代碼為什么沒(méi)有執(zhí)行到?難道是我沒(méi) commit?分支搞錯(cuò)了?

3、遇到問(wèn)題無(wú)法在線上 debug,難道只能通過(guò)加日志再重新發(fā)布嗎?

4、線上遇到某個(gè)用戶的數(shù)據(jù)處理有問(wèn)題,但線上同樣無(wú)法 debug,線下無(wú)法重現(xiàn)!

5、是否有一個(gè)全局視角來(lái)查看系統(tǒng)的運(yùn)行狀況?

6、有什么辦法可以監(jiān)控到JVM的實(shí)時(shí)運(yùn)行狀態(tài)?

看完是不是覺(jué)得太牛逼了?

特別是它可以在線反編譯類,可以不用加日志在線調(diào)試跟蹤問(wèn)題代碼。

既然這么牛逼,肯定有不少公司在使用吧,下面列出了官方給出的使用登錄順序圖。

快速安裝

官方推薦使用 arthas-boot 進(jìn)行安裝,非常方便,以下是基于 Linux 系統(tǒng)環(huán)境進(jìn)行演示,一般解決線上問(wèn)題也是基于 Linux 環(huán)境。

第一步:下載

在任何目錄下載 arthas-boot 這個(gè)包。

wget https://alibaba.github.io/art...  

  1. [root@VM_0_7_centos ~]# wget https://alibaba.github.io/arthas/arthas-boot.jar  
  2. --2019-07-30 14:48:31--  https://alibaba.github.io/arthas/arthas-boot.jar  
  3. Resolving alibaba.github.io (alibaba.github.io)... 185.199.108.153, 185.199.109.153, 185.199.110.153, ...  
  4. Connecting to alibaba.github.io (alibaba.github.io)|185.199.108.153|:443... connected.  
  5. HTTP request sent, awaiting response... 200 OK  
  6. Length: 98637 (96K) [application/java-archive]  
  7. Saving to: ‘arthas-boot.jar’  
  8. 100%[==========================================================================================================>] 98,637      32.8KB/s   in 2.9s  
  9. 2019-07-30 14:48:36 (32.8 KB/s) - ‘arthas-boot.jar’ saved [98637/98637] 

第二步:運(yùn)行

使用 java -jar 命令執(zhí)行 arthas-boot 包。

  1. java -jar arthas-boot.jar  
  1. [INFO] arthas-boot version: 3.1.1  
  2. [INFO] Found existing java process, please choose one and hit RETURN.  
  3. * [1]: 13062 spring-boot-best-practice-0.0.1-SNAPSHOT.jar 

第三步:選擇進(jìn)程

運(yùn)行 arthas-boot 后,控制臺(tái)會(huì)顯示所有 Java 進(jìn)程,選擇一個(gè)你需要診斷的進(jìn)程。

如第二步所示,這里有只有一個(gè) Java 進(jìn)程,輸入序號(hào)1,回車,Arthas會(huì)附到目標(biāo)進(jìn)程上,并輸出日志: 

  1. [INFO] Start download arthas from remote server: https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.1.1/arthas-packaging-3.1.1-bin.zip 
  2.  [INFO] Download arthas success.  
  3. [INFO] arthas home: /root/.arthas/lib/3.1.1/arthas  
  4. [INFO] Try to attach process 13062  
  5. [INFO] Attach process 13062 success.  
  6. [INFO] arthas-client connect 127.0.0.1 3658  
  7.   ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.                        
  8.  
  9.  /  O  \ |  .--. ''--.  .--'|  '--'  | /  O  \ '   .-'                           
  10.  
  11. |  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-.                           
  12.  
  13. |  | |  ||  |\  \    |  |   |  |  |  ||  | |  |.-'    |                          
  14.  
  15. `--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----'                    
  16.                                                                            
  17.  
  18.  
  19. wiki      https://alibaba.github.io/arthas                            
  20. tutorials https://alibaba.github.io/arthas/arthas-tutorials                   
  21. version   3.1.1                                                                
  22.  pid       13062                                                                  
  23.  time      2019-07-30 14:49:34 

至此,安裝、啟動(dòng)完成。

更多其他安裝方式見(jiàn):https://alibaba.github.io/art...

實(shí)戰(zhàn)使用

啟動(dòng)完成后,當(dāng)前光標(biāo)會(huì)進(jìn)入 arthas 的控制臺(tái),接受各種操作命令。

下面,棧長(zhǎng)會(huì)做幾個(gè)常用命令的演示,讓大家對(duì)它有一個(gè)基本的認(rèn)識(shí)和快速上手的能力。

1、dashboard

顯示當(dāng)前系統(tǒng)的實(shí)時(shí)數(shù)據(jù)面板,按 ctrl+c 即可退出。

  1. $ dashboard 

2、thread

查看當(dāng)前 JVM 的線程堆棧信息。

thread id, 顯示指定線程的運(yùn)行堆棧: 

  1. $ thread 20 

顯示當(dāng)前最忙的前N個(gè)線程并打印堆棧: 

  1. $ thread -n 3 

3、sc

查看 JVM 已加載的類詳細(xì)信息。 

  1. $ sc -d *Test 

4、sm

查看已加載類的方法信息。 

  1. $ sm -d cn.javastack.springbootbestpractice.SpringBootBestPracticeApplication main 

5、jad

反編譯指定已加載類的源代碼。 

  1. $ jad cn.javastack.springbootbestpractice.SpringBootBestPracticeApplication 

6、trace

顯示方法內(nèi)部調(diào)用路徑,非實(shí)時(shí)返回的命令并輸出方法路徑上的總耗時(shí),以及的每個(gè)節(jié)點(diǎn)上的詳細(xì)耗時(shí)。 

  1. $ trace -j cn.javastack.springbootbestpractice.web.JsonTest getUserInfo 

-j:表示跳過(guò) JDK 中的方法路徑。

7、monitor

對(duì)某個(gè)方法的調(diào)用進(jìn)行定時(shí)監(jiān)控。 

  1. $ monitor cn.javastack.springbootbestpractice.web.JsonTest getUserInfo -c 5 

-c 5:表示每5秒統(tǒng)計(jì)一次,統(tǒng)計(jì)周期,默認(rèn)值為120秒。

監(jiān)控維度說(shuō)明:

監(jiān)控項(xiàng) 說(shuō)明
timestamp 時(shí)間戳
class 類名
method 方法名
total 調(diào)用次數(shù)
success 成功次數(shù)
fail 失敗次數(shù)
rt 平均響應(yīng)時(shí)間
fail-rate 失敗率

8、watch

觀測(cè)方法執(zhí)行數(shù)據(jù),能方便的觀察到指定方法的調(diào)用情況,如:返回值、拋出異常、入?yún)⒌取?nbsp;

  1. $ watch cn.javastack.springbootbestpractice.web.JsonTest getUserInfo '{params, returnObj}' -x 2 -b 

以上監(jiān)控的是一個(gè)方法的入?yún)⑶闆r,在方法執(zhí)行前監(jiān)控:-b,遍歷深度:-x 2。

9、quit/exit

退出當(dāng)前 Arthas。

這個(gè)命令僅退出當(dāng)前連接的客戶端,附到目標(biāo)進(jìn)程上的 Arthas 會(huì)繼續(xù)運(yùn)行,端口不會(huì)關(guān)閉,下次連接時(shí)可以直接連接使用。

10、shutdown

關(guān)閉 Arthas 服務(wù)端,退出所有 Arthas 客戶端。

以上演示了 10 個(gè)命令的基本使用,各種命令的使用詳情可以在命令帶 --help 進(jìn)行查閱。

更多其他命令請(qǐng)參考:

https://alibaba.github.io/art...

總結(jié)

總結(jié)下來(lái),使用 Arthas 可以很方便的診斷一個(gè) Java 應(yīng)用程序,如:系統(tǒng)數(shù)據(jù)面板、JVM實(shí)時(shí)運(yùn)行狀態(tài)、類加載情況、監(jiān)控方法執(zhí)行情況、顯示方法執(zhí)行路徑等。

Arthas這些實(shí)用的功能確實(shí)可以幫助我們解決一些常見(jiàn)的線上問(wèn)題,也能獨(dú)立于應(yīng)用程序代碼,但僅局限于在一個(gè) JVM 進(jìn)程內(nèi),如果是分布式系統(tǒng),Arthas就有點(diǎn)難了。

好了,今天的文章就到這了,你們也在用 Arthas 嗎?歡迎留言分享使用心得,如果覺(jué)得文章不錯(cuò),也可以分享給你的同學(xué)、同事們。

關(guān)注微信公眾號(hào):Java技術(shù)棧,在后臺(tái)回復(fù) “工具” 可以獲取棧長(zhǎng)分享的往期工具列表,后面有好的 Java 開(kāi)發(fā)工具,棧長(zhǎng)也會(huì)第一時(shí)間在公眾號(hào)分享。

 

責(zé)任編輯:龐桂玉 來(lái)源: segmentfault
相關(guān)推薦

2019-12-16 15:16:29

工具代碼開(kāi)發(fā)

2021-11-26 10:36:36

瀏覽器插件谷歌

2020-08-12 09:35:23

Docker工具開(kāi)源

2021-06-09 09:52:29

開(kāi)源Pyroscope代碼

2019-07-22 09:24:54

LinuxMySQL數(shù)據(jù)庫(kù)

2021-01-27 13:16:39

ScreenLinux命令

2021-02-16 10:58:50

ScreenLinux命令

2024-05-09 07:34:38

SQL Server數(shù)據(jù)庫(kù)管理工具

2021-07-16 16:47:40

命令行工具開(kāi)源

2022-02-24 10:48:01

Pycharm插件

2021-04-01 10:22:42

工具Linux文件

2023-04-13 11:39:05

2016-01-08 13:35:34

開(kāi)源CRM用戶關(guān)系管理

2022-06-28 07:14:23

WizTree磁盤文件清理

2019-11-24 23:12:30

Vim插件編輯器編程語(yǔ)言

2023-10-31 08:03:33

開(kāi)源電子簽名組件

2025-04-07 08:10:00

2023-11-23 07:17:44

PixPin圖像標(biāo)注工具

2020-12-21 09:53:52

Redis工具開(kāi)源

2020-02-17 07:20:22

SSH遠(yuǎn)程連接工具Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 男女视频91 | 在线精品国产 | 亚洲高清在线 | 久草影视在线 | 国产成人精品免费视频大全最热 | 成年免费大片黄在线观看一级 | 在线视频国产一区 | 亚洲成人在线免费 | 91久久久久久 | 日韩精品一区二区三区在线播放 | 日韩无 | 亚洲视频在线观看 | av网站在线看 | 久久久久久99 | 成人午夜在线观看 | 亚洲精精品 | 国产精品久久免费观看 | 日韩视频在线一区 | 久久成人一区 | 亚洲免费一区 | 免费精品视频在线观看 | 亚洲一区二区免费 | 亚洲视频中文字幕 | 在线免费观看亚洲 | 亚洲精品综合 | 女人夜夜春 | 亚洲国产精品日韩av不卡在线 | 欧美精品一二三区 | 一级片在线免费看 | 99热在这里只有精品 | 日韩一区二区福利视频 | 美女艹b | 国产精品久久久久久久 | 成人超碰在线 | 国产精品色综合 | 日日夜夜精品视频 | 亚洲高清在线观看 | 天天影视亚洲综合网 | 香蕉一区| 69性欧美高清影院 | 久久久久亚洲精品 |