Android开发:移动端APM性能监控

摘要

本文作者将从自己的工作经历出发,从工程师择业的角度,与观众产生共鸣,从大公司到创业公司,需要转变的思路与做事情的方法,有原则性的东西,也有真实案例与身边的故事,还会穿插一些工程师的软技能。

注:本文由IT大咖说整理自沪江高级Android开发工程师徐宜生在 极光开发者沙龙 上的演讲,原题为《移动端APM性能监控》。(文字整理比较概括简单,嘉宾完整演讲视频)

嘉宾完整视频回顾及PPT:http://t.cn/RQuyi5B

什么是APM

我今天讲的题目是移动端APM性能监控。我们把APM系统定位为对应用的性能、可靠性进行线上的监控和预警的机制,通过APM系统来完善和统一整个流程,让我们去发现分析并解决新的问题,这是整个APM存在的意义。

APM系统的作用有哪些

一、监控线上APP的质量,对崩溃和异常数据进行分析,这是APM系统最大的作用。通过这些数据来了解APP线上用户在使用时是否存在问题。

二、通过数据的分析提前预警可能大范围爆发的问题。利用数据监控发现某一段时间部分异常的数据量有上升的趋势,提前对它问题进行预防。

三、通过后端优化负载,提升服务器性能,让APP性能得到提升。

APM系统在后端的实践

APM系统是前后端都非常复杂的一整套系统。这里主要讲后端上的实践。这里列举几个APM技术上实现的难点。

1、Native、Hybrid混合编程对数据采集的影响。最重要的问题是Android系统的碎片化。

2、如果通过后端SDK的方式去监测性能,对诉主来说性能是有一定的影响,同时APP介入APMSDK的拓展性、可制定性都是我们需要考虑的。

3、APM后端数据分析,前端负责采集性能数据,采集好之后把性能数据上报给服务器,在后端做可试化的分析,从数据里面找到潜在存在的问题,这是比较大的难点。

4、性能数据监测链路太长。APP本身有很多界面以及复杂的网络请求,从服务器里面分析数据返回数据再重现展示,在链路中每一步都可能发生新的问题。

5、不同的性能日志互通比较困难。在前端和后端都有自己的日志体系,但没有方案能将这些日志串联起来。

APM系统性能监控的几个维度

第一种 内存

它直接影响了整个APP的交互体验,主要是APP使用的流畅度。除了流畅度以外还会影响到APP的内存和ROM对APP后台状态的管理。内存主要通过四方面来判断:内存峰值、内存均值、内存抖动、内存泄露。

第二种 CPU

CPU也是APM监控的重点。CPU是整个安卓手机里面比较重要的资源体系,它会影响用户使用APP的发热和卡顿。

第三种 APP启动时间

启动时间有三个,分别是冷启动时间、热起动时间,页面渲染时间。

第四种 UI性能

是比较重要的一个部分,带给用户最直观的感受。一个APP如果特别卡的话,很可能会被用户弃用。UI性能的重要性主要表现在重绘的性能、滚动帧率还有ANR以及页面渲染时间。

第五种 耗电量

现在手机电量能否支撑一天是人们最基础的需求,APP不能特别耗电。耗电主要分为耗电量和发电量。如果在使用APP的时候明显有手机发热现象,这是非常不可取的。

第六种 网络性能

现在大部分APP都要联网。联网会不可避免地带来网络上的漏洞和问题,这就需要我们去监控。

第七种 用户的行为路径

就是一个用户在使用这个APP时做的操作。通过监测用户的使用路径可以了解用户都使用了哪些方面。

APM平台的性能监测

APM平台分为两种方式,一个是客户端的性能监测SDK,一个是PC端的性能监测,它们各有利弊。线上阶段可以通过客户端的性能监测SDK,利用APP做性能的监控。优点是不受设备限制,缺点是宿主APP代码有侵入,对性能有一定的影响。在内测方面会通过PC端的性能监测,主要借助APP的命令做性能的监控。它的有点是不影响性能,并可以测试竞品,做出对比。但是唯一的缺点就是它需要连接APP,限定了做测试的范围。

关于APM的进一步优化

1.与其他相结合。结合AI,结合现在比较火的人工智能的方式去分析数据的Pattem。借助AI找出数据之间的观点,帮助我们更高效地分析性能问题。

2.本地异常数据的监控算法。如果APM的SDK导致了整个APP的性能问题,我们需要有一些调度算法,更智能地去控制。

3.服务端指令控制。服务端指令控制是收集日志更精确的方法,通过服务端指令控制,利用服务端主动搜索信息或打开开关做监控,了解到更详细的性能信息来排查问题。

4.自动化测试平台对接。APM系统在内测方面会通过PC端的方式做性能监控,也利用APP方式做性能监控。

今天的分享就到这里,谢谢大家!

编者:IT大咖说,转载请标明版权和出处

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 所谓『APM』,就是Application Performance Management的简称,我们利用这个系统来...
    Android_Cloud阅读 12,535评论 3 34
  • 不记得是什么时候开始一根一根地把柴火搬运到灶膛前帮忙生火,特别是冬天,那儿最暖和,而埋在柴灰里煨熟的地瓜是最诱...
    听花开花落阅读 618评论 0 1
  • 当你一次又一次走在人生的谷底以自卑者的心态去仰视一切即使有一天你成为被瞻仰的对象你也早已忘了那发自内心的喜是什么感觉
    12听你的阅读 153评论 0 0
  • 望着车窗外,突然想写点东西。偶尔呈现的山丘,林林总总的绿树,甚至几株开好了的桃花,一路走过着实美丽。只是自然规律使...
    赛斯芙妮阅读 121评论 0 2