0082af76dbecebf03b0daf845e26b266
WWDC20 10057 - Identify trends with the Power and Performance API

本文基于 WWDC20 10057 - Identify trends with the Power and Performance API

概览

电池与性能数据是我们关注 APP 性能的两大指标。在 iOS 13 的时候,苹果爸爸发布了 MetricKit 来帮助我们收集用户的电池消耗以及性能相关的数据。先前我们只能通过 App 内监听、Xcode Organizer 来访问这些数据。在此次的 WWDC20 中,苹果发布了一系列 API 来协助我们更好的访问,他们帮助我们统计到的数据。

Xcode Organizer

在去年的 WWDC19,苹果在 Xcode 11 中引入了新功能,用于分析电池消耗跟性能的相关分析工具,我们可以通过 Xcode Organizer 的可视化工具,查看苹果爸爸帮我们汇总的电源,性能和 I/O 指标。(详细内容可以参考 Improving Battery Life and Performance

使用 App Store Connect API 提高自动化

每次都去点开 Xcode 工具着实麻烦,也无法集成到现有的公司内的监控系统当中。在本次 WWDC20 发布了一系列 API ,其中包含有 4 个新增 API,使我们能够以编程方式访问收集到的指标和诊断数据,我们可以自己使用这些数据进行一些自定义分析。除此之外,无需我们做其他任何配置,苹果将给我们在 API 的返回值中,加入了他们对于该数据的见解。

如果想了解更多的关于 API 可以参考 WWDC20 10004 使用 App Store Connect API 提高自动化

4 个新增 API

  • 通过 application id 获取诊断数据(包含智能建议)。
GET /v1/apps/{id}/perfPowerMetrics
  • 通过 build id 获取诊断数据(不包含智能建议)。
GET /v1/builds/{id}/perfPowerMetrics
  • 通过 build id 获取诊断签名,使用诊断签名,苹果将相似的问题进行分组在一起。例如,将类似的磁盘异常信息汇总在一起,以生成磁盘写入签名。
GET /v1/builds/{id}/diagnosticSignatures
  • 根据 Diagnostic Signatures ID 获取具体的 Log 信息。
GET /v1/diagnosticSignatures/{id}/logs

诊断数据接口结果展示

```bash

top Created with Sketch.