iOS APM 与 RUM 体系总览
APM(Application Performance Monitoring / Management)是面向线上真实用户的性能稳定性观测与治理体系。对 iOS App 来说,它不是一个单纯的 Crash SDK,也不是一个“把指标画成图”的后台,而是一套贯穿 C 端真实用户体验、端侧采集 SDK、服务端数据平台、B 端研发治理平台 的完整系统。 RUM(Real User Monitoring)是 APM 在真实用户体验侧的核心模型:把用户的一次使用会话拆成 Session / View / Action / Resource / Error / LongTask 等对象,用统一 ID 串联页面、交互、网络、错误和性能现场。没有 RUM 模型,APM 很容易退化成一堆孤立指标;有了 RUM 模型,平台才能回答“哪个真实用户在什么页面做了什么操作,随后发生了什么性能或稳定性问题”。 一、重构后的系列结构 文章 定位 APM(本文) 系列入口:APM/RUM 定义、B/C 端边界、技术分层、建设路线 APM-产品与架构设计 产品视角:C 端体验、B 端用户、角色视图、治理闭环 APM-指标体系 指标口径:稳定性、流畅性、启动、资源、网络、业务、RUM 指标 APM-C端SDK架构 iOS SDK 架构:插件化、远程配置、采样、隐私、低开销、防自崩 APM-数据采集 采集技术:Crash、Watchdog、FOOM、卡顿、启动、网络、MetricKit、业务 Trace APM-数据模型与上报 事件模型、RUM ID、协议、落盘、批量、重试、脱敏、采样 APM-服务端数据架构 接入网关、消息队列、实时计算、存储、符号化、Issue 聚合、配置下发 APM-B端平台设计 Web 控制台:大盘、详情页、用户会话、告警、工单、发布防劣化 APM-业界方案 MetricKit、Sentry、Firebase、Bugly、Matrix、Slardar、Hertz 等方案对比 重构后的主线是: ...