# 🎉 Javaagent 🎉
## 概述
**javaagent** 是一个简单优雅的 java agent ,利用 java 自带的 `instrument` 特性+ `javassist` 字节码编辑技术,实现了无侵入的方法级性能监控。相比于NewRelic或者开源的[pinpoint](https://github.com/naver/pinpoint),以及阿里的[arthas](https://github.com/alibaba/arthas),本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到json格式的日志文件中。基于javaagent的日志,你可以使用严丽同学开发的[agent日志分析工具](https://pan.baidu.com/s/1Ma4iEWRmBonGO1TapeEF-g)进行分析查询,或者可以自己去写分析器,这样可以让你快速定位生产环境的性能瓶颈。
## 集成
java启动参数中就有javaagent,你只需要在JAVA_OPTS中加入`-javaagent:/opt/javaagent/javaagent.jar=/opt/javaagent/agent.properties`就实现了方法级监控。其中`=`前指定的是jar包的路径,`=`后指定的是对agent的一些配置参数。
### agent.properties说明
```
# 需要监控的包,多个包用分号分隔
agent.include.package=com.XXX
# 不需要监控的包,多个包用分号分隔。 需要监控的包-不需要监控的包就是真正要监控的包
agent.exclude.package=
# 日志文件,会自动增加日期后缀
agent.log.file=/opt/agent.log
# 日志输出周期
agent.log.interval.seconds=600
# 不需要监控的类的正则表达式
agent.exclude.class.regex=
# 是否记录平均时间
agent.log.avg.execute.time=false
# 记录方法的耗时时是采用nanoTime,还是currentTimeMillis,nanoTime更准确,但是会耗时一些
agent.log.nano=true
# 是否统计方法执行时间百分比,同JMeter性能测试百分比计算方式,如果开启默认会统计最大值、最小值
agent.log.stat.execute.time=false
# 方法执行时间统计百分比(agent.log.stat.execute.time=true时有效),多选范围[0, 1],例如:0.5,0.9,0.95,0.99
agent.log.stat.execute.time.pct=0.5,0.9,0.95,0.99
```
## agent日志分析器使用
agent日志分析器是我同事严丽使用SpringBoot+h2数据库开发的分析工具,除了基础功能,对于有sql能力的同学,你可以直接使用[agent日志分析工具](https://pan.baidu.com/s/1Ma4iEWRmBonGO1TapeEF-g)自带的[console](http://ip:port/console)登录后,直接写sql进行统计,你可以按自己想要的维度来进行处理。
- JDBC URL: jdbc:h2:mem:~/h2test
- USer Name : sa
- Password : 空
登录后,你就可以尽情地写 sql 对类、方法的执行次数、执行时间进行统计查询。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于JavaAgent开发的APM工具简介 本资源是基于JavaAgent技术实现的应用性能监控(APM)工具。它专注于收集Java方法的执行次数和执行时间,旨在帮助开发人员深入了解应用的性能表现。通过JavaAgent机制,该工具能够非侵入式地嵌入到目标应用程序中,实时监控并记录方法的调用情况,包括每次方法调用的发生时间、执行时长等关键信息。 该APM工具具备定时输出功能,会将收集到的数据整理成JSON格式的日志文件。这种格式化的输出方式便于后续的数据处理和分析,用户可以利用这些日志数据进行性能评估、问题排查以及优化决策。同时,JSON格式也具有良好的通用性和扩展性,方便与其他系统或工具进行集成。 总之,本资源是一个实用的学习资源,适用于希望了解和实践Java应用性能监控技术的开发者。通过研究和应用本工具,可以提升对Java应用性能优化的理解和能力。
资源推荐
资源详情
资源评论































收起资源包目录





































































































共 379 条
- 1
- 2
- 3
- 4
资源评论


葡萄籽儿
- 粉丝: 1042
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 房建装修工程监理技术标标书.doc
- 置地北京公司建筑工程施工阶段管理规定.doc
- 河北2012建筑、装饰工程预算定额变化及计算规则说明.doc
- 敏感性分析例题.ppt
- 单层钢结构工业厂房毕业实习报告.docx
- 建设工程监理规范用表.doc
- 微信小程序微商城(仿拼多多).zip
- 工程造价控制的新思路.ppt
- 土壤源热泵的应用培训讲义.doc
- 纠正、预防措施记录表3.doc
- 普定县某住宅楼岩土工程勘察报告.doc
- 变风量空调末端装置控制分类.doc
- 微信小程序学习.zip
- 合同预算部部门经理个人工作总结.doc
- 微信小程序点餐+SpringBoot(1).zip
- 北京市某220kv变电所第三电源工程施工组织设计.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
