整合 MyPerf4J 做Java性能监控和统计工具
快速启动MyPerf4J
MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入。
打包
项目地址:
https://github.com/LinShunKang/MyPerf4J
git项目到本地:
git clone git@github.com:LinShunKang/MyPerf4J.git
打包项目:
mvn clean package
配置
在 JVM 启动参数里加上以下两个参数
-javaagent:D:/workspqce/MyPerf4J/MyPerf4J-ASM-2.5.0.jar
-DMyPerf4JPropFile=D:/workspqce/MyPerf4J/myPerf4J.properties
其中,myPerf4J.properties的配置如下:
# 应用名称
AppName=MyPerf4JTest
# MetricsProcessor类型,0:以标准格式化结构输出到stdout.log 1:以标准格式化结构输出到磁盘 2:以InfluxDB LineProtocol格式输出到磁盘
MetricsProcessorType=1
# 配置各个Metrics日志的文件路径,可不配置
MethodMetricsFile=d:/data/logs/MyPerf4J/method_metrics.log
ClassMetricsFile=d:/data/logs/MyPerf4J/class_metrics.log
GCMetricsFile=d:/data/logs/MyPerf4J/gc_metrics.log
MemMetricsFile=d:/data/logs/MyPerf4J/memory_metrics.log
BufPoolMetricsFile=d:/data/logs/MyPerf4J/buf_pool_metrics
ThreadMetricsFile=d:/data/logs/MyPerf4J/thread_metrics.log
# 配置Record模式,可配置为accurate/rough
RecorderMode=accurate
# 配置时间片,单位为ms,最小1s,最大600s
MilliTimeSlice=10000
# 需要监控的package,可配置多个,用英文';'分隔
#IncludePackages=com.chinasofti.huateng.lz.qrcode.server.controller;
IncludePackages=com.mmzsit.controller;
# 不需要监控的package,可配置多个,用英文';'分隔
# ExcludePackages=com.chinasofti.huateng.lz.qrcode.server.config;
# 默认监控IncludePackages下的所有方法
# 不监控的方法:可配置多个方法名,用英文';'分隔
ExcludeMethods=upload
# 是否展示方法参数类型
ShowMethodParams=true
# 是否排除私有方法,true/false
ExcludePrivateMethod=true
# 通用的方法执行时间阈值,单位为ms
ProfilingTimeThreshold=1000
# 在一个时间片内,超过方法执行时间阈值的次数,仅在RecorderMode=accurate时有效
ProfilingOutThresholdCount=10
启动
2019-03-27 18:25:25.234 [MyPerf4J] WARN profilingParamFile is empty!
2019-03-27 18:25:25.330 [MyPerf4J] INFO
__ ___ ____ ______ __ __
/ |/ /_ __/ __ \___ _____/ __/ // / / /
/ /|_/ / / / / /_/ / _ \/ ___/ /_/ // /___ / /
/ / / / /_/ / ____/ __/ / / __/__ __/ /_/ /
/_/ /_/\__, /_/ \___/_/ /_/ /_/ \____/
/____/
2019-03-27 18:25:25.331 [MyPerf4J] INFO AbstractBootstrap doInitial() SUCCESS!!!
启动时出现的提示信息:WARN profilingParamFile is empty!可以不用理会,因为不影响使用。
运行
输出结果,输出到d:/data/logs/MyPerf4J/method_metrics.log
MyPerf4J Method Metrics [2019-03-27 18:24:20, 2019-03-27 18:24:30]
Method[1] Type RPS Avg(ms) Min(ms) Max(ms) StdDev Count TP50 TP90 TP95 TP99 TP999 TP9999 TP99999 TP100
FtpController.download() General 0 540.00 540 540 0.00 1 540 540 540 540 540 540 540 540
MyPerf4J Method Metrics [2019-03-27 18:24:30, 2019-03-27 18:24:40]
Method[1] Type RPS Avg(ms) Min(ms) Max(ms) StdDev Count TP50 TP90 TP95 TP99 TP999 TP9999 TP99999 TP100
FtpController.upload() General 0 467.00 467 467 0.00 1 467 467 467 467 467 467 467 467
整合 MyPerf4J 做Java性能监控和统计工具的更多相关文章
- java虚拟机(八)--java性能监控与故障处理工具
问题定位: 除了个人经验,知识,工具也是很重要的,通过数据进行问题分析,包括:运行日志.异常堆栈.GC日志.线程快照(threaddump/javacore文件 ).堆转储快照(heapdump/hp ...
- 关于 Java 性能监控您不知道的 5 件事,第 1 部分
责怪糟糕的代码(或不良代码对象)并不能帮助您发现瓶颈,提高 Java? 应用程序速度,猜测也不能帮您解决.Ted Neward 引导您关注 Java 性能监控工具,从5 个技巧开始,使用Java 5 ...
- 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...
- Linux下Java性能监控
Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...
- Java性能监控
Java性能监控 上次介绍了如何使用jvisualvm监控java,今天做进一步讲解!Java性能监控主要关注CPU.内存和线程. 在线程页中,点击线程Dump,可以生成threaddump日志,通过 ...
- JAVA性能监控与调优参考文档链接
JAVA性能监控与调优参考文档链接 jdk8工具集 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.htmlTroub ...
- java虚拟机之性能监控与故障处理工具
sun jdk性能监控与故障处理工具 jps: 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一id. jstat: 用于监视虚拟机各种运行状态信息的命令航工具.它可 ...
- jvm性能监控与故障处理工具
jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具 类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...
- JYM虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 一.jps:虚拟机进程状况工具 常用指令 二.jstat:虚拟机统计信息监视工具 常用指令 三.jinfo:配置信息工具 四.jmap:Java内存映像工具 常用指令 五 ...
随机推荐
- 【源码安装】Heartbeat3.0.9
1.概述1.1 关于Heartbeat1.2 本篇博客实践环境2. 部署基础环境2.1 通过YUM安装依赖环境2.2 创建Heartbeat用户和组3. 编译安装3.1下载源码包3.2 编译安装3.2 ...
- sublime text3简体中文版汉化教程
今天突然想到好像还有一个强大的编译器sublime text 3可是这个是外国的编译器,不过各位不用担心 这个编译器,已经支持中文编译了: 下面就是我关于汉化为中文方面的一些了解以及汉化方式(由于我的 ...
- Java并发编程阅读笔记-Java监视器模式示例
1.前言 书中在解释Java监视器模式的时候使用了一个车辆追踪器例子,根据不同的使用场景给出了不同的实现和优化. 2.监视器模式示例 实现一个调度车辆的"车辆追踪器",每台车使用一 ...
- 自学java难吗?一个JAVA学习者应该具备的素质
无论是在校的学生也好,还是转行的也好,如今学JAVA开发的人越来越多,造成了如今新手越来越多,有人说前端饱和了,JAVA饱和了,JAVA才刚开始以一种好的势头发展就饱和了.我也是无语,一般说饱和的人, ...
- 看板记录工具wekan
wekan 1. 功能 看板工具 2. 安装 环境: centos7.4 安装链接 snap方式 安装脚本(root用户) #!/bin/bash yum makecache fast yum ins ...
- 开发人员必备工具 —— JMeter 压测
在接口开发完以后,开发人员应该学会对自己的接口先进行压测一下,虽然压测的结果并不一定准确,也不能完全反映真实情况,但是如果有问题的话多少是可以看出的,而且也可以及早做优化,做到心里有底.否则,等测试进 ...
- 游戏AI之感知(1)
目录 感知 视觉感知 听力感知 其它感知 实现 感知 视觉感知 视觉感知是一种常见的感知. 在许多即时战略游戏或者类DOTA游戏里,一个单位的视觉感知往往是圆形范围的. 当然在其他大部分俯视角游戏里, ...
- .NET、C#和ASP.NET三者之间的区别
一.什么是.NET?.NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨 ...
- 网页设计(CSS&JS)
实验一 简单静态网页设计 一. 实验目的: 复习使用记事本编辑网页的方法. 熟悉不同表单控件类型的应用. 练习使用记事本在网页中添加表单与表单元素. 二. 实验内容: 根据提供的素材设计在线调查问卷 ...
- 衡量GDP,哪种夜间灯光数据更靠谱?
<新科学家>杂志报道,随着经济发展,一些国家通常会新修道路,扩展居民区,这两项措施都会使从太空中看到的灯光强度增加.不少学者利用夜间灯光数据与国内生产总值统计数据进行比较,发现从太空中看到 ...