Skip to content

Network Send / Recv 指标说明 v2

定义与 Registry

定义metricIDscopeunit来源字段
整机发送速率ios.device.network.send_ratedevicebytes-per-secondConnectionUpdateEvent.tx_bytes
整机接收速率ios.device.network.receive_ratedevicebytes-per-secondConnectionUpdateEvent.rx_bytes
目标进程发送速率ios.process.network.send_rateprocessbytes-per-secondnet.tx.bytes.delta + time
目标进程接收速率ios.process.network.receive_rateprocessbytes-per-secondnet.rx.bytes.delta + time

四个 metricID 均来自 PerformanceModels.swift 当前 Registry。界面可换算显示 KB/s 或 MB/s,存储与报告标准单位固定为 bytes-per-second。

计算方式

整机网络

network-window-rate.v1:在相邻 sysmontap 进程采样窗内累加 DVT Networking 连接事件的 interval bytes,再除以 host monotonic 经过秒数。窗口是整机 scope,不与目标 PID 混合。

进程网络

source-interval-rate.candidate.v2

text
rate[n] = net.{tx|rx}.bytes.delta[n]
          / (sourceTime[n] - sourceTime[n-1])

sourceTime 是同一 PID + generation 回包中 NSDate 源时钟,raw 包显式保存 sourceTimestampCocoaSeconds。旧录制没有源时钟时才使用 host monotonic 回放,并降级标记为 candidate-host-window

质量语义

quality含义
candidate来源字段、scope、源时钟与公式均成立;外部数值对齐尚未执行
candidate-host-window旧录制无源时钟,仅用 host monotonic 重放
warmup同 PID + generation 的第一个真实 PID 回包;不输出数值
missing空 acknowledgement、缺 delta 或无可识别 PID 行
invalid-window选定的时钟不递增;不输出数值

真实 0 delta 是合法数值 0,与 null / missing 严格分离。进程重启后 generation 变更,窗口重新 warmup,不跨 PID 差分。

当前校准状态

  • device 与 process 两组 scope 已有 iOS 17/18 真机源观测,值与质量语义进入 Perfowl 自校准报告(E4 candidate)。
  • iOS 18 Wi-Fi 曾观测到源时钟大窗口;v2 用源时钟修正 host 收包窗口造成的人工 GB/s 峰值。
  • L4 外部工具同窗数值对齐按用户决定暂不进行,因此不使用“已对齐 PerfDog”结论。

版本历史

版本日期变更
v22026-09-06补全进程级双指标;新增 Debug Gauge 源时钟窗口、host 回退质量和真机异常根因
v12026-09-04首次发布整机 Send / Recv 口径

修订来源:P2 进程网络源时钟修订方案

Perfowl · Performance Observer