电量测试-sysdiagnose

Sysdiagnose是苹果的日志系统,记录电池、第三方APP、各种系统功能和应用的所有运行情况。

实操

第一步 证书下载
  • 去苹果开发者网站找到Battery Lift下载profile(需要登录开发者账号)
5629f304-3a25-417a-a953-ce7c18dc38fd.png
  • 下载完成后通过隔空投送发到测试手机上安装。
第二步 进行App测试
  • 耗电信息 一小时更新一次数据(测试时间一小时以上)
第三步 测试报告获取
  • iOS: 设置 > 隐私 > 分析 > 分析数据 > (定位sysdiagnose文件,使用隔空投送发送到macOS上面).

  • 手机连上电脑,通过 iTunes 同步到电脑上, 打开~/Library/Logs/CrashReporter/MobileDevice/[Your_Device_Name]/

  • 找到 powerlog_xxxx.PLSQL 文件 用Navicat 打开

第四步 测试报告信息熟悉
  • 打开powerlog_xxxx.PLSQL 文件里面有几百张表,所有的电量数据都在里面 主要的几张表的意思如下

  • PLBatteryAgent_EventBackward_Battery:整台机器的电量数据,包含电流、电压、温度等,每20秒左右一条数据

  • PLBatteryAgent_EventBackward_BatteryUI:电量百分比数据,大于每300秒一条数据

  • PLIOReportAgent_EventBackward_EneryModel: 整机的详细电量数据。包含 CPU\GPU\DRAM\ISP 等关键信息。每半小时到一小时一条数据。

  • PLAccountingOperator_EventNone_Nodes:App结点信息,每个APP对应唯一的结点号。用来确定手机内具体哪个 App。

  • PLApplicationAgent_EventForward_Application:App运行信息,记录每个App在哪个时间段以什么状态运行

  • PLAppTimeService_Aggregate_AppRunTime:APP的运行时长统计,每个运行过的APP,一小时一条数据

  • PLAccountingOperator_Aggregate_RootNodeEnergy: APP的电量详细数据,记录每个APP 的CPU\GPU\DRAM\ISP 等的耗电信息。一小时更新一次数据。

    • 硬件信息ID
  • RootNodeID:6 isp

  • RootNodeID:52 apsocbase

  • RootNodeID:10 display

  • RootNodeID:11 wifi data

  • RootNodeID:8 GPU

  • RootNodeID:4 venc

  • RootNodeID:2 cpu

  • RootNodeID:7 restofsoc

第五步 测试报告信息提取
  • 先去PLAccountingOperator_EventNone_Nodes通过BundleID找到我们要测试的App ,其实可以发现,表中对应的Name字段就是BundleID,找到
    对应的ID为30120。

    2881644725966_.pic.jpg

  • 得到每个App的唯一标识后,我们就可以去PLAccountingOperator_Aggregate_RootNodeEnergy表里看电量消耗数据了

  • 表中的Energy就是对应消耗的电量了,这里的单位在iOS9是mAh,iOS9及以上应该是 1/1000 mAh。

image

我们可以写sql语句:

// 查询 这个时间之后所以的消耗  NodeID 30120 消耗多少电量
SELECT SUM(Energy) FROM PLAccountingOperator_Aggregate_RootNodeEnergy WHERE NodeID = 30120 AND timestamp > 1642129202 

  • 如果想知道运行这个App这段时间内的温度,可以PLBatteryAgent_EventBackward_Battery 表中获取,但是因为该表的数据是整个机器的,所以我们需要根据对应的时间节点来观察数据:
image
查询程序运行时候的温度
SELECT MAX(Temperature),MIN(Temperature),AVG(Temperature) FROM PLBatteryAgent_EventBackward_Battery WHERE timestamp > 1642129202 

你可能感兴趣的:(电量测试-sysdiagnose)