本页的目的是引导用户使用可能有助于解决 Fuchsia 开发者可能遇到的常见问题的工具。
问题
-
运行时观察
我想了解我的组件在运行时执行了哪些操作。
工具
- 检查
- 日志
- 结构化日志
- 跟踪记录
- zxdb
公开有关组件状态的结构化诊断信息。 这有助于监控组件在给定时间点的状态。 借助“检查”工具,组件可以公开任意类型的键值对层次结构,并在执行过程中对其进行更新。在组件仍在运行时,可以对这些数据进行快照和检查。 检查通常用于表示组件的工作集和近期历史记录的相关信息,以便在调试期间提供帮助。 组件开发者可以通过依赖于其所选语言(Rust、C++)的库,并调用适当的方法来更改其记录的状态,从而使用 Inspect。 您可以使用
ffx inspect
工具或ffx target snapshot
读取检查数据。在组件执行期间输出字符串日志。 与许多系统一样,Fuchsia 支持对字符串进行基本日志记录,以便在执行特定行源代码时记录一些信息。 日志由归档程序组件汇总。您可以使用 `ffx log` 读取这些日志。
在日志消息中存储结构化键值对。 除了基于文本的日志之外,Fuchsia 还支持编码为类型化键值对层次结构的完全结构化日志记录。 开发者可以在 Rust 中使用
tracing
crate 宏或在 C++ 中使用FX_SLOG
宏来编写结构化日志。Fuchsia 的跟踪系统提供了一种全面的方式,可从 Fuchsia 用户空间进程和 Zircon 内核收集、汇总和可视化诊断跟踪信息。轨迹(如日志)代表 Fuchsia 系统中的事件,但粒度更细、频率更高,并且供机器使用,以计算其他数据分析和可视化结果。
zxdb 是适用于在 Fuchsia 上运行的原生代码的控制台模式调试程序。
-
快照分类
我想自动对快照进行后处理,以识别重要值或错误情况
工具
- 分类
分类功能会从诊断数据中选择和处理值,在设备端和设备端以外生成有用的操作和数据洞见。 分类功能可以:显示计算值;归档快照(在设备上作为检测引擎运行时);以及输出有关非正常值的警告。
-
触发器快照
我想根据特定条件自动触发快照
工具
- 检测
检测扫描 检查设备上的数据,以确定何时提交崩溃报告。 检测扫描是使用分类语言配置的,每隔几分钟运行一次。
-
跟踪函数
我想衡量特定函数的运行时
工具
- 跟踪记录
Fuchsia 的跟踪系统提供了一种全面的方式,可从 Fuchsia 用户空间进程和 Zircon 内核收集、汇总和可视化诊断跟踪信息。轨迹(如日志)代表 Fuchsia 系统中的事件,但粒度更细、频率更高,并且供机器使用,以计算其他数据分析和可视化结果。
-
从设备收集指标
我想在现场从用户拥有的设备收集指标
工具
- 钴蓝
Cobalt 是一个流水线,用于从用户拥有的现场设备收集指标数据并生成汇总报告。 Cobalt 包含一套用于保护用户隐私和匿名性的功能,同时为产品所有者提供改进产品所需的数据。
工具
-
检查
公开有关组件状态的结构化诊断信息。 这有助于监控组件在给定时间点的状态。 借助“检查”工具,组件可以公开任意层次结构的类型化键值对,并在执行过程中对其进行更新。在组件仍在运行时,可以对这些数据进行快照和检查。 检查通常用于表示组件的工作集和近期历史记录的相关信息,以便在调试期间提供帮助。 组件开发者可以通过依赖于其所选语言(Rust、C++)的库,并调用适当的方法来更改其记录的状态,从而使用 Inspect。 您可以使用
ffx inspect
工具或ffx target snapshot
读取检查数据。
检查功能可以解决的问题:
- 我想了解我的组件在运行时执行了哪些操作。
相关工具
- 分类
-
日志
在组件执行期间输出字符串日志。 与许多系统一样,Fuchsia 支持对字符串进行基本日志记录,以便在执行特定行源代码时记录一些信息。 日志会由归档程序组件汇总。您可以使用 `ffx log` 读取这些日志。
日志可以解决的问题:
- 我想了解我的组件在运行时执行了哪些操作。
相关工具
- 结构化日志
-
结构化日志
在日志消息中存储结构化键值对。 除了基于文本的日志之外,Fuchsia 还支持编码为类型化键值对层次结构的完全结构化日志记录。 开发者可以在 Rust 中使用
tracing
crate 宏或在 C++ 中使用FX_SLOG
宏来编写结构化日志。
结构化日志可以解决的问题:
- 我想了解我的组件在运行时执行了哪些操作。
-
持久性
持久性会存储 Inspect 数据,并在后续启动时发布这些数据。 有时,在设备重新启动之前,无法从设备导出诊断数据,例如,如果网络存在问题。持久化会将所选的 Inspect 数据写入磁盘,然后在下次启动时将其发布回 Inspect。
持久性可解决的问题:
相关工具
- 检查
-
采样器
采样器从 Inspect 读取数据,并将其转发给 Cobalt。 采样器提供了一种向 Cobalt 发送数据的简单方法。您无需将应用关联到 Cobalt 服务并直接使用它,只需在 Inspect 中发布数据并编写一个简单的配置文件条目,告知 Sampler 提取数据并将其发送到 Cobalt 即可。
Sampler 可以解决的问题:
相关工具
- 检查
-
跟踪记录
Fuchsia 的跟踪系统提供了一种全面的方式,可从 Fuchsia 用户空间进程和 Zircon 内核收集、汇总和可视化诊断跟踪信息。轨迹(如日志)代表 Fuchsia 系统中的事件,但粒度更细、频率更高,并且供机器使用,以计算其他数据分析和可视化结果。
跟踪功能可以解决的问题:
- 我想了解我的组件在运行时执行了哪些操作。
- 我想衡量特定函数的运行时
相关工具
- 检查
- 日志
-
分类
分类功能会从诊断数据中选择和处理值,在设备端和设备端以外生成有用的操作和数据洞见。 分类功能可以:显示计算值;归档快照(在设备上作为 Detect 引擎运行时);以及输出有关非正常值的警告。
分类功能可以解决的问题:
- 我想自动对快照进行后处理,以识别重要值或错误情况
相关工具
- 检查
- 检测
-
钴蓝
Cobalt 是一个流水线,用于从用户拥有的现场设备收集指标数据并生成汇总报告。 Cobalt 包含一套用于保护用户隐私和匿名性的功能,同时为产品所有者提供改进产品所需的数据。
Cobalt 可以解决的问题:
- 我想在现场从用户拥有的设备收集指标
-
检测
检测扫描 检查设备上的数据,以确定何时提交崩溃报告。 检测扫描是使用分类语言配置的,每隔几分钟运行一次。
Detect 可以解决的问题:
- 我想根据特定条件自动触发快照
相关工具
- 检查
- 分类
-
Zxdb
zxdb 是适用于在 Fuchsia 上运行的原生代码的控制台模式调试程序。
zxdb 可以解决的问题:
- 我想了解我的组件在运行时执行了哪些操作。