《3-支付宝端体验度量及诊断-蚂蚁集团-邹明岩(禹晨).pdf》由会员分享,可在线阅读,更多相关《3-支付宝端体验度量及诊断-蚂蚁集团-邹明岩(禹晨).pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、付宝客户端体验度量与诊断邹明岩付宝端体验治理背景业务战略线下付占提/年活跃度逐年提户总量提核场景冷启动扫码启动、付款码启动渲染、登、唤端险舆情增发展受阻户流失户体验场景体感耗时控件响应时间降低提升付宝端体验治挑战度量精度不优化成果难保持问题复杂难定位撑多场景优化1234度量数据波动每个版本集成300+版本迭代快半动效率低平均问题定位效率低2-3天具段单具法并发撑付宝端冷启动场景及阶段拆分冷启动场景切分成2个阶段和若个阶段pre_launchtime_startup主线程LauncherApplication.InitattachBaseContext帧onCreate创建线程志模块闪退监控模块
2、dexaop模块dexpatch模块hookdvm预加载开关服务预加载线保镖预加载V读取元信息初始化代App初始化代理A初始化代理资源初始化B列表加载框架类加载器LA创建LAA预加载创建B类加载资源预加载LAA初始化读取描述件预加载服务基础服务初始化B元信息LAA初始化完成LAA加载V预加载展示欢迎路由逻辑初始化TAB四刚九宫格腰封贴图初始化城市组件阶段付宝端体验性能数据采集Unziped Patch apkUnziped Alipay apkAndroidManifestAndroidManifestassetslibassetslibclass.dex class2.dex class3.
3、dex classx.dexclass.dexres/yw_1222.jpgDexaop.cfg-Hook函数数据存储模块HookApplication命周期代理HookApp初始化数据采集模块Spider SDKDexAOP注册Hook函数阶段耗时数据阶段时间戳扩展数据数据存储sdcard性能诊断数据Patch APKresources.arsc合并Manifest合并so合并DexDex AOP待测包重打包Application替换成HookApplicationDexAOP.cfg重新签名代理资源合并采集数据不影响正式包付宝端体验度量精度提升场景A场景A设备组场景B场景B设备组设备分组独
4、降温设备设备稳定供电数据采集效率贴图样本数据处理环境预处理温控机房条件预处理提升度量精度200ms-10ms或CPU锁频业级智能hub100-30123研发平台构建平台APM平台真机调度系统真机设备组触发打包安装包、提交、集成信息、时间等触发测试任务查询设备状态运测试任务测试数据数据上报开发者集成申请版本性能数据集成CI付宝端体验度量CI程能2号3号审批通过基于当前基线构建安装包集成包1号开发者发布经理集成申请集成包基线时间线主集成基线预集成包时间线每次集成,基于主集成基线构建安装包保证每次集成都是基于上次集成基线递增每次构建完成回调性能平台问题定位式及阶段成果阶段技术成果11-2天定位问题集
5、成 15min2度量精度波动200ms10ms3单设备多品牌/OS 6.0-1042全职投0参与阶段问题1.部分性能问题,阶段对看不出问题3.性能问题排查困难,平均1-2天,难的3天以上2.主线程读开关,3毫秒性能影响,盒法发现度量精度不优化成果难保持问题复杂难定位撑多场景优化1234度量数据波动每个版本集成300+版本迭代快半动效率低平均问题定位效率低2-3天具段单具法并发撑付宝端体验治挑战常AOP具标和代理函数配置重打包把标函数实现,重定向到代理函数函数执在代理函数中实现HookDexAOP.cfg切函数代理函数实现数据存储模块初始化数据采集模块Spider初始化DexAOP初始化注册Ho
6、ok函数阶段耗时数据阶段时间戳扩展数据数据存储sdcard性能诊断模块主线程线程开关配置动态bundleServiceIOHook RunnableHook RunnableHook ConfigServiceHook BundleClassLoaderHook CreateExternalServiceHook read/write/close/openDexAOP.cfg合并Manifest合并soApplication-HookApplication合并DexDexAOP对象实例切法体切Patch APK性能诊断包名称/值名称/堆栈耗时/顺序主线程IO名称/耗时/数量名称/耗时/CPU耗