外观
Collector Foundation 1.4 Beta 能力矩阵 v8
冻结身份与总数
PerformanceModels.swift 当前 Registry 是 54 个静态 metricID。Foundation 为 collector-foundation.1.4-beta,CPython 3.12.3、pymobiledevice3 11.3.1;py-ios-device 2.4.26 仅作 selector/schema 研究源。运行时只有一个 pymobiledevice3 DTX owner。
| 能力层级 | 数量 | 含义 |
|---|---|---|
| 默认实时结构 | 37 | iOS 17/18 真机 Session 已观察到这些 metricID 结构;单点可以按质量规则为 missing |
| 离线逐帧候选 | 13 | CoreProfile → presented-frame → FrameTime/Stat,iOS 16/17/18 来源 E4 |
| 按选择启用候选 | 3 | StartupTiming 需要 controlled launch;Frame Time 与 GPU Counter 只在用户选择后开启高成本 service |
| Unsupported | 2 | TinyJank、Smooth 尚无可信定义 |
“默认实时结构”只表示数据链和 metricID 已接通,不等同于数值已对齐 PerfDog,也不保证每个场景都有非空值。Battery、ThermalStatus 与 GPU Counter 在产品入口标明“条件可用”;条件不满足时值为 null 并携带原因。添加指标的 17 个选项均可选择,不再存在静态“暂未支持/部分支持”项。
指标八要素矩阵
| 定义 | 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 + NSDate | Send/Recv 成对选同 scope;进程级优先使用源时钟,首点 warmup,旧录制 host 窗口降级标记 | iOS 18 Wi-Fi 源时钟修正后 Recv 峰值由人工 GB/s 回归 7.45 MB/s,E4 candidate | P2 自校准 |
| 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;实时按选择启用链 E2 | CORE-9/17/18 |
| GPU Counter | ios.device.gpu.counter.source_native + counter dimension | device | source-native-count | DVT GPU service:device info、decode-order、uint64 rows | 非 _ 或 require=true 直通;_ 且 require=false 相邻行差分;首行 warmup;reset/未知 schema/行宽错误为 missing | Raw→Metric→wire→UI 为 E2;iOS 17 最终冻结复测有 schema 但无 data row,数值 E4 开放 | P4 指标收口 |
| 未定义流畅度 | 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 Wi-Fi 各取得 2/3 个快照,但均 ExternalConnected=true;L1 通过,放电数值 E4 待物理断电 | P5 自校准 |
| 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 Wi-Fi 温度 29.00–31.00 ℃ E4 candidate;ThermalStatus 保持 source-missing | P5 自校准 |
| StartupTiming | ios.process.startup.observed_running_ms;ios.process.startup.foreground_ready_ms | process | milliseconds | launch 请求与同 generation lifecycle | launch 发送前读 host monotonic 起点;passive 无起点为 missing;记录 500 ms 轮询误差 | USB iOS 17 未运行目标 App 受控启动 1/1,1,292.645 ms,P2 11/11 E4 candidate;iOS 18 某目标被设备拒绝 | P2 自校准 |
29 Stat 与报告
默认实时链保存 raw、Metric Frame、29 项 Stat、Startup;选中 Frame Time/GPU Counter 时额外保存对应 raw 与投影;metric-self-calibration.json 与 Foundation Delivery 哈希。源缺失时报告字段仍存在但 value=null。本批冻结 Python 132/132、Swift 79/79;iOS 17 USB 最终冻结复测为 624 raw / identity verified / drop 0,Startup 1,325.933 ms,分核 CPU 150/150 非空,CoreProfile 1,557,045 records / 32 accepted / unknown 0。GPU service 观察到 schema-ready 和 heartbeat,未观察到 data row,因此保持 missing。
对比 PerfDog 仍未具备
“添加指标”入口已全部明确为可用或条件可用;尚未关门的是设备条件、精度与竞品完整报告能力,而不是静态禁用入口:
- Battery Current / Voltage / Power:链路条件可用,仍缺 battery-only 放电 E4 数值。
- ThermalStatus:入口条件可用,仍缺稳定 0–3 当前值源。
- GPU Counter:动态 source-native 链 E2,iOS 17 schema 观测 E4,最终冻结复测仍缺 data row;分 iOS/SoC 数值、设备展示公式和单位校准继续开放。
- Frame Time:实时和报告链已接通,仍缺目标进程专属归因、长时连续性与 PerfDog 同窗校准。
- TinyJank、Smooth:不在当前添加指标菜单中;可信定义与计算仍未具备。
- StartupTiming:当前是外部 observed-running / foreground-ready;main、首帧、首个可交互等精确分阶段仍未具备。
- Energy Usage:source-native cost 已接通,仍缺外部单位/等级阈值对齐。
- iOS 15、iOS 17.4–17.x、更多机型与长时稳定性覆盖仍开放。
版本历史
- v8(2026-09-06):Foundation 1.4 Beta;添加指标 17/17 可选择,Startup/分核 CPU/Frame Time/GPU Counter 产品链收口;GPU Counter 新增静态 Registry + 动态 dimension。来源:P4 指标支持收口结果。
- v7(2026-09-06):Foundation 1.3 Beta;增加受控启动、P2/P5 自校准、Wi-Fi userspace/Network Lockdown、进程 Network 源时钟与 E4 结果。来源:P2/P5 指标自校准与产品闭环结果。
- 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 能力矩阵,已被本页取代。