Skip to content

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。

能力层级数量含义
默认实时结构37iOS 17/18 真机 Session 已观察到这些 metricID 结构;单点可以按质量规则为 missing
离线逐帧候选13CoreProfile → presented-frame → FrameTime/Stat,iOS 16/17/18 来源 E4
按选择启用候选3StartupTiming 需要 controlled launch;Frame Time 与 GPU Counter 只在用户选择后开启高成本 service
Unsupported2TinyJank、Smooth 尚无可信定义

“默认实时结构”只表示数据链和 metricID 已接通,不等同于数值已对齐 PerfDog,也不保证每个场景都有非空值。Battery、ThermalStatus 与 GPU Counter 在产品入口标明“条件可用”;条件不满足时值为 null 并携带原因。添加指标的 17 个选项均可选择,不再存在静态“暂未支持/部分支持”项。

指标八要素矩阵

定义metricIDscopeunit来源字段质量语义当前校准状态版本历史
进程与设备 CPUios.process.cpu.non_normalizedios.device.cpu.totalios.device.cpu.total.normalizedios.device.cpu.core_usageprocess / devicepercentSysmontap cpuUsageCPU_TotalLoadEnabledCPUsPerCPUUsage身份或核数缺失不补 0;normalized 只除显式正数 EnabledCPUsiOS 16/17/18 E4 candidate;PerfDog 同窗待校准CORE-8/16/18
五类进程内存与可用内存ios.process.memory.physical_footprintresidentxcode_gaugerealvirtualios.device.memory.availableprocess / devicebytesphysFootprintmemResidentSizememVirtualSizevmFreeCount×16384仅有限原值;缺字段为 missing;XcodeMemory 是 candidate alias三系统 E4 结构;数值对照开放CORE-8/16/18
线程、调度与磁盘ios.process.thread.countscheduler.context_switch_ratescheduler.interrupt_wakeup_ratedisk.read_ratedisk.write_rateprocesscount / count-per-second / bytes-per-secondSysmontap gauge 与累计 counter同 PID+generation 差分;首点 warmup;负差 counter-reset三系统默认实时 E4 candidateCORE-8/18
Networkios.device.network.send_rate / receive_rateios.process.network.send_rate / receive_ratedevice / processbytes-per-secondDVT Networking interval;PID NetworkStatistics delta + NSDateSend/Recv 成对选同 scope;进程级优先使用源时钟,首点 warmup,旧录制 host 窗口降级标记iOS 18 Wi-Fi 源时钟修正后 Recv 峰值由人工 GB/s 回归 7.45 MB/s,E4 candidateP2 自校准
FPS 与 Graphics GPUios.foreground.fpsios.foreground.gpu.renderer_utilizationtiler_utilizationdevice_utilizationforeground-devicefps / percentDVT Graphics目标不在前台时 value=null、not-foreground;新事实到达后恢复三系统 E4 candidate;非目标进程专属CORE-8/13/18
Frame / 流畅度ios.frame.timefps.averagefps.at_least_18_percentfps.at_least_25_percentftime_ge_100_percentftime_positive_delta_gt_100_per_hourdrop_per_hourmed_range_percentone_percent_low_fpssmall_jank_per_10minjank_per_10minbig_jank_per_10minstutter_percentforeground-devicems / fps / percent / count rateCoreProfile RAW v2 exact presented debugiddecoder/header/timebase 任一失败均 missing;首帧 warmup;不由截图或秒级 FPS 猜逐帧iOS 16=21、17=9、18=35 accepted,unknown=0,E4 source candidate;实时按选择启用链 E2CORE-9/17/18
GPU Counterios.device.gpu.counter.source_native + counter dimensiondevicesource-native-countDVT GPU service:device info、decode-order、uint64 rows_ 或 require=true 直通;_ 且 require=false 相邻行差分;首行 warmup;reset/未知 schema/行宽错误为 missingRaw→Metric→wire→UI 为 E2;iOS 17 最终冻结复测有 schema 但无 data row,数值 E4 开放P4 指标收口
未定义流畅度ios.frame.tiny_jank_per_10minios.frame.smoothforeground-devicecount-per-10-minutes / scoreunsupported-definition始终 value=null / Unsupported未具备CORE-9/18
Energy Usageios.process.energy.total_costcpu_costgpu_costnetwork_costlocation_costdisplay_costoverheadprocesssource-native-costPID Energy debug gauge energy.cost 与六个原始分项Total 直接取源字段,禁止分项求和;负 Total 整帧 source-sentinel;单分项负数仅该项 missing;verified 后真实 0 保留iOS 17/18 质量语义 E4;负载变化与 PerfDog 同窗仍开放CORE-10/19
Battery electricalios.device.battery.currentvoltagepowerdevicemA / mV / mW candidateDiagnostics InstantAmperageVoltageExternalConnectedIsCharging仅 battery-only 放电快照生成;power=abs(current)×voltage/1000;外供电、充电、状态缺失、正电流均 fail-closediOS 17/18 Wi-Fi 各取得 2/3 个快照,但均 ExternalConnected=true;L1 通过,放电数值 E4 待物理断电P5 自校准
Battery temperature / Thermalios.device.battery.temperature_rawtemperature_celsiusios.device.thermal.statusdevicesource-native / degree-celsius / enum-rawDiagnostics Temperature / ThermalStatus温度 raw 仅 0–8000 有效并除以 100;与 Battery 电学门禁独立;Thermal 只接受 0–3iOS 17/18 Wi-Fi 温度 29.00–31.00 ℃ E4 candidate;ThermalStatus 保持 source-missingP5 自校准
StartupTimingios.process.startup.observed_running_msios.process.startup.foreground_ready_msprocessmillisecondslaunch 请求与同 generation lifecyclelaunch 发送前读 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 仍未具备

“添加指标”入口已全部明确为可用或条件可用;尚未关门的是设备条件、精度与竞品完整报告能力,而不是静态禁用入口:

  1. Battery Current / Voltage / Power:链路条件可用,仍缺 battery-only 放电 E4 数值。
  2. ThermalStatus:入口条件可用,仍缺稳定 0–3 当前值源。
  3. GPU Counter:动态 source-native 链 E2,iOS 17 schema 观测 E4,最终冻结复测仍缺 data row;分 iOS/SoC 数值、设备展示公式和单位校准继续开放。
  4. Frame Time:实时和报告链已接通,仍缺目标进程专属归因、长时连续性与 PerfDog 同窗校准。
  5. TinyJank、Smooth:不在当前添加指标菜单中;可信定义与计算仍未具备。
  6. StartupTiming:当前是外部 observed-running / foreground-ready;main、首帧、首个可交互等精确分阶段仍未具备。
  7. Energy Usage:source-native cost 已接通,仍缺外部单位/等级阈值对齐。
  8. 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 能力矩阵,已被本页取代。

Perfowl · Performance Observer