51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3328|回复: 1
打印 上一主题 下一主题

【jacoco--On-The-Fly插桩 Java Agent】在服务器上部署java agent

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-2-27 20:47:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在服务器上部署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     
新人刚人行,求大牛解惑

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2018-3-6 11:21:52 | 只看该作者
应该是你的命令行的参数问题,你的 output为 file,这个文件在你运行 java命令行的目录下面,至于
jacoco.exec文件内容为空,你要检查一下,是否被意外再次以写方式打开文件,文件被覆盖了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 04:15 , Processed in 0.065811 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表