0. 什么是blackbox?
痛点:
⽬前⽇志分析以及⾃动化解析的痛点
⽇志⽐较分散,不同的⽇志在不同的⽬录
各个⽇志的时间标准不⼀样,⽆法形成时间线
影响⼿机稳定性的关键事件没有记录,或者事件发⽣太久被覆盖丢失,或者关键⽇志没有记录,需要改代码重新复现
RAS实现⾃动化分析⽐较困难
⽆法定位系统情况的问题,如卡miui,上市后⽤⼾⼿机hang死等
针对以上痛点,⿊匣⼦给出以下解决⽅案
收益:
(痛点1)将⼤部分系统⽇志都集中在⿊匣⼦分区
(痛点2)流式⽇志具有时间线,增加了⽇志可读性。
(痛点3)根据已有经验,在系统运⾏的关键节点打点,提升上市后稳定性问题的定位效率
(痛点3)针对不同的⽇志,有不同的⽇志⽼化删除节奏,从⽽更多的保存异常⽇志。
(痛点4)提⾼RAS⾃动化分析的能⼒。可以在抓ramdump时,从⽇志存储处取⼀份blackbox log放到fulldump中
(痛点5)可以使⽤9008下抓分区⼯具,在卡死时将blackbox分区dump出来并解析,辅助问题分析
消耗:
(痛点1)将现有的各种⽇志分区进⾏整合,减少凌乱分区,且⽆需增加分区空间占⽤。
1. 方案的整体设计
1.1 功能介绍
分为3个区域记录不同的日志
流⽔⽇志区记录具有时间线的正常启动⽇志,最多存储5份,每份8M
异常⽇志区记录异常重启⽇志(minidump + boot 100s kmsg + dotting log),最多存储10份,每份10M
控制区记录设备异常统计信息(crash_history(最⼤512份)、hwinfo等),共2M
三个区域有不同的⽇志⽼化删除节奏,如果系统卡死的话,可以通过9008的⽅式把⽇志分区dump出来定位不开机问题