arthas - 阿里的Java诊断工具

2019-04-17  本文已影响0人  cf6bfeab5260

参考链接
官方文档

作用

安装

Mac/linux 安装:
curl -L https://alibaba.github.io/arthas/install.sh | sh
启动Arthas:
./as.sh
启动的时候列出所有java进程,你需要选择一个你要监控的进程号。启动成功了是如下显示:

image.png
help可以显示所有命令:
image.png

使用示例:

dashboard


image.png

watch:

watch com.jccfc.merchant.openapi.controller.data.DataController getCreditScoreJxl "{params,returnObj}" -x 2
Press Q or Ctrl+C to abort.
Affect(class-cnt:2 , method-cnt:2) cost in 220 ms.
ts=2019-05-05 16:51:34; [cost=554.805778ms] result=@ArrayList[
    @Object[][
        @CreditScoreJxlRequest[CreditScoreJxlRequest(super=BaseRequest(channelId=ronghui001, timestamp=20190318202037, msgDigest=OTM0MzA2MzdGOTIwODQ0RTdGQzQ3MTlFQTJGMDJBREYxRjlCQUMzMg==, requestId=20190318202000370015), name=测试号, idNumber=22052319931030301X, telNumber=19900349586, applyId=null, proCode=ronghui, pbocQueryReason=01)],
    ],
    @CreditScoreJxlResponse[
        score=null,
    ],
]
ts=2019-05-05 16:51:34; [cost=706.49247ms] result=@ArrayList[
    @Object[][
        @CreditScoreJxlRequest[CreditScoreJxlRequest(super=BaseRequest(channelId=ronghui001, timestamp=20190318202037, msgDigest=OTM0MzA2MzdGOTIwODQ0RTdGQzQ3MTlFQTJGMDJBREYxRjlCQUMzMg==, requestId=20190318202000370015), name=测试号, idNumber=22052319931030301X, telNumber=19900349586, applyId=null, proCode=ronghui, pbocQueryReason=01)],
    ],
    @CreditScoreJxlResponse[
        score=null,
    ],
]

trace:

$ trace com.jccfc.merchant.openapi.controller.data.DataController getCreditScoreJxl
Press Q or Ctrl+C to abort.
Affect(class-cnt:2 , method-cnt:2) cost in 150 ms.
`---ts=2019-05-05 17:00:20;thread_name=http-nio-7081-exec-2;id=13;is_daemon=true;priority=5;TCCL=org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader@6d4d66d2
    `---[398.278735ms] com.jccfc.merchant.openapi.controller.data.DataController$$EnhancerBySpringCGLIB$$674de665:getCreditScoreJxl()
        `---[397.931322ms] org.springframework.cglib.proxy.MethodInterceptor:intercept()
            `---[388.042468ms] com.jccfc.merchant.openapi.controller.data.DataController:getCreditScoreJxl()
                +---[0.03531ms] com.jccfc.merchant.openapi.request.controller.data.CreditScoreJxlRequest:getChannelId()
                +---[min=0.009957ms,max=0.01015ms,total=0.020107ms,count=2] com.jccfc.merchant.openapi.common.config.ChannelConfig:getChannels()
                +---[min=0.004538ms,max=0.017125ms,total=0.021663ms,count=2] java.util.Map:containsKey()
                +---[min=0.003197ms,max=0.010777ms,total=0.013974ms,count=2] java.util.Map:get()
                +---[3.522071ms] com.jccfc.merchant.openapi.common.utils.ValidateUtil:checkMsgDigest()
                +---[0.015853ms] com.jccfc.merchant.openapi.request.biz.data.BizCreditScoreJxlRequest:<init>()
                +---[0.229565ms] com.jccfc.merchant.openapi.request.biz.data.BizCreditScoreJxlRequest:build()
                +---[0.0116ms] org.springframework.util.StopWatch:<init>()
                +---[0.01012ms] java.lang.StringBuilder:<init>()
                +---[0.01427ms] com.jccfc.merchant.openapi.common.config.ThirdInterfaceIpConfig:getDataGroup()
                +---[min=0.004797ms,max=0.01513ms,total=0.019927ms,count=2] java.lang.StringBuilder:append()
                +---[0.009278ms] java.lang.StringBuilder:toString()
                +---[min=0.496703ms,max=0.577788ms,total=1.074491ms,count=2] org.slf4j.Logger:info()
                +---[1.426426ms] org.springframework.util.StopWatch:start()
                +---[377.68213ms] org.springframework.web.client.RestTemplate:postForObject()
                +---[0.026689ms] org.springframework.util.StopWatch:stop()
                +---[0.012465ms] org.springframework.util.StopWatch:getTotalTimeSeconds()
                +---[min=0.002991ms,max=0.027495ms,total=0.048413ms,count=7] java.lang.Double:valueOf()
                +---[0.136067ms] com.jccfc.merchant.openapi.response.controller.data.CreditScoreJxlResponse:<init>()
                +---[0.023127ms] com.jccfc.merchant.openapi.response.biz.data.BizCreditScoreJxlResponse:getStatus()
                +---[0.008052ms] java.lang.Integer:intValue()
                +---[min=0.003495ms,max=0.006388ms,total=0.009883ms,count=2] com.jccfc.merchant.openapi.response.biz.data.BizCreditScoreJxlResponse:getScore()
                +---[0.050585ms] java.lang.String:valueOf()
                +---[0.018126ms] java.lang.Double:parseDouble()
                +---[0.011354ms] com.jccfc.merchant.openapi.request.controller.data.CreditScoreJxlRequest:getRequestId()
                +---[0.008086ms] com.jccfc.merchant.openapi.response.biz.data.BizCreditScoreJxlResponse:getMsg()
                +---[0.016138ms] com.jccfc.merchant.openapi.response.controller.data.CreditScoreJxlResponse:build()
                +---[min=0.003563ms,max=0.009332ms,total=0.012895ms,count=2] java.util.HashMap:<init>()
                +---[min=0.002803ms,max=0.053075ms,total=0.07541ms,count=8] java.util.Map:put()
                +---[0.008751ms] com.jccfc.merchant.openapi.request.controller.data.CreditScoreJxlRequest:getIdNumber()
                +---[0.008883ms] com.jccfc.merchant.openapi.response.controller.data.CreditScoreJxlResponse:setResponseStatus()
                `---[0.018397ms] com.jccfc.merchant.openapi.response.controller.data.CreditScoreJxlResponse:setScore()
上一篇下一篇

猜你喜欢

热点阅读