Skip to content

Energy、Battery 与 Thermal 指标 v4

定义与 Registry

定义metricIDscopeunit来源字段
Energy Totalios.process.energy.total_costprocesssource-native-costEnergy debug gauge energy.cost
CPU/GPU/Network/Location/Display/Overheadios.process.energy.cpu_cost / gpu_cost / network_cost / location_cost / display_cost / overheadprocesssource-native-cost对应 energy.*.costenergy.overhead
电池放电电流ios.device.battery.currentdevicemilliampere candidateInstantAmperage + ExternalConnected + IsCharging
电池电压ios.device.battery.voltagedevicemillivolt candidate同一 battery-only 快照的 Voltage
电池放电功率ios.device.battery.powerdevicemilliwatt candidate同一快照 abs(InstantAmperage)×Voltage/1000
电池温度ios.device.battery.temperature_raw / temperature_celsiusdevicesource-native / degree-celsiusTemperature / Temperature÷100
热状态ios.device.thermal.statusdeviceenum-raw稳定来源字段 ThermalStatus,仅接受 0–3

计算、窗口与取整

Energy 沿用 v2:每个 DVT gauge 回包独立产生候选值,不插值、不差分、不跨样本累计;Total 直接取 energy.cost,不得把六分项求和;非负有限值原样保存,计算层不取整。

Battery 是设备级低频条件指标。Diagnostics 第一次立即读取,此后以 monotonic 固定 deadline 每 20 秒读取;调用耗时不累计漂移,错过窗口不追赶连发。只有 ExternalConnected == falseIsCharging == falseInstantAmperage <= 0Voltage > 0 的同一快照可以生成 Current / Voltage / Power,其中 Current=abs(InstantAmperage)Power=Current×Voltage/1000。计算层保留 double,不取整、不插值、不累计。

Temperature 仍只在原始值为 0–8000 时除以 100。它与 Battery 电学门禁相互独立:USB 下电学三项不可用时,温度仍可作为候选事实。

质量语义

  • Energy:身份未核验时七项 identity-unverified;负 Total 整帧 source-sentinel;单负分项只关闭该项;通过门禁的真实 0 保留。
  • Battery:ExternalConnected != falseexternal-power-connected;明确充电为 charging;电源状态字段缺失为 power-state-missing;battery-only 场景出现正电流为 source-sign-unverified
  • Voltage 必须为有限正值;Power 必须由同一快照的有效 Current 与 Voltage 计算,不跨样本拼接。
  • Temperature 越界或缺失为 missing;真实 0 保留。
  • ThermalStatus 源字段缺失时保持 missing;通知名称、温度、进程 Energy thermal cost 均不可代替 0–3 当前状态。

当前校准状态

Energy Usage 七项已进入实时产品和 perfowl.metric-self-calibration/1。iOS 17/18 Wi-Fi 匿名 Session 均观察到七项原始源;iOS 18 为 23 个有效 Energy 回包,七项都有数值(E4 candidate)。负 Total 仍整帧 source-sentinel,真实 0 保留。

Battery 三项已具备公式、Wi-Fi 设备发现、iOS 17+ userspace 路由、iOS 15/16 Network Lockdown 路由与 USB→Network 选中态保留。本批 iOS 17/18 Wi-Fi Session 各取得 2/3 个 20 秒条件快照,但设备均报告 ExternalConnected=true,因此 Current / Voltage / Power 正确保持 null / external-power-connected。软件公式与门禁 L1 已通过,放电数值 E4 仍需一次物理断开所有外供电后的长于 40 秒 Session。

Battery Temperature 在 iOS 17/18 Wi-Fi E4 分别观察到 29.00–29.29 ℃ 与 30.79–31.00 ℃。ThermalStatus 经 Battery IORegistry、完整 IOService 平面、MobileGestalt 和 DVT/Diagnostics 能力审计后仍没有稳定 0–3 当前值源,保持 source-missingPowerTelemetryData、温度和 Energy thermal cost 都不用于推断该值。

版本历史

  • v4(2026-09-06):纳入 P5 自校准器、Wi-Fi userspace/Network Lockdown 路由、iOS 17/18 Wi-Fi E4 数据与四项未关门边界。来源:P2/P5 指标自校准与产品闭环结果
  • v3(2026-09-05):增加 battery-only 模式门禁、20 秒固定 deadline、符号与电压规则;来源:CORE-20
  • v2(2026-09-05):Energy Total 与负值哨兵规则,已被本页取代。
  • v1(2026-09-05):六项 Energy、Battery 与 Thermal 初始候选口径,已被后续版本取代。

Perfowl · Performance Observer