移动端APM产品研发介绍

上传人:I*** 文档编号:157511765 上传时间:2020-12-24 格式:PPTX 页数:17 大小:620.67KB
返回 下载 相关 举报
移动端APM产品研发介绍_第1页
第1页 / 共17页
移动端APM产品研发介绍_第2页
第2页 / 共17页
移动端APM产品研发介绍_第3页
第3页 / 共17页
移动端APM产品研发介绍_第4页
第4页 / 共17页
移动端APM产品研发介绍_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《移动端APM产品研发介绍》由会员分享,可在线阅读,更多相关《移动端APM产品研发介绍(17页珍藏版)》请在金锄头文库上搜索。

1、,移动端APM产品研发介绍,技术创新,变革未来,APM概况,Datas,HTTP/HTTPS,TCP/UDP,DNS,页面加载,浏览器渲染,DOM加载,网络数据,其他,协议屋,页面加载,用户基本操作,页面加载生命周期,1/0事件及相关网络操作,交互行为,ANR/卡顿,崩溃,错误,稳定性能,维度,地域,运营商,接入方式,设备,操作系统,应用版本,其他,APM实现,为了减少开发者的工作量,采用了自动埋点技术,实现手段,Bytecode,JavaScript,JS注入,Hook,C/C+,Java-Bytecode,Dalvik-Bytecode,APM实现-Bytecode,一、从Java源代码到

2、Dalvik Bytecode,APM实现-Bytecode,.java - javac,.class-.dex dx,.java -,.class- .dex,JD-GUI,dex2jar,APM实现-Bytecode,Example Java source: Foo.java class Foo public static void main(String args) System.out.println(Hello, world); public int method(int i1, int i2) int i3 = i1 * i2; return i3 * 2; ,APM实现-Byte

3、code,$ javac Foo.java $ javap -v Foo,public int method(int, int); flags: ACC_PUBLIC Code: stack=2, locals=4, args_size=3 0: iload_1 1: iload_2 2: imul 3: istore_3 4: iload_3 5: iconst_2 6: imul 7: ireturn LineNumberTable: line 6: 0 line 7: 4,Stack Before value1 value2 .,After result . (imul指令对栈的操作),

4、APM实现-Bytecode,$ dx -dex -output=Foo.dex Foo.class $ dexdump -d Foo.dex Virtual methods-,: (in LFoo;) : method : (II)I : 0 x0001 (PUBLIC) -,#0 name type access code registers: 4 ins: 3,outs: 0 insns size: 5 16-bit code units,00018c:,00019c: 9200 0203 0001a0: da00 0002 0001a4: 0f00,|00018c Foo.method

5、:(II)I |0000: mul-int v0, v2, v3 |0002: mul-int/lit8 v0, v0, #int 2 / #02 |0004: return v0,catches: (none),positions: 0 x0000 line=6,0 x0002 line=7,locals,:,0 x0000 - 0 x0005 reg=1 this LFoo;,9200 0203 92: mul-int binopvAA, vBB, vCC 00: v0 (destination register) 02: v2 (first resource register) 03:

6、v3 (second ),APM实现-Bytecode,APM实现-Bytecode,1.获取方法开始时间,2.获取方法完成时间,并计算执行时间,3.上报指标名及性能,4.上报异常,APM实现-Bytecode,Disassemble (baksmali),.smali,Static analysis,Reassemble (smali),Code injection,APM实现-Bytecode,二、native inline hook,APM实现-Hook,Hook,Trampoline,Caller,jmpCallee,Hook function is called,which in turn calls original function,APM实现-Hook,APM实现-Hook,if (instruction ,ARM instruction: LDR PC, PC, #-4 addr Fix instruction which is PC-related;,APM产品,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 云计算/并行计算

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号