java集成agent作用_javaagent 基于 javaagent 开发的 APM 工具,收集方法的执行次数和执行时间,定时输出成 json 格式 @codeKK Android开源站...
概述
javaagent 是一个简单优雅的 java agent,利用 java 自带的 instrument 特性+javassist 字节码编辑技术,实现了无侵入的方法级性能监控。相比于 NewRelic 或者开源的pinpoint,以及阿里的arthas,本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到 json 格式的日志文件中。基于 javaagent 的日志,你可以使用严丽同学开发的agent 日志分析工具进行分析查询,也可以使用在线日志分析器,或者可以自己去写分析器,这样可以让你快速定位生产环境的性能瓶颈。
集成
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=d\:\\agent.log
# 日志输出周期
agent.log.interval.seconds=600
# 不需要监控的类的正则表达式
agent.exclude.class.regex=
# 是否记录平均时间
agent.log.avg.execute.time=false
# 默认不需要监控的类的正则表达式
agent.exclude.class.regex.default=.*EnhancerByCGLIB.*;.*FastClassByCGLIB.*
# 记录方法的耗时时是采用 nanoTime,还是 currentTimeMillis,nanoTime 更准确,但是会耗时一些
agent.log.nano=true
agent 日志分析器使用
agent 日志分析器是我同事严丽使用 SpringBoot+h2 数据库开发的分析工具,除了基础功能,对于有 sql 能力的同学,你可以直接使用console登录后,直接写 sql 进行统计,你可以按自己想要的维度来进行处理。
JDBC URL: jdbc:h2:mem:~/h2test
USer Name : sa
Password : 空
登录后,你就可以尽情的写 sql 了。
欢迎关注我的公众号
程序员阿水
java集成agent作用_javaagent 基于 javaagent 开发的 APM 工具,收集方法的执行次数和执行时间,定时输出成 json 格式 @codeKK Android开源站...相关推荐
- java agent_GitHub - dingjs/javaagent: 基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志。...
Javaagent 概述 javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控.相比于Ne ...
- java集成agent作用,Java Agent基本简介和使用
javaagent简介 javaagent是一种能够在不影响正常编译的情况下,修改字节码.java作为一种强类型的语言,不通过编译就不能能够进行jar包的生成.而有了javaagent技术,就可以在字 ...
- Java合并m3u8_m3u8Download java 下载 m3u8 视频,解密并合并 ts java download m3u8 vide @codeKK Android开源站...
java 下载 m3u8 视频,解密并合并 ts m3u8 链接获取方式以及代码分析请参见: https://blog.csdn.net/qq494257084/article/details/103 ...
- android sqlite 操作类封装,SQLiteUtils 一个简单的基于 Android 的 Sqlite 数据库的操作封装库 @codeKK Android开源站...
一个简单的基于 Android 的 Sqlite 数据库的操作封装,它有如下的好处: 便捷地创建表和增添表字段 通过操作对象来 insert 或者 update 表记录 支持多种查询方式,支持分页查询 ...
- android 商品筛选view,FilterTabView 基于 Popupwindow 实现的筛选房源信息等相关的控件,可以自由排序 @codeKK Android开源站...
基于 Popupwindow 的下拉筛选控件 功能 区分 支持区域二级联动选择 FilterTabConfig.FILTER_TYPE_AREA 支持单行 List 样式选择 FilterTabCon ...
- android 权限作用说明书,AndroidAcp 一句话搞定,简化 Android 6.0 系统复杂的权限操作 @codeKK Android开源站...
Acp 为 Android check permission 缩写,此库简化 Android 6.0 系统复杂的权限操作而编写. 特点 支持批量权限申请,不需要重写 onRequestPermissi ...
- Scriptis安装(基于Linkis开发的数据分析工具)
Scriptis是基于Linkis开发的数据分析工具,部署Scriptis前需要先将Linkis进行部署,Linkis的部署手册见:Linkis部署手册 1.准备工作 点击release 选择对应的安 ...
- 用Delphi开发OPC客户端工具的方法研究
用Delphi开发OPC客户端工具的方法研究[1]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...
- JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
2019独角兽企业重金招聘Python工程师标准>>> java代码对象如下: package com.evideostb.billsystem.module.model;impor ...
- java医院挂号代码_基于SSM开发的Java医院预约挂号系统 源码下载
这是一个基于SSM开发的Java医院预约挂号系统,源码中附带主工程以及数据库文件. 目前已知Bug:因为时间预约信息是假数据,控制预约日历显示的代码在data/index.js,因为js写的有点bug ...
最新文章
- 精品软件 推荐 百度杀毒 软件
- android键盘弹出头部上移处理
- php explain type等级,mysql中explain分析sql详解
- python爬虫数据可视化_python 爬虫与数据可视化--python基础知识
- 鸿蒙不是安卓也不是Linux
- python调用c++深度学习模型生成的dll(传入图片,返回多个结果)
- [模板] 线筛欧拉函数
- Python 函数参数 传引用还是传值
- 怎么用便签在手机上记事?
- Unity3D物理渲染算法研究【PBR】
- 如何将工业现场模拟信号无线传输到PLC/主机?
- UWP 中的各种文件路径(用户、缓存、漫游、安装……)
- macOS 上编译 Dynamips
- 按键1按下数码管显示1,按键2按下数码管显示2,按键3按下8个LED灯实现流水灯效果;
- win10锁屏c语言,Win10锁屏状态怎么设置打开任意应用程序?
- android 1g运行内存,全新安卓系统首曝光:安卓9.0只要1G运存就能流畅运行
- 车载相机IQ调试策略
- 深度解析SQL和NoSQL数据库,掌握主流数据库【两万字解析】
- 2020.05.29
- 16、数据分析--朴素贝叶斯
热门文章
- 大数据笔记_Hadoop基础知识
- Hack_All_The_Things——探索IoT相关的攻击研究和渗透测试
- 论文阅读笔记(十一)——Mobilenet-SSDv2: An Improved Object Detection Model for Embedded Systems
- keras中TimeDistributed的用法
- 深入web的请求过程
- shell 调试脚本设置
- javaee utf-8文件的转换
- 学号20155308 2016-2017-2 《Java程序设计》实验一(Java开发环境的熟悉)实验报告...
- 委托和事件的一些理解笔记
- redis在windows上的安装