大多数浏览器和
Developer App 均支持流媒体播放。
-
使用 CloudKit Console 监控和优化数据库活动
探索 CloudKit Console 中有关可观测性的新功能。了解如何利用 Telemetry 和 Logging 功能来进行 App 的故障诊断和优化。探索如何设置提醒来监测应用程序运行状况,以及如何设置通知来及时掌握对自己而言最为重要的容器活动。 为了充分利用好本次讲座,我们建议你先熟悉一下 CloudKit 容器相关知识。
章节
- 0:00 - Introduction
- 1:24 - Notifications
- 4:06 - Telemetry
- 7:13 - Logging
- 9:26 - Alerts
资源
相关视频
WWDC22
WWDC20
-
下载
大家好 我是 Christopher Ward 我是 iCloud 开发者体验团队 的工程师
CloudKit Console 的数据库 应用程序 是用于在 CloudKit 容器中 检查数据和管理数据库架构 的工具
我很高兴能与大家分享 新功能和改进的功能 以便你及时了解 CloudKit 容器 的重要变化 以及强大的调试工具 从而了解你的 App 如何使用 CloudKit
我将展示开发者通知 如何让你知道你的 CloudKit 容器中发生的变化
你将了解如何配置通知设置 以根据你的团队对 CloudKit 的 使用情况量身定制通知
然后我将介绍 CloudKit Console 的遥测工具 中的强大功能 如何使你了解 App 对 CloudKit 的使用情况
我将说明 CloudKit Console 日志 如何帮助你进一步探索 App 与 CloudKit 容器 的交互情况 并且是以保护隐私的方式进行
最后我将演示 如何根据 App 的遥测数据 创建自定提醒
你将能够在 CloudKit 容器中检测到 你指定的条件时收到通知
通知可让你清楚地知道 CloudKit 容器中发生了 关键事件 发送的通知中还会包含重要的 上下文信息
这使你能够轻而易举地识别 并解决 App 中的问题
我和我的团队成员 正在开发一款 App
我们的 App 使用 CloudKit 将数据同步到 iCloud
我们使用 CloudKit Console 来管理架构 和处理 CloudKit 中储存的数据
接下来我将展示 CloudKit Console 中的通知 通知铃铛位于顶部标题栏中 这是 CloudKit 开发者通知的主页
点按铃铛后 我会看到发送给我的通知的列表 通知是自动发送的 是接收 CloudKit 容器状态 和活动更新 的最快方式 CloudKit 开发者通知 适用于一系列活动 可让你随时获知数据库提醒、 架构更改、升级、重置 以及授权令牌状态 点按通知后 你将会跳转至 Console 的相关部分 其中提供必要的上下文信息
点按架构更改通知 你会进入 Schema History 页面 Console 中的这个新页面 详细展示了你的团队过去 对容器架构进行的更改 你还可以自定义要接收哪些通知 以及通知方式
我将演示如何在 Console 中 配置通知设置 打开用户菜单并点按 Settings
点按通知栏目后 我看到通知的 配置选项列表
如果勾选了通知的网页类别 通知会自动显示在 CloudKit Console 中 我为服务更新和数据库提醒 启用电子邮件通知 只需勾选这两个标题旁边的复选框 当我离开控制台时 我希望获得这些提醒 这样可以确保在需要时 我能够采取行动
确保我的通知仅限于 与我关注的 App 相关的容器 这一点非常重要
可以针对单个容器启用或停用通知 我打开 Manage Containers 开关 明确选择我想接收通知的容器 在这里我选择我的示例容器 我只会收到与列表中所选容器 相关的通知 而不是测试之前的 App 时 使用的容器 CloudKit Console 中的遥测功能 直观呈现 App 与 CloudKit 容器的互动
你可以使用遥测来了解 当前的 CloudKit 活动 观察各种指标的趋势 包括 请求数、错误数、延迟和带宽
我将回到 CloudKit Console
通知铃铛有一个更新标记 提醒我收到了新通知
我点按铃铛以打开通知面板
列表中的通知 通知我触发了容器的数据库提醒
这个提醒配置为 当容器的 CloudKit 错误总数 超过阈值时 向我发出通知
点按通知 跳转到提醒详情页面 在这里我开始调查 导致错误增加的原因 从通知跳转到这个页面 缩小了相关的时间范围 并指示了达到提醒条件的 具体时间点
我的 App 在多个 Apple 平台上运行 我点按 Group By 选择器 将 Group By 更改为 Platform 这项更改修改了图表 根据平台将错误分组 这有助于快速发现 平台间的数据差异 我的 App 在 iPhone 和 iPad 上 产生的 CloudKit 流量 比 Apple Watch 上要高得多 所以我预计这些设备 总是会有更多错误 从图表中可以清楚地看到 Watch 上的错误数 超出了我的预期 因此我将切换到 Error Rate 指标 点按侧边导航栏中的遥测链接 然后点按 Error Rate 图表
Error Rate 图表显示错误数 占发送的请求总数的百分比
将 Group By 更改为 Platform 可以看到 Watch App 是异常错误数的来源
为了进一步调查问题 在图表上方的查询构建器中 我输入一个筛选条件 从而将显示的数据限制为 当平台是 Watch 时
现在我将 Group By 改为 Operation 这样我就可以知道 哪些特定操作受到影响
查看遥测图表 可以清楚地看到哪些操作 触发了错误
缩小遥测数据视图的范围 可以更容易了解 App 中发生了什么 以及受影响的操作 在遥测中 除了错误数和错误率 你还可以使用相同的筛选工具 来探索 App 的 请求数、带宽和延迟
你可以将遥测查询共享给团队成员 以便大家对分析和 解决方案进行协作 Usage 使你可以了解 存储的数据 主要是记录还是资产 你有多少活跃用户 以及哪些设备使用得最多
这些图表都可以 使用自定时间范围生成 方便你监控相关趋势 确定 App 中的问题后 你需要尽可能多的详细信息 来解决问题
App 触发的各种操作 可以在 CloudKit Console 的 Database Logs 中进行探索
其中提供详细的信息 帮助你更轻松地验证 关于 App 问题的假设 并迅速加以解决
现在回到 Console 继续进行我的调查
可以从侧边导航窗格访问日志 或者点按 Telemetry 页面中的 Query in Logs 按钮
我通过点按 Query in Logs 按钮 进入 Logs 页面 在 Telemetry 页面上进行的 所有搜索和询问 都保存在初始日志查询中 这意味着显示的日志都是 与调试和探索 CloudKit 事件 相关的日志 我修改时间范围 选择两天的时间窗口 时间窗口选择器位于查询栏上方 缩小时间范围 可以消除结果中的噪声 我对每个事件中的 某些不同字段感兴趣 通过点按表格视图按钮 日志会以自定义表格形式显示 添加感兴趣的列 让我可以轻松地比较事件之间的值 我点按可自定表格列的控件 从支持的列的列表中 选择 userId 这样我可以看到 这个问题影响的用户 通过添加这个额外的列 我立即发现某一个用户引发了大量 Quota Exceeded 错误 也就是说 我的 Watch App 没有正确地处理这个情况
展开感兴趣的日志后 我看到了特定事件中发送的 数据的完整视图
日志查询的结果 可以导出为不同格式 导出的日志可用于比较历史结果 以及在 CloudKit Console 之外 处理日志数据
要导出日志 可以点按 Export data 按钮 并选择 Download CSV 或 Download JSON
要测试已修复错误中的表现下降情况 也可以保存查询日志 还可以通过点按 Copy log link 按钮来分享日志 方便整个团队调试同一问题
创建自定提醒使你能够根据 App 对 CloudKit 的使用情况中的 重要变化作出反应
提醒的触发条件是值超出 或低于指定的阈值或平均值
深度自定义可让你根据 遥测筛选条件和重复条件限制通知
我想确保之前发现的错误情况 不再发生 如果发生 我希望系统主动发出提醒
我将创建一个提醒 以便未来发生这种情况时 收到通知
我将返回 Console 查看之前的调查 的错误率图表
我点按遥测图表下方的 Create Alert 按钮 这将打开提醒创建对话框 它会引导我完成创建提醒的流程 提醒预览图表可以清楚地展示 我正在配置的提醒 在什么情况下会触发
突出显示的区域代表提醒的阈值 与这个区域的相交点 表示这个时候触发了提醒
之前在调查错误时输入的筛选条件 会自动添加 以便在将来再次满足这个条件时 专门定位到它 对我来说非常重要的一点是 如果这个问题再次出现 我会第一时间收到通知 为此 我点按时间段选择器 并将提醒配置为 监控每小时的错误率
默认情况下 提醒中会填充 一个提醒阈值 提醒阈值基于容器的平均使用情况 我对阈值进行调整 将阈值略微提高 因为我只希望在指标 明显升高时收到提醒
更新后的预览图表 让我可以直观地看到 修改提醒条件后的效果 系统会根据提醒的条件 提供一个合理的默认提醒名称 我将使用默认名称 但你可以按自己的喜好 输入任何名称
点按 Create 后 提醒的条件就会保存 并将针对我的 CloudKit 容器的 使用情况进行评估 我将跳转到新创建的提醒 的详情页面 图表将显示达到提醒条件 的所有时刻 以及根据之前配置的设置 通知我的时刻
提醒可以基于 请求数、错误数 和错误率遥测指标创建
我展示了错误率提醒的示例 使用不同指标的 另外两个示例提醒是: App 在新平台上发布时 配置基于错误次数的提醒 可以让你深入了解新尝试是否成功 或是协助你快速纠正错误 当你完善 App 中的同步逻辑后 可以使用提醒来检测未来的 表现下滑情况
例如 可以创建提醒来检查 数据同步操作的预期数量 没有超过基于平均值的阈值 这可以让你了解是否引入了 任何同步错误 可以通过新的 Alerts 页面 管理提醒 位于侧边导航栏中的 Monitor 部分下
这个页面将所有提醒汇总在一处 并允许进行启用、停用或删除操作
现在你有了一套新的 CloudKit Console 工具
配置你的通知偏好设置 选择也通过电子邮件发送的通知 探索遥测图表以直观呈现 App 与 CloudKit 的交互情况
查看 App 的 CloudKit 使用情况统计数据 以查看活跃用户数、 设备数和存储空间的趋势 保存重要的日志和遥测查询 并与你的团队共享 最重要的是 创建自定提醒以获得 关于 CloudKit 容器中 关键活动的通知 谢谢观看
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。