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

2018-12-07 14:19:40 +08:00
 ukipoi

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

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

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

首先写一个注解,比如说 @LogExeTime,然后注解保留期为 Runtime,target 为 method
然后搞个 spring-aop,around 这个注解,就是说在 spring 在执行到任何有这个注解的函数的时候,都会进入 aop,执行 aop 上下文方法,然后上下文方法里,记录函数执行时间
DarrenLuo
2018-12-07 22:32:50 +08:00
有一个东西叫做 metrics
429839446
2018-12-07 22:36:47 +08:00
opentracing 了解一下
rockyou12
2018-12-07 22:44:43 +08:00
其他更好的方法其实也就 lz 这办法,最多也就优雅点,简单粗暴入口出口打印下没啥的
ToddTong
2018-12-07 23:09:48 +08:00
pinpoint
guodong110
2018-12-08 00:19:04 +08:00
ZipKin、cat
zts1993
2018-12-08 00:31:24 +08:00
对于 dal cal 层 还有 rpc 加 digest log,这是最简单了, 当然 traceid 也得有

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/515352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX