监控与故障管理(4)
从上面几篇叙述中可以了解到通用故障检测工具箱里应有的工具。
下面来简要描述App生命周期里与此相关的工具
开发阶段:
1.编程语言自带以及Os扩展的异常处理机制
Jdk UncaughtException
Android AndroidException及子类
2.运行期状态获取接口(Debug、Status、Usage)
3.编译器支持的Sanitizer
4.Android Studio及集成的工具
调优阶段:
在开发者者选项中各个模块为调试所添加的开关,如
1.布局层级
2.渲染时间
独立提供的工具:
如adb,dumpsys,systrace,perfetto
最佳实践检查工具:
StrictMode API
测试阶段:
如
1.Monkey
2.性能测试(benchmark Api)
运维阶段:
由firebase提供的Android Vitals服务
包括崩溃,卡顿,功耗,数据访问延时监控的服务
这里值得一提的是Android Vitals提供的服务与框架并无耦合,与其他三方服务提供的监控方式类似。
在以上工具以及采集的数据大部分是由框架中的组件采集的。
例如
1.debuggerd,tombstoned以及crashdump所组成的进程栈抓取工具
2.ANR组成的进程任务执行响应监控
3.SystemServer中的Watchdog监控关键资源响应延时
4.ART中提供的Debug功能
当然最近几个版本新 加入的一些工具的作用还未曾知晓,如statsd
AndroidX与Android Studio也是AOSP的一部分。
Comments