Boot Kpi Analyzer

分析并定位SS4车机开关机关键性能指标,支持开机慢、关机慢等问题的时序数据自动化分析与报告生成。

安装

概览

Boot KPI Analyzer 是一款专为分析 SS4 车机系统开关机关键性能指标而设计的工具,主要用于定位开机慢、关机慢等性能瓶颈问题。该工具通过自动化处理时序数据,帮助开发者快速识别影响系统启动和关闭效率的关键服务与依赖关系。其核心功能覆盖从原始日志解析到结构化报告生成的全流程,支持对开机 KPI(Boot KPI)和关机 KPI(Shutdown KPI)进行深度分析。用户可通过命令行脚本或 Web 接口获取分析结果,极大提升了车机系统性能调试的效率与准确性。 该工具的数据来源包括两个主要路径:开机 KPI 数据存储在 `/home/lixiang/work/sdata/code/smk-1125/boot_kpi_server/backend/uploads/` 目录下,每个时间戳子目录中包含 `boot_kpi_summary.txt`、`boot_kpi.log` 和 `unit_kpi.log` 三个关键文件;关机 KPI 则位于 `/home/lixiang/work/sdata/code/smk-1125/boot_kpi_server/backend/reboot_tests/` 下,包含 `report.json` 和 `shutdown-monitor-units.log`。这些文件记录了系统启动过程中各服务的状态变化时间点以及关机的完整事件流,为性能分析提供了详实的数据基础。 为了便于使用,Boot KPI Analyzer 提供了多种调用方式,包括内置的 Python 分析脚本 `analyze.py`,支持按最新或指定目录进行分析,也支持列出所有可用数据集。此外,还提供了基于私有 IP 的 Web API 接口(http://10.122.86.46:9999/),可通过 curl 命令查询会话列表、最新数据等信息。尽管部分接口无法通过标准网络请求访问,但可通过 `execute_command` 执行 curl 实现数据获取,确保了灵活性和兼容性。

核心功能特点

  1. 支持开机与关机的关键性能指标(KPI)自动化分析,涵盖启动耗时、服务激活顺序及依赖关系
  2. 提供预生成中文摘要报告(boot_kpi_summary.txt),快速定位系统服务启动、qcrosvm依赖与启动性能问题
  3. 集成命令行分析脚本(analyze.py),支持按时间戳目录或最新版本批量处理数据
  4. 支持原始日志解析,包括 boot_kpi.log 中的服务状态变迁与 unit_kpi.log 中的 modemanager 依赖信息
  5. 提供关机阶段详细追踪,可计算各服务从 DEACTIVATING 到 INACTIVE 的耗时,识别关机瓶颈
  6. 支持 Web API 查询接口,通过 curl 获取 reboot_duration、test_result 等关键测试元数据

适用场景

Boot KPI Analyzer 特别适用于需要持续监控和提升车机系统启动与关闭性能的工程场景。在固件开发周期中,当遇到开机时间过长或偶发性卡顿时,该工具能迅速定位导致延迟的服务节点,例如 qcrosvm.service 激活耗时异常或某后台服务反复重启等问题。通过对 boot_kpi.log 和 unit_kpi.log 的深度解析,工程师可以判断是否存在资源竞争、依赖缺失或服务初始化逻辑缺陷,从而有针对性地优化代码或配置。 在系统稳定性验证环节,该工具同样发挥重要作用。例如,在连续多次冷启动测试后,可通过对比不同时间点的 reboot_duration 数据,发现性能退化趋势;同时结合 report.json 中的 has_lastlog 字段,可判断是否为异常重启导致的问题。对于关机流程的分析,尤其关注 umount.target 之前的阶段耗时,有助于识别文件系统卸载前的阻塞服务,避免因某个守护进程未能及时退出而延长整体关机时间。 此外,该工具还支持横向对比分析,允许用户加载多个时间段的数据集,观察 qcrosvm 启动速度在不同 build_id 下的波动情况,辅助版本迭代决策。无论是日常性能巡检、回归测试还是故障复盘,Boot KPI Analyzer 都能显著缩短问题排查周期,提升车机系统的整体响应效率与用户体验。