time-tracker icon indicating copy to clipboard operation
time-tracker copied to clipboard

有考虑提供javaagent方式使用吗?

Open yutimothy666 opened this issue 4 years ago • 6 comments

我看demo代码入侵性很强

yutimothy666 avatar Feb 05 '21 11:02 yutimothy666

我看demo代码入侵性很强

为了实现代码片段级别(非方法级别,方法太粗了)的追踪,侵入型是比较强。反过来理解,其实侵入型基本没有,只是把之前需要打log4j日志的一行代码换成TT了,而且不需要自己手工计算耗时了,比打日志还简单。当然如果业务不需要追踪这么细,只要到方法粒度就够了,那也可以考虑加注解的方式,这种有点为了方便而背离初衷。您说的java agent具体是指什么,能细说下吗?

useraddZYB avatar Feb 07 '21 03:02 useraddZYB

@useraddZYB javaagent 是在 JVM 运行 main 函数之前执行指定方法,比如 skywalking 可以在不需要改代码的情况下使用,只需要修改 java 程序的启动命令(加上 -javaagent 参数)

zhangnew avatar May 16 '21 09:05 zhangnew

你好,请问能集成到-javaagent 参数方式使用嘛?

cfy3133 avatar Dec 18 '23 08:12 cfy3133

@useraddZYB javaagent 是在 JVM 运行 main 函数之前执行指定方法,比如 skywalking 可以在不需要改代码的情况下使用,只需要修改 java 程序的启动命令(加上 -javaagent 参数)

skywalking这些开源的框架,通常做法都是读写字节码,对性能稳定性有影响,所以他们默认只对接口或方法前后判断,粒度较粗。我的这个比较简单,直接类似于log打日志的方式常规侵入,性能影响可以忽略,所以粒度可以很细。缺点就是埋点侵入的问题了。

useraddZYB avatar Dec 18 '23 09:12 useraddZYB

你好,请问能集成到-javaagent 参数方式使用嘛?

不能。这个框架的理念,就是替换log4j,且轻量级提供trace功能。自己控制trace的粒度粗细,可以取到局部变量,且轻量级性能影响低。不考虑字节码读写的方式,我认为这种大面上是不安全的,且粒度不好把控。

useraddZYB avatar Dec 18 '23 09:12 useraddZYB

作者你好,明白了,我是测试,其实很希望我们的公司引入您这个开源工具,但是小公司的开发一般都不想搞那么麻烦,嫌弃工作量大,推广比较难,希望后期有类似于skywalking非侵入性追踪的方式也挺好,如果违背了您当初的初心就保持您现在的这种方式也好,每个人的选着不一样,如下截图是skywalking非侵入的方式,最后谢谢作者耐心回复。 image

cfy3133 avatar Dec 19 '23 09:12 cfy3133