美文网首页
Android应用_性能监控指标总结

Android应用_性能监控指标总结

作者: afree_ | 来源:发表于2019-11-06 22:57 被阅读0次

稳定性

Crash

  • 来源
    • Java层:通过设置异常处理的Handler Thread.setDefaultUncaughtExceptionHandler实现
    • Native层:参考

ANR

  • 来源
    • 通过FileObserver监听/data/anr目录变化,当有traces.txt文件时代表有新ANR发生
    • 通过Handler定期发送消息,并计算5秒内消失是否被处理,如果没处理代表主线程消息队列被阻塞。

流畅度

FPS

  • 来源
    • 在Anroid N以下版本中通过Choreographer的FrameCallback的doFrame中计算1秒内绘制的次数
    • 在Android N及以上版本中是通过向window中添加Window.OnFrameMetricsAvailableListener,在回调中计算获得
  • 页面FPS
  • 滚动FPS
  • 自动义FPS

启动时长

  • app冷启动时长
    • 来源,使用Linux进程启动时间作为冷启动开始时间,从"/proc/$pid/stat"文件中解析得到
  • 页面启动时长
  • 页面首屏时长
  • 自定义测速时长

耗损

流量

  • 来源
    • 系统路径:查看 /proc/net/xt_qtaguid/stats
    • 系统函数: 调用接口TrafficStats.getUidRxBytes()和TrafficStats.getUidTxBytes()
    • 系统路径: 进入 /proc/uid_stat/[uid命名的目录]/tcp_snd 和 /proc/uid_stat/[uid命名的目录]/tcp_rcv
    • AOP:流量的统计是在网络层在编译阶段通过gradle插件插入字节码基于AOP实现流量统计,针对不同网络库主要包含HttpClient、okhttp2/okhttp3、HttpUrlConnection、自定义网络框架。通过计算Request和Response body的大小统计上行和下行流量

电量

  • 来源
    • 一种是利用系统提供的Api(BatteryStatsHelper等)来计算,
    • 一种是Battery Historian工具。

CPU

  • 来源
    • CPU总使用率,在proc/stat下有具体的CPU使用情况

Memory

  • 来源
    • 内存的统计是通过Debug.getPss()抽样的获取PSS内存计算平均值所得

业务指标

端到端

  • 网络成功率
  • 业务成功率

图片

  • 加载显示成功率
  • 加载平均耗时
  • 大小监控

软硬件指标

设备型号
操作系统
屏幕分辨率
手机RAM
root状态
存储空间
网络类型

后续计划

  • 指标定义、数据收集、问题分析、问题解决方案等方面一一分析
  • 数据平台建设指导

相关文章

网友评论

      本文标题:Android应用_性能监控指标总结

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