外观
Collector Foundation 1.2 Beta 能力矩阵 v6
冻结身份与总数
PerformanceModels.swift 当前 Registry 是 53 个静态 metricID。Foundation 为 collector-foundation.1.2-beta,CPython 3.12.3、pymobiledevice3 11.3.1;py-ios-device 2.4.26 仅作 selector/schema 研究源。运行时只有一个 pymobiledevice3 DTX owner。
| 能力层级 | 数量 | 含义 |
|---|---|---|
| 默认实时结构 | 36 | iOS 17/18 真机 Session 已观察到这些 metricID 结构;单点可以按质量规则为 missing |
| 离线逐帧候选 | 13 | CoreProfile → presented-frame → FrameTime/Stat,iOS 16/17/18 来源 E4 |
| 模式限定候选 | 2 | StartupTiming 需要 controlled launch;默认 passive 不虚构起点 |
| Unsupported | 2 | TinyJank、Smooth 尚无可信定义 |
“默认实时结构”只表示数据链和 metricID 已接通,不等同于数值已对齐 PerfDog,也不保证每个场景都有非空值。Battery 三项属于其中的结构,但产品入口仍为 Unsupported。
指标八要素矩阵
| 定义 | metricID | scope | unit | 来源字段 | 质量语义 | 当前校准状态 | 版本历史 |
|---|---|---|---|---|---|---|---|
| 进程与设备 CPU | ios.process.cpu.non_normalized;ios.device.cpu.total;ios.device.cpu.total.normalized;ios.device.cpu.core_usage | process / device | percent | Sysmontap cpuUsage、CPU_TotalLoad、EnabledCPUs、PerCPUUsage | 身份或核数缺失不补 0;normalized 只除显式正数 EnabledCPUs | iOS 16/17/18 E4 candidate;PerfDog 同窗待校准 | CORE-8/16/18 |
| 五类进程内存与可用内存 | ios.process.memory.physical_footprint;resident;xcode_gauge;real;virtual;ios.device.memory.available | process / device | bytes | physFootprint、memResidentSize、memVirtualSize、vmFreeCount×16384 | 仅有限原值;缺字段为 missing;XcodeMemory 是 candidate alias | 三系统 E4 结构;数值对照开放 | CORE-8/16/18 |
| 线程、调度与磁盘 | ios.process.thread.count;scheduler.context_switch_rate;scheduler.interrupt_wakeup_rate;disk.read_rate;disk.write_rate | process | count / count-per-second / bytes-per-second | Sysmontap gauge 与累计 counter | 同 PID+generation 差分;首点 warmup;负差 counter-reset | 三系统默认实时 E4 candidate | CORE-8/18 |
| Network | ios.device.network.send_rate / receive_rate;ios.process.network.send_rate / receive_rate | device / process | bytes-per-second | DVT Networking interval;PID NetworkStatistics delta | Send/Recv 成对选同 scope,不跨 scope 拼接;首点 warmup | 双源三系统 E4 candidate;PerfDog scope 待校准 | CORE-8/16/18 |
| FPS 与 Graphics GPU | ios.foreground.fps;ios.foreground.gpu.renderer_utilization;tiler_utilization;device_utilization | foreground-device | fps / percent | DVT Graphics | 目标不在前台时 value=null、not-foreground;新事实到达后恢复 | 三系统 E4 candidate;非目标进程专属 | CORE-8/13/18 |
| Frame / 流畅度 | ios.frame.time;fps.average;fps.at_least_18_percent;fps.at_least_25_percent;ftime_ge_100_percent;ftime_positive_delta_gt_100_per_hour;drop_per_hour;med_range_percent;one_percent_low_fps;small_jank_per_10min;jank_per_10min;big_jank_per_10min;stutter_percent | foreground-device | ms / fps / percent / count rate | CoreProfile RAW v2 exact presented debugid | decoder/header/timebase 任一失败均 missing;首帧 warmup;不由截图或秒级 FPS 猜逐帧 | iOS 16=21、17=9、18=35 accepted,unknown=0,E4 source candidate | CORE-9/17/18 |
| 未定义流畅度 | ios.frame.tiny_jank_per_10min;ios.frame.smooth | foreground-device | count-per-10-minutes / score | unsupported-definition | 始终 value=null / Unsupported | 未具备 | CORE-9/18 |
| Energy Usage | ios.process.energy.total_cost;cpu_cost;gpu_cost;network_cost;location_cost;display_cost;overhead | process | source-native-cost | PID Energy debug gauge energy.cost 与六个原始分项 | Total 直接取源字段,禁止分项求和;负 Total 整帧 source-sentinel;单分项负数仅该项 missing;verified 后真实 0 保留 | iOS 17/18 质量语义 E4;负载变化与 PerfDog 同窗仍开放 | CORE-10/19 |
| Battery electrical | ios.device.battery.current;voltage;power | device | mA / mV / mW candidate | Diagnostics InstantAmperage、Voltage、ExternalConnected、IsCharging | 仅 battery-only 放电快照生成;power=abs(current)×voltage/1000;外供电、充电、状态缺失、正电流均 fail-closed | iOS 17/18 USB fail-closed 与 20 s 节拍 E4;battery-only 值未验证,产品仍 Unsupported | CORE-10/19/20 |
| Battery temperature / Thermal | ios.device.battery.temperature_raw;temperature_celsius;ios.device.thermal.status | device | source-native / degree-celsius / enum-raw | Diagnostics Temperature / ThermalStatus | 温度 raw 仅 0–8000 有效并除以 100;与 Battery 电学门禁独立;Thermal 只接受 0–3 | iOS 17/18 温度 candidate;ThermalStatus 稳定源尚未观察到 | CORE-10/16/19/20 |
| StartupTiming | ios.process.startup.observed_running_ms;ios.process.startup.foreground_ready_ms | process | milliseconds | launch request 与同 generation lifecycle | passive 无起点为 missing;记录轮询误差;不代表 main/首帧 | E2 candidate,真机精确阶段开放 | CORE-11/18 |
29 Stat 与报告
默认实时链保存 raw、Metric Frame、29 项 Stat、Startup 与 Foundation Delivery 哈希。源缺失时报告字段仍存在但 value=null;“字段存在”不等于“采到非空数值”。CORE-20 的 iOS 17/18 最终打包 Collector 分别完成 22/22 sample、462/474 raw、29 Stat、identity verified、drop/error 0;两端各有 2 个 Device Condition raw,间隔均约 20 秒。
对比 PerfDog 仍未具备
- Battery 的 Wi-Fi 发现、battery-only 放电 E4 数值和 PerfDog 同窗校准。
- ThermalStatus 稳定的 0–3 当前值源。
- TinyJank、Smooth 的可信定义和计算。
- 目标进程专属逐帧与 GPU 归因;当前是 foreground-device。
- main、首帧等精确启动分阶段。
- Energy Usage 的负载响应、等级阈值和 PerfDog 同窗校准。
- GPU Counter 跨设备 schema 与规模化校准。
- 长时稳定性、iOS 15、iOS 17.4–17.x 和更多机型覆盖。
版本历史
- v6(2026-09-05):Foundation 升级为 1.2 Beta;Battery 电学三项增加 battery-only 门禁与 20 秒固定 deadline;iOS 17/18 USB fail-closed 达到 E4。来源:CORE-20。
- v5(2026-09-05):Foundation 1.1 Beta 能力矩阵,已被本页取代。