V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ukipoi
V2EX  ›  Java

请教一下, Java 后台怎么几率一个接口各个业务的响应时间?

  •  
  •   ukipoi · 2018-12-07 14:19:40 +08:00 · 4640 次点击
    这是一个创建于 2173 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在发现我写的一个借口在 chrome 里控制台查看是花了 200ms, 感觉花的时间有点多了,想查看一个接口 /一次 sql 花费多少时间应该怎么做呢? 我只能想到 在进入接口是启动计时,完成时结束计时 这样的方法(有点丢脸,什么都不懂) 还有更好的方法么(我觉得肯定有)

    25 条回复    2018-12-11 09:52:58 +08:00
    RoyL
        1
    RoyL  
       2018-12-07 14:24:20 +08:00
    额。。junit 不行嘛
    cyhulk
        2
    cyhulk  
       2018-12-07 14:24:23 +08:00
    AOP 实现下你说的就可以,没有什么更好的方法
    misaka19000
        3
    misaka19000  
       2018-12-07 14:41:34 +08:00
    你的做法是对的,一般也是这么玩的
    werty
        4
    werty  
       2018-12-07 14:41:39 +08:00
    加个 Interceptor 啊,
    BeFun
        5
    BeFun  
       2018-12-07 14:41:49 +08:00
    单元测试,没有比这个更好的方式了
    feiyuanqiu
        6
    feiyuanqiu  
       2018-12-07 15:03:26 +08:00
    jimrok
        7
    jimrok  
       2018-12-07 15:04:24 +08:00
    先去了解一下 log4j 或者 logback
    aboutyang
        8
    aboutyang  
       2018-12-07 15:24:59 +08:00
    简单粗暴上 APM
    goodspb
        9
    goodspb  
       2018-12-07 18:14:05 +08:00 via iPhone
    cat …
    crossoverJie
        10
    crossoverJie  
       2018-12-07 18:22:12 +08:00
    写日志是一种方式,不改代码也可以用 APM 工具。看这个能帮到你不。

    https://crossoverjie.github.io/2018/11/12/java-senior/coding-online-analysis/
    x66
        11
    x66  
       2018-12-07 18:53:34 +08:00 via iPhone
    Tracing
    Kaiv2
        12
    Kaiv2  
       2018-12-07 21:28:38 +08:00 via Android
    @feiyuanqiu 去试试,看看怎么样
    Kaiv2
        13
    Kaiv2  
       2018-12-07 21:28:56 +08:00 via Android
    @feiyuanqiu 谢谢推荐
    whx20202
        14
    whx20202  
       2018-12-07 22:06:09 +08:00
    用 AOP 来完成就行了。

    首先写一个注解,比如说 @LogExeTime,然后注解保留期为 Runtime,target 为 method
    然后搞个 spring-aop,around 这个注解,就是说在 spring 在执行到任何有这个注解的函数的时候,都会进入 aop,执行 aop 上下文方法,然后上下文方法里,记录函数执行时间
    DarrenLuo
        15
    DarrenLuo  
       2018-12-07 22:32:50 +08:00 via Android
    有一个东西叫做 metrics
    429839446
        16
    429839446  
       2018-12-07 22:36:47 +08:00
    opentracing 了解一下
    rockyou12
        17
    rockyou12  
       2018-12-07 22:44:43 +08:00
    其他更好的方法其实也就 lz 这办法,最多也就优雅点,简单粗暴入口出口打印下没啥的
    ToddTong
        18
    ToddTong  
       2018-12-07 23:09:48 +08:00 via iPhone
    pinpoint
    guodong110
        19
    guodong110  
       2018-12-08 00:19:04 +08:00 via Android
    ZipKin、cat
    zts1993
        20
    zts1993  
       2018-12-08 00:31:24 +08:00
    对于 dal cal 层 还有 rpc 加 digest log,这是最简单了, 当然 traceid 也得有
    zhanwh9
        21
    zhanwh9  
       2018-12-08 13:11:55 +08:00 via Android
    就是这么玩的,可以上 zipkin
    mifly
        22
    mifly  
       2018-12-08 15:36:27 +08:00 via Android
    搜下 pinpoint,开源的 java apm,不用修改 java 代码可以搜集性能数据,只要在启动的时候加 agent,具体用法看说明
    Foxkeh
        23
    Foxkeh  
       2018-12-08 15:55:12 +08:00 via iPhone
    我从深圳北上车,快到武汉了才明白,标题既要说的 几率 是 记录
    tedzhou1221
        24
    tedzhou1221  
       2018-12-09 01:18:18 +08:00
    xrebel 了解一下吧,我身边很多人都不知道这个工具。。。这么好的工具不用太可惜了
    yongSir
        25
    yongSir  
       2018-12-11 09:52:58 +08:00
    @Foxkeh 我也是看这标题鼓起了很大的勇气才点进来的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1750 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:47 · PVG 00:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.