10 年测试开发,专注于 JVM 底层,精通字节码技术,可提供 JVM 系语言的测试覆盖率,影子数据库等解决方案。也擅长自动化测试。
-jar 参数启动的话需要把 agent 的 jar 包加入 bootclasspath 哦,github 空间里的 wiki 有介绍,有问题可以先看看 wiki
感谢使用,github 有邮件通知,有问题欢迎到空间里提 issue,一般都会看的
是的,所以我这个 agent 专门支持了热部署和热卸载,如果不得已要在线上调试的话,可以找业务低谷时段放上去用
没错,我就是研究了 jacoco 后发现在上面二次开发也没法满足我的要求,所以就从 0 写了
请务必使用一下,如果确实发现你的某条分支未检测到执行覆盖的话,可以给我提 issue。我会很感激帮我完善工具的行为。
谢谢。
覆盖率这个东西,越做到后面越印证了那句话,测试三分靠技术,七分靠管理。完整的解决方案必须要结合管理手段来实现的。所以有问题的话欢迎一起探讨,如有对工具有更多需要的功能,也可以到 github 上给我提 issue,我看到后会在业余时间抽空给工具添加上的。
感觉我很合适,testerhome 里有几篇文章,可以点我资料看看。
不过可能不太方便挪窝,有远程岗位吗?
能完整的看一遍再发言吗?至少把限定语境看一下吧。关于安全性,本身就是个开源软件,有问题提出来打补丁就行了,没什么好说的。关于性能,劳烦看一下 GH 上的 wiki。
生产中有没有别人用我不知道,不过你这话倒让我回忆起了一点往事,当年我也是准备买商业工具来做这个事情的,谈了个供应商,效果大概也是我这样,然后工具要价 50w,每测试人员每 license 要价 5w(都是买断的一口价),我觉得贵了,才自己做了一个。
1、请确保将 build/libs 下的所有 jar 都放到了你指定的目录中,除了 remote-debug-agent.jar 外,应该还有十几个 jar,你所述的 Exception 所描述的类是在 asm 开头的几个 jar 包里。
2、可以描述一下你的环境,或者贴出完整的报错吗(到我的 github 提 issue 也行)?有多种情况可能造成 ClassNotFoundException,可能跟 jvm 本身的类加载规则有关。比如一些使用-jar 参数启动的情况下,或者环境不使用 jdk 自带的 AppClassLoader 时(比如 Scala)。可以试一下将 remote-debug-agent.jar 加入到 bootclasspath 中(java 命令行带上参数 -Xbootclasspath/a:${你的目录}/remote-debug-agent.jar)
这篇文章确实写得比较简陋 ,近期我也打算写一下更详细的使用说明,或者 wiki。欢迎持续关注本工具。
本工具从设计上来说,是以调用者为记录的粒度的,不是以某一个请求为粒度,所以可能无法以你描述的视角来做这个事情。或者说我的工具侧重的是调试或测试,你说的场景有点侧重于运行监控。
当然从我的视角出发也可以实现你所说的效果。前面我介绍得有点简单,实际上探针提供了一组灵活的 api 供使用。如果访问http://ip:8098/trace/
地址可以看到我实际提供了 start、stop、list、clean 4 个 api,你可以先调用 start 接口,然后发送请求 A,然后调用 list 得到 A 执行的方法,之后调用 clean 接口,可清空你这个调用者之前记录的数据,再发送请求 B,再调 list 即可得到 B 执行的方法。
我应该写个类似 wiki 之类的东西的,但是一直没找到时间。我以后会慢慢补充文档的。
10 年测试开发,专注于 JVM 底层,精通字节码技术,可提供 JVM 系语言的测试覆盖率,影子数据库等解决方案。也擅长自动化测试。