美文网首页
arthas - 阿里的Java诊断工具

arthas - 阿里的Java诊断工具

作者: cf6bfeab5260 | 来源:发表于2019-04-17 18:06 被阅读0次

    参考链接
    官方文档

    作用

    • 查看JVM 和 系统 相关信息和状态。
    • 以切面的方式对正在运行的包进行追踪和监控,不需要重启。(这一点用btrace也可以做到)

    安装

    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()
    

    相关文章

      网友评论

          本文标题:arthas - 阿里的Java诊断工具

          本文链接:https://www.haomeiwen.com/subject/lktowqtx.html