美文网首页
阿尔萨斯原理解析

阿尔萨斯原理解析

作者: CallMeJiaGu | 来源:发表于2019-08-06 10:52 被阅读0次

iarthas

前阵子对阿尔萨斯的原理进行一点探究,对它的原理总结整理如下:通过仿写一个简易版的阿尔萨斯,来加深对它的认识。

i_arthas 是模仿阿里开源的阿尔萨斯写的小工具。整体技术上采用 Java agent 对字节码的加载进 行拦截干涉,利用 ASM/ASM Byte Viewer 实现目标类字节码的加强,通过 Java attach 实现不同 虚拟机进程间的通信,做到了虚拟机层面上的 AOP。

整体实现了简易版的 redefine(热替换)、 watch(方法监控)、trace(方法链路追踪)、timeTunnel(流量采集与回放)等功能。

代码上传至github : https://github.com/CallMeJiaGu/iarthas

实现思路

阿尔萨斯 原理探究 仿写arthas-TimeTunnel 流量采集

阿尔萨斯 原理探究 仿写arthas-watch

阿尔萨斯 原理探究 仿写arthas-trace

阿尔萨斯 原理探究 仿写arthas-redefine

阿尔萨斯 原理探究 asm再认识(转载)

阿尔萨斯 原理探究 agentmain实践

阿尔萨斯 原理探究 premain实践

阿尔萨斯 原理探究 预备知识

阿尔萨斯 原理探究 初体验(转载)

大体效果

timetunnel 流量采集:

2
1
-------------------
开始采集方法:doAdd

2
开始采集方法:doDelet

1
-------------------
image

watch 方法监控

4
1
-------------------
监控当前方法:doAdd
 入参:
       参数类型-- int@1
       参数类型-- String@abc
       参数类型-- long@11
       参数类型-- Lagent/Job;@agent.Job@7adf9f5f
       参数类型-- Lagent/Main;@agent.Main@85ede7b
       参数类型-- double@0.11
 出参:
       参数类型-- int@4
4
1
-------------------

trace 方法子调用链路追踪

3
1
-------------------
doAdd
-|javalangThread@sleep
--|method  Cost: 1000.0282599999999 ms
-|agentJob@test
--|method  Cost: 1000.0648309999999 ms
almost time cost:
--|method  Cost: 2005.3643539999998 ms
3
1
-------------------

redefine 热加载

Hello World!
Bye Bye
-------------------
Hello World!
Bye Bye
-------------------
Hello World!
Bye Bye
fix good Bye!!

相关文章

  • 阿尔萨斯原理解析

    iarthas 前阵子对阿尔萨斯的原理进行一点探究,对它的原理总结整理如下:通过仿写一个简易版的阿尔萨斯,来加深对...

  • 学习资料汇总

    GeoHash核心原理解析 GeoHash算法学习讲解、解析及原理分析

  • SparseArray原理分析

    系列文章地址:Android容器类-ArraySet原理解析(一)Android容器类-ArrayMap原理解析(...

  • SparseIntArray原理分析

    系列文章地址:Android容器类-ArraySet原理解析(一)Android容器类-ArrayMap原理解析(...

  • Promise原理解析

    Promise原理解析 标签(空格分隔): Node.js Promise原理解析 简介 Promise 对象用于...

  • 优酷播放按钮动画原理解析

    优酷播放按钮动画原理解析 优酷播放按钮动画原理解析

  • xml解析

    一、解析方式:DOM解析,SAX解析 1)解析工具 基于DOM解析原理的: 1)JAXP (o...

  • Arduino UNO原理图解析(标题预留)

    1,原理图整体呈现 2,原理图模块解析 3,元器件参数设置解析

  • arthas(阿尔萨斯)源码原理分析

    相关介绍 前段时间看到了2018 年度新增开源软件排行榜之国产TOP 50的介绍,才发现了这款优秀的软件. 官方介...

  • 代理模式

    Android插件化原理解析——Hook机制之动态代理 Android插件化原理解析——概要 Retrofit2 ...

网友评论

      本文标题:阿尔萨斯原理解析

      本文链接:https://www.haomeiwen.com/subject/vxhidctx.html