SuperAPI AI 工具集

observability

编程与开发

查看项目

更新于 10-16 01:33

技能介绍

用途:编写与审查 Swift 可观测性代码,让应用在开发与生产阶段都能输出可读、可聚合、可归因到具体版本的信号。

主要能力:

  1. 日志:使用 Logger(iOS 14+)或 os_log(iOS 10+),覆盖 subsystem/category 结构、级别选择、隐私标注与懒求值插值;禁止用 print 或 NSLog 作为应用日志机制。
  2. Signpost:用 OSSignposter 的 interval 测量操作耗时,配合 Instruments 的 os_signpost 与 Points of Interest;为每次操作生成 makeSignpostID() 并保存 OSSignpostIntervalState,用同名结束。
  3. MetricKit:早期订阅 MXMetricManager.shared.add(_:),处理 metric/diagnostic payload、直方图、退出原因与诊断堆栈;仅真机投递,指标最多每 24 小时一次。
  4. 崩溃、挂起与 OOM:通过退出原因、Organizer 以及 MetricKit 诊断观察;OOM 不产生崩溃报告,需靠 MXAppExitMetric 内存相关退出原因发现。
  5. 符号化:归档 dSYM、用 dwarfdump --uuid 校验 UUID、用 atos -i 离线符号化 MetricKit 堆栈。
  6. 生产监控:导出格式、单位、聚合策略、启动指标偏移与告警。
  7. 网络可观测性:错误分类与噪声过滤、非致命报告设计、URLSessionTaskMetrics、聚合监控。
  8. 第三方 SDK:崩溃处理器互斥、dSYM 上传、桥接与隐私。

使用方式:按任务路由加载相应参考文件,例如 fundamentals.md、logger-api.md、log-cli-and-console.md、oslogstore.md、signposts.md、activity-tracing.md、metrickit.md、crash-reporting.md、symbolication.md、production-monitoring.md、network-telemetry.md、third-party-sdks.md、anti-patterns.md。审查时按文件组织,指出文件与行、被替换的反模式、给出简短前后对比代码,并给出优先级摘要;若要求直接编写或修复,则直接改动代码。

适用场景:替代 print 的日志接入、隐私脱敏、设备日志读取与 Console 过滤、应用内日志导出、耗时测量与性能排查、跨子系统流程关联、生产指标采集、崩溃/挂起/被杀排查、符号化、第三方 SDK 选型与集成、指标看板与遥测管线、网络错误监控。

限制:需在真机验证 MetricKit,模拟器仅供 Xcode 的 Simulate MetricKit Payloads 调试;OSLogStore 在 iOS 上仅限本进程;debug/info 级别在生产不会被持久化;不得同时安装两个崩溃报告 SDK;不得在模拟器或调试器下验证 watchdog;未提供的定价、平台支持范围等信息暂未提供。