51Testing软件测试论坛

标题: 【jacoco--On-The-Fly插桩 Java Agent】在服务器上部署java agent [打印本页]

作者: 哈舒哈云哈    时间: 2018-2-27 20:47
标题: 【jacoco--On-The-Fly插桩 Java Agent】在服务器上部署java agent
在服务器上部署java agent,自动化获取代码覆盖率信息,并在jenkins上以图形的形式展现出来
部分原理:JVM中通过-javaagent参数指定特定的jar文件启动Instrumentation的代理程序,代理程序在每装载一个class文件前判断是否已经转换修改了该文件,如果没有则代理程序将探针插入class文件中。代码覆盖率就可以在JVM执行代码的时候实时获取。
初步设想:在服务器上部署java agent,自动化脚本放在服务器中,jenkins定时触发运行脚本,JVM执行代码,写一个脚本将jacoco.exec报告信息(自动化获取的代码覆盖率信息)自动拉取到jenkins中展示出来,并以邮件的方式实时发送给相关人员。
初步任务:初步打通通道-------在服务器上部署java agent,网页执行操作服务器执行代码,直接可以在Xshell中查到生成的jacoco.exec报告信息。
已做工作:已在服务器上部署java agent,网页执行操作服务器执行代码
遇到的问题:
1.页面操作后,在Xshell中查到生成的jacoco.exec报告为空!
2.代理程序的工作日志在哪里查?
因为担心是Instrumentation的代理程序启动失败,所以才想查一下代理程序的工作日志,但是不知道代理程序的工作日志在哪里查
指定特定的jar文件的-javaagent参数如下:(参照java agent官网)
·         -javaagent:/opt/jacoco/lib/jacocoagent.jar(特定的jar文件即javaagent文件放在这里)=destfile=/opt/zcy/modules/web-middle/jacoco.exec,output=file     
新人刚人行,求大牛解惑


作者: 做自己的女王ヽ    时间: 2018-3-6 11:21
应该是你的命令行的参数问题,你的 output为 file,这个文件在你运行 java命令行的目录下面,至于
jacoco.exec文件内容为空,你要检查一下,是否被意外再次以写方式打开文件,文件被覆盖了。





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2