【DIY】代码调用栈

StopWatch

之前写了一个调用栈的代码,结合MongoDB实现了一个监控代码调用次数和业务调用栈的小功能(有点类似于SpringBoot提供的监控的其中一个功能),代码有点复杂。

另外,因为mongo提供了很方便的函数(inc: 用于增量函数调用次数…),所以可以实现上面说的功能,这里就不再详细说明。

后来发现 b3log里用到了一个 StopWatch 的类,来记录业务执行的时间,不过 b3log 需要手动在代码里添加,不够灵活,本人果断拿过来进行包装,23333。

后来又发现原来好多框架里原来都实现了这样一个东西。

不过这个只能实时输出调用信息,没有增量计算(调用了多少次,平均运行时长,某一业务内部的函数调用了多少次、运行了多久)
不过可以结合自己情况,做一些修改。

代码:https://github.com/JPCui/jp-base/tree/master/src/main/java/cn/cjp/core/stopWatch

Demo

StopWatchTest

运行结果示例

[100]%, [4357]ms [cn.cjp.core.service.UserService.func1()]
  [22.97]%, [1001]ms [cn.cjp.core.service.UserService.func2()]
  [22.95]%, [1000]ms [cn.cjp.core.service.UserService.func3()]
  [22.95]%, [1000]ms [cn.cjp.core.service.UserService.func2()]

核心:Stopwatchs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值