This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

EAS Observe 简介

编辑页面

EAS Observe 是一项性能监控服务,可跟踪你的应用在真实设备和各种条件下于生产环境中的表现。


EAS Observe 是 Expo 提供的一项性能监控服务,用于跟踪你的应用在生产环境中的表现。它能让你了解真实世界中的启动时间、渲染性能,以及不同设备、网络和条件下的用户体验。

React Native 中的性能调试传统上仅限于开发工具。EAS Observe 关注的是生产环境,因为那里的性能特征与你在开发过程中看到的情况有很大不同。

观看:介绍 EAS Observe
观看:介绍 EAS Observe

了解 EAS Observe 如何从你的生产应用中,在不同设备、网络和条件下,呈现真实世界的启动和渲染性能。


快速开始

Terminal
# 安装该库
- npx expo install expo-observe
# 安装该库
- yarn expo install expo-observe
# 安装该库
- pnpm expo install expo-observe
# 安装该库
- bun expo install expo-observe

使用 ObserveRoot 组件(在 SDK 55 上使用 AppMetricsRoot 组件)包裹根布局,并在应用准备好接受用户输入时调用 markInteractive()。完整的设置指南请参见开始使用。

面向 AI 代理的 Expo Skills

如果你使用 AI 代理,请安装 Expo Skills,教它如何设置 expo-observe 并查询应用的性能指标:

eas-observe

设置 expo-observe,使用 EAS CLI 查询指标,并解读启动和导航性能数据。

为什么选择 EAS Observe

传统的开发期分析工具展示的是应用在你自己机器上的表现。EAS Observe 展示的是它在真实用户环境中的表现:

  • 生产环境性能数据:跟踪真实用户会话在多种设备上的启动时间、渲染性能、bundle 加载时间和 EAS Update 下载时间
  • 版本对比:查看不同应用版本和 OTA 更新之间的指标变化,以便及早发现性能回退
  • 按路由划分的导航指标:通过 Expo Router 或 React Navigation 集成,按路由比较渲染和交互耗时
  • 会话调查:深入查看单个用户会话,了解特定设备或条件导致性能变慢的原因
  • 用户定义事件:使用 Observe.logEvent 从应用中记录自定义信号,并与性能数据一起分析
  • 错误报告(预览版):记录 JavaScript 错误和原生崩溃,并在仪表板中查看其堆栈跟踪
  • CLI 和仪表板访问:使用 eas observe: 命令从终端查询指标,或在 EAS 仪表板中查看指标

何时使用 EAS Observe

场景建议
监控生产环境中的应用启动性能
比较不同版本和 OTA 更新之间的性能
调查特定设备上的慢速会话
比较不同路由之间的导航性能
跟踪 EAS Update 下载时间
从 CLI 查询性能指标
跟踪应用中的用户定义事件
跟踪生产环境中的 JavaScript 错误(预览版)
跟踪生产环境中的原生崩溃(预览版)
开发期性能分析与调试

开发期分析与调试:使用 React Native DevTools 进行调试,并使用 Expo Atlas 检查 bundle。

JavaScript 错误:在 SDK 57 及更高版本中,EAS Observe 会记录 JavaScript 错误,并在仪表板中显示符号化后的堆栈跟踪。此功能处于预览版。设置和当前限制请参见错误报告。

原生崩溃:在 SDK 57 且 expo-observe 版本为 57.0.21 及更高版本时,EAS Observe 会记录 Android 和 iOS 上的原生崩溃,并在仪表板中与 JavaScript 错误一同显示。仪表板中不会对原生堆栈跟踪进行符号化。详情请参见错误报告。

常见问题(FAQ)

EAS Observe 跟踪哪些指标?

EAS Observe 跟踪启动指标(冷启动时间、热启动时间、首次渲染时间、交互就绪时间和 bundle 加载时间)以及 EAS Update 下载时间。在 SDK 56 及更高版本中,导航集成会添加按路由划分的渲染和交互耗时。每项指标的详细说明请参见指标参考。你还可以将自己的信号记录为用户定义事件,并记录 JavaScript 错误和原生崩溃(预览版)。

支持哪些平台?

EAS Observe 支持 Android、iOS 和 tvOS。指标从生产构建中收集,并可在仪表板和 CLI 中按平台筛选。

EAS Observe 是否可在 Expo Go 中使用?

不可以。EAS Observe 依赖于 expo-observe 原生库,而该库不包含在 Expo Go 中。要使用它,请创建一个开发构建或生产构建。

EAS Observe 会收集个人身份信息吗?

不会。用户通过一个匿名 ID 进行标识,该 ID 在每次应用安装中都是唯一的。此 ID 不可识别个人身份,且当用户卸载并重新安装应用时会重置。更多详情请参见指标参考:用户。

设备离线时会发生什么?

离线期间收集的指标会存储在设备本地。当应用切换到后台且网络连接可用时,它们会自动发送。你也可以使用 dispatchEvents() 手动刷新事件。

我可以在开发期间测试指标吗?

默认情况下,不会发送从调试构建中收集的指标。你可以通过 configure() 将 dispatchInDebug 设置为 true,以便在测试时发送这些指标。详情请参见配置。

指标数据会保留多久?

指标数据至少保留 60 天。

入门

设置 EAS Observe

安装此库,并开始从你的生产应用中收集指标。

EAS Observe 仪表板

查看指标,按平台或版本筛选,并调查单个会话。

用户定义事件

从应用中记录命名事件,并在仪表板中查看这些事件或从 CLI 查询这些事件。

错误报告

记录 JavaScript 错误,并在仪表板中查看符号化后的堆栈跟踪。

配置

控制环境、事件发送和开发模式设置。

指标参考

每项指标、相关概念和数据处理方式的详细说明。

API 参考

expo-observe 库 API 的完整参考。