java技术栈
未读
Start demo
Start arthas-boot
获取Spring Context
使用tt命令获取到spring context
使用tt命令从调用记录里获取到spring context
获取spring bean,并调用函数
更多信息
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
是否有一个全局视角来查看系统的运行状况?
有什么办法可以监控到JVM的 ...
java技术栈
未读
Arthas demo
arthas-boot支持的参数
参数详解
指定目标pid
允许外部访问
列出所有的版本
打印运行的详情
指定需要执行的命令目标pid
指定需要执行的批处理文件目标pid
通过类名或者jar文件名指定目标进程
指定会话超时秒数
仅附加目标进程,不连接
指定镜像仓库,强制使用http
指定arthas客户端命令行宽高
指定arthas主目录
以Java Agent的方式启动
使用as.sh
更多信息
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通 ...
Start demo
Start arthas-boot
理解Spring Boot应用的ClassLoader结构
列出所有ClassLoader
列出ClassLoader里加载的所有类
查看类的classloader层次
查看ClassLoader树
查看URLClassLoader实际的urls
加载指定ClassLoader里的资源文件
尝试加载指定的类
更多信息
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
线上遇到某个用户的数据处 ...
java技术栈
未读
Arthas demo
Start arthas-boot
后台异步任务
使用&在后台执行任务
通过jobs查看任务
任务暂停和取消
fg、bg命令,将命令转到前台、后台继续执行
任务输出重定向
停止命令
其他
更多信息
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
是否有一个全局视角来查看系统的运行状况?
有什么办法可以监控到JVM的实时运行状态?
怎么快速定位 ...
启动demo
启动arthas-boot
查看JVM信息
sysprop
sysenv
jvm
dashboard
Tips
help
自动补全
readline的快捷键支持
历史命令的补全
pipeline
sc/sm 查看已加载的类
sc
sm
Jad
Ognl
调用static函数
查找UserController的ClassLoader
获取静态类的静态字段
执行多行表达式,赋值给临时变量,返回一个List
更多
案例: 排查函数调用异常
现象
查看UserController的 参数/异常
返回值表达式
条件表达式
当异常时捕获
按照耗时进行过滤
案例: 热更新代码
jad反编译UserController
sc查找加载UserController的ClassLoader
mc
redefine
热修改代码结果
案例: 动态更新应用Logger Level
查找UserController的ClassLoader
用ognl获取logger
单独设置UserController的logger level
修改logback的全局logger le ...
java技术栈
未读
启动arthas-demo
启动arthas-boot
Dashboard
Thread
Sc
Jad
Watch
Exit/Stop
退出Arthas
彻底退出Arthas
更多信息
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。
Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
Github: https://github.com/alibaba/arthas
文档: https://arthas.aliyun.com/doc/
启动arthas-demo下载arthas-demo.jar,再用java -jar命令启动:
1wget https://arthas.aliyun.com/arthas-demo.jar;java -jar arthas-demo.jar
arthas-demo是一个很简单的程序,它随机生成整数,再执行因式分解,把结果打印出来。 ...
awk 是一门非常优秀的文本处理工具,甚至可以上升作为一门程序设计语言。它处理文本的速度是快得惊人的,现在很多基于shell 日志分析工具都可以用它完成。特点是设计简单,速度表现很好,本文将介绍awk内置变量。格式: awk [ -F re] [parameter…] [‘pattern {action}’ ] [-f progfile][in_file…]
一、内置变量
属 性
说 明
$0
当前记录行,代表一行记录
1~1 n
当前记录的第n个字段,字段间由FS分隔
FS
输入字段分隔符,默认是空格
NF
当前记录中的字段个数,就是有多少列,一般取最后一列字段
NR
已经读出的记录数,就是行号,从1开始
RS
输入的记录分隔符,默认为换行符
OFS
输出字段分隔符,默是空格
ORS
输出的记录分隔符,默认为换行符
ARGC
命令行参数个数
ARGV
命令行参数数组
FILENAME
当前输入文件的名字
IGNORECASE
如果为真,则进行忽略大小写的匹配
ARGIND
当前被处理文件的ARGV标志符
CONVFMT
...
java技术栈
未读arthas-boot:
1234java -jar arthas-boot.jar -hjava -jar arthas-boot.jar #选择进程号java -jar arthas-boot.jar 18095 #指定进程号java -jar arthas-boot.jar $(ps -ef |grep $USER| grep "PortalWebMain"| grep 8001 | grep -v grep | awk '{print $2}')
arthas-client:
1234java -jar arthas-client.jar -hjava -jar arthas-client.jar 127.0.0.1 3658java -jar arthas-client.jar -c 'dashboard -n 1'java -jar arthas-client.jar -f batch.as 127.0.0.1
基于Qt5 框架开发的 JsonFormatTool,一款跨平台的json格式化工具
依托强大跨平台和高效的qt5框架,简洁明了的UI界面布局,使用便捷的文本按操作功能
支持搜索高亮的json树展示结构
下载地址:
window 系统macOS 系统macOS(universal)系统,支持原生M1linux 系统跨平台 WebAssembly(基于浏览器)
更新记录:
2019年11月29日 v1.0 初始版本创建2020年1月2日 v1.5 修复加载文件解析异常2021年7月6日 v1.5.1 增加右侧复制分支功能2022年6月25日 v1.5.2 增加去除json中的转义字符2022年8月07日 v1.5.2 增加M1原生支持2022年12月11日 v1.5.2 增加WebAssembly支持
个人作品展示
未读
基于Qt5框架开发的Lockbox,一款跨平台密码记事本管理工具