协议
ArchiveAccessor
在 fuchsia.diagnostics/reader.fidl 中定义
用于与不同诊断数据源交互的外部协议。
StreamDiagnostics
在系统上创建诊断数据迭代器。
- 迭代器可以通过在 SNAPSHOT 模式下流式传输来限制数量,仅提供系统上诊断数据的当前状态。
- 通过以 SNAPSHOT_THEN_SUBSCRIBE 或 SUBSCRIBE 模式进行流式传输,迭代器可能是无限的;前者首先提供对系统当前状态的迭代,然后两者都提供对新到达的诊断数据的持续迭代。
-
请求
result stream一个 [fuchsia.diagnostics/BatchIterator],诊断记录通过该迭代器向客户端公开。- epitaphs:
- INVALID_ARGS:StreamParameters 结构体中缺少必需参数。
- WRONG_TYPE:StreamParameters 结构体提供的选择器格式不正确。
- epitaphs:
-
请求
stream_parameters是一个 [fuchsia.diagnostics/StreamParameter],用于指定如何配置数据流。
请求
| 名称 | 类型 |
|---|---|
stream_parameters |
StreamParameters
|
result_stream |
server_end:BatchIterator
|
StreamDiagnosticsToSocket
将诊断数据直接流式传输到套接字。 这适用于偏好基于套接字的流式传输的主机工具或组件。
请求
| 名称 | 类型 |
|---|---|
stream_parameters |
StreamParameters
|
stream |
handle<socket>
|
响应
| 名称 | 类型 |
|---|---|
payload |
ArchiveAccessor_StreamDiagnosticsToSocket_Result
|
WaitForReady
确保已与服务器建立连接,以防止在使用此协议的其他流水线方法时发生竞态。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
ArchiveAccessor_WaitForReady_Result
|
BatchIterator
在 fuchsia.diagnostics/reader.fidl 中定义
从概念上讲,这是一个目录迭代器,其中迭代器中的每个元素都是一个完整的单个文件,可以与其他结果串联。
GetNext
返回 [fuchsia.diagnostics/FormattedContent] 结构体的向量,其格式由提供给生成此 BatchIterator 的 Reader 协议的 format_settings 参数决定。
空向量表示数据层次结构已完全迭代,后续 GetNext 调用将始终返回空向量。
当 BatchIterator 通过订阅模型提供结果时,对 GetNext 的调用将挂起,直到有新数据可用,它不会返回空向量。
- 返回 FormattedContent 结构体的向量。连接到 Batch 的客户端应调用 GetNext(),直到返回空向量,这表示已读取整个数据层次结构。
- 错误 a [fuchsia.diagnostics/ReaderError] 值,表示在读取底层数据层次结构或设置这些层次结构的格式以填充
batch时出现问题。请注意,这些问题不包括单个组件的数据层次结构无法读取。 迭代器可以容忍单个组件数据源无法读取,无论该失败是超时还是二进制文件格式错误。 如果 GetNext 调用失败,系统会丢弃该数据层次结构结果子集,但后续对 GetNext 的调用将提供 FormattedDataHierarchies 的新子集。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
BatchIterator_GetNext_Result
|
WaitForReady
表示 BatchIterator 已连接。如果 BatchIterator 尚未连接,此方法将挂起,直到连接成功。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
BatchIterator_WaitForReady_Result
|
LogFlusher
在 fuchsia.diagnostics/log_flush.fidl 中定义
WaitUntilFlushed
通过日志记录流水线将所有待处理日志刷新到串行端口。在调用 Flush 之前写入套接字的日志,在返回时保证会完全写入串行。在 Archivist 收到此调用后写入套接字的日志不保证会被刷新。 此外,在进行此调用之前,套接字必须实际连接到 Archivist。如果 Archivist 尚未收到套接字,这些日志可能会被丢弃。 为确保日志正确刷新,请务必在记录时等待初始兴趣。重要提示:此方法可能会从主机调用,但主机套接字不会通过此方法刷新。 如果您从主机写入数据(而不是在设备上,则无法保证此类日志会被输出)。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
LogFlusher_WaitUntilFlushed_Result
|
LogSettings
在 fuchsia.diagnostics/log_settings.fidl 中定义
此协议允许客户端修改系统中组件的日志记录行为。
SetComponentInterest
请求更改匹配组件的兴趣。
每个组件都包含一组请求的兴趣。
当收到针对 LogSettings#SetComponentInterest 的新请求时,匹配组件的集合会收到新的最低兴趣。如果兴趣低于之前的最低兴趣,则会发送包含新最低兴趣的 SetComponentInterest 请求。
如果与 LogSettings 的连接发送了另一个 SetComponentInterest 请求,则其之前的兴趣请求将被撤消。
与 LogSettings 的连接完成后,兴趣会被撤消,除非 persist 设置为 true。每个匹配的组件最低利息都会更新为集合中的新最低利息。
请求
| 名称 | 类型 |
|---|---|
payload |
LogSettingsSetComponentInterestRequest
|
响应
<EMPTY>
LogStream
在 fuchsia.diagnostics/log_stream.fidl 中定义
关联
使客户端能够流式传输存储在 Archivist 中的所有日志。 需要一个可写入的数据报或流套接字句柄。 如果使用 subscribe_to_manifest,则需要流套接字,否则可以使用流套接字或数据报套接字。
日志将以原始 FXT 格式写入,并在记录末尾附加两个额外参数,具体取决于传递的选项:
- `$__moniker`: the moniker of the component that emitted the log.
- `$__url`: the URL of the component that emitted the log.
- `$__rolled_out`: the number of logs that were rolled out from the
buffer before this one.
请求
| 名称 | 类型 |
|---|---|
socket |
handle<socket>
|
opts |
LogStreamOptions
|
示例
在 fuchsia.diagnostics/sample.fidl 中定义
配置 Archivist,使其定期提醒您通过 SampleParameters 提供的数据的状态。
如果给定配置导致命中,则会通过提供的 sink 发送 BatchIterator。该迭代器可能会耗尽,然后 sink 将保持静默,直到下一次命中。
Archivist 不会告知客户端哪些数据成功返回,因为它没有固有的优势能力来执行此操作。需要知道查询了哪些数据的客户端应缓存其选择器并使用 selectors::select_from_hierarchy(或 C++ 中的类似方法)。
提交
Commit 会快速返回错误,因为所有配置都会在采集第一个样本之前进行验证。
请求
| 名称 | 类型 |
|---|---|
sink |
client_end:SampleSink
|
响应
| 名称 | 类型 |
|---|---|
payload |
Sample_Commit_Result
|
设置
添加示例参数。
由于这受频道大小的限制,因此该 API 会在 300 项时分页。除非选择器特别大,否则应该可以放入通道中。
使用 Commit 表示所有样本均已发送。
请求
| 名称 | 类型 |
|---|---|
sample_parameters |
SampleParameters
|
SampleSink
在 fuchsia.diagnostics/sample.fidl 中定义
SampleSink 由客户端提供,以便在样本准备就绪时收到通知。
OnNowOrNever
OnNowOrNever 会对此服务器中的所有数据启动最终采样,并在下一个 OnSampleReadied 事件耗尽后退出。
它会忽略轮询周期,但不会忽略差异行为。
响应
<EMPTY>
OnSampleReadied
请求
| 名称 | 类型 |
|---|---|
event |
SampleSinkResult
|
SystemActivityMonitor
在 fuchsia.diagnostics/system_activity_monitor.fidl 中定义
GetNextEvent
在系统活动事件(例如 CPU 提升开始或结束)发生之前一直处于阻塞状态,并在事件发生时返回该事件。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
SystemActivityMonitor_GetNextEvent_Result
|
STRUCTS
全部
在 fuchsia.diagnostics/selector.fidl 中定义
<EMPTY>
ArchiveAccessor_StreamDiagnosticsToSocket_Response
在 fuchsia.diagnostics/reader.fidl 中定义
<EMPTY>
ArchiveAccessor_WaitForReady_Response
在 fuchsia.diagnostics/reader.fidl 中定义
<EMPTY>
BatchIterator_GetNext_Response 资源
在 fuchsia.diagnostics/reader.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
batch |
vector<FormattedContent>:64
|
无默认应用 |
BatchIterator_WaitForReady_Response
在 fuchsia.diagnostics/reader.fidl 中定义
<EMPTY>
LogFlusher_WaitUntilFlushed_Response
在 fuchsia.diagnostics/log_flush.fidl 中定义
<EMPTY>
LogInterestSelector
在 fuchsia.diagnostics/log_settings.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
selector |
ComponentSelector
|
匹配将请求其兴趣的组件。 |
无默认应用 |
interest |
fuchsia.diagnostics.types/Interest
|
将发送到与选择器匹配的组件的兴趣级别。 |
无默认应用 |
PropertySelector
在 fuchsia.diagnostics/selector.fidl 中定义
一个选择器,用于定义要匹配的一组节点,以及在这些匹配的节点上要匹配的一组命名属性。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
node_path |
vector<StringSelector>:100
|
StringSelector 的向量,用作通过命名节点层次结构的路径的模式匹配器。向量中的每个条目都是数据层次结构中单个命名节点的选择器。然后,命名节点的选择器向量定义数据层次结构中路径的选择器。 节点路径支持通配符,通配符会匹配节点层次结构中的单个层级。例如: root/a/b//d 将匹配节点 b 的某个子节点下名为 d 的所有节点。 root/a/b/c 将匹配 b 下以字符“c”开头的所有节点。 |
无默认应用 |
target_properties |
StringSelector
|
一个 StringSelector,用作数据层次结构中节点上字符串命名属性的模式匹配器。 target_properties 支持通配符,这将与 node_path 匹配的任何节点上的所有属性匹配。 |
无默认应用 |
Sample_Commit_Response
在 fuchsia.diagnostics/sample.fidl 中定义
<EMPTY>
SubtreeSelector
在 fuchsia.diagnostics/selector.fidl 中定义
一个选择器,用于定义要匹配的一组节点,系统会选择包含这些节点的整个子树。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
node_path |
vector<StringSelector>:100
|
StringSelector 的向量,用作通过命名节点层次结构的路径的模式匹配器。向量中的每个条目都是数据层次结构中单个命名节点的选择器。然后,命名节点的选择器向量定义数据层次结构中路径的选择器。 节点路径支持通配符,通配符会匹配节点层次结构中的单个层级。例如: root/a/b//d 将匹配节点 b 的某个子节点下名为 d 的所有节点。 root/a/b/c 将匹配 b 下以字符“c”开头的所有节点。 |
无默认应用 |
SystemActivityMonitor_GetNextEvent_Response
在 fuchsia.diagnostics/system_activity_monitor.fidl 中定义
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
event |
SystemActivityEvent
|
无默认应用 |
枚举
ConfigurationError flexible
类型:uint32
在 fuchsia.diagnostics/sample.fidl 中定义
ConfigurationError 表示 Sample::Set 中的设置有误。此值会在采集第一个样本之前返回。
| 名称 | 值 | 说明 |
|---|---|---|
SAMPLE_PERIOD_TOO_SMALL |
1 |
这表示在计算采样周期时,采样周期小于 |
SAMPLE_PARAMETERS_INVALID |
2 |
这表示 |
INVALID_SELECTORS |
3 |
表示发送的选择器无效。如需了解详情,请查看 Archivist 的日志。 |
DataType strict
类型:uint8
在 fuchsia.diagnostics/reader.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
检查 |
1 |
在系统上完成检查层次结构。 |
日志 |
3 |
系统上的日志流。 |
格式 strict
类型:uint32
在 fuchsia.diagnostics/format.fidl 中定义
用于指定 Reader 结果输出格式的枚举。
| 名称 | 值 | 说明 |
|---|---|---|
JSON |
1 |
根据诊断 JSON 架构规范转储读取结果。 |
TEXT |
2 |
根据 Iquery 文本规范转储读取结果。 |
CBOR |
3 |
根据诊断 CBOR 架构规范转储读取结果。 Added: HEAD
|
FXT |
5 |
根据 Diagnostics FXT 架构规范转储读取结果。仅日志支持此功能。 新增:NEXT
|
PowerEvent 灵活
类型:uint32
在 fuchsia.diagnostics/system_activity_monitor.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
BOOST_START |
1 |
积分加倍活动已开启 |
BOOST_END |
2 |
积分加倍活动已结束 |
ReaderError strict
类型:uint32
在 fuchsia.diagnostics/reader.fidl 中定义
枚举,用于描述通过结果迭代器向客户端提供结果时流式传输协议的潜在故障状态。
| 名称 | 值 | 说明 |
|---|---|---|
IO |
1 |
RuntimeError flexible
类型:uint32
在 fuchsia.diagnostics/sample.fidl 中定义
RuntimeError 表示在采样服务器开始定期采样数据后出现的错误。客户端可以忽略这些错误,但这些错误可能表示永远不会有 SampleReady 请求到达,或者批处理迭代器可能会以意外方式运行,例如挂起。
| 名称 | 值 | 说明 |
|---|---|---|
BATCH_ITERATOR_FAILED |
1 |
启动批处理迭代器服务器时出错。 如需了解详情,请查看 Archivist 的日志。 |
SampleStrategy flexible
类型:uint8
在 fuchsia.diagnostics/sample.fidl 中定义
SampleStrategy 会指示 Archivist 您希望在哪些情况下接收给定 SampleDatum 的数据。
| 名称 | 值 | 说明 |
|---|---|---|
ON_DIFF |
1 |
|
始终 |
2 |
注意:如果根本没有数据,则不会发出提醒。 |
StreamMode strict
类型:uint8
在 fuchsia.diagnostics/reader.fidl 中定义
枚举,用于指定用户可以连接到诊断指标并流式传输诊断指标的模式。
| 名称 | 值 | 说明 |
|---|---|---|
SNAPSHOT |
1 |
该流将提供连接时的诊断数据快照,然后结束。 |
SNAPSHOT_THEN_SUBSCRIBE |
2 |
该流将在连接时提供诊断数据的快照,然后对该流的后续调用将挂起,直到有新的诊断数据可用。 |
订阅 |
3 |
对该数据流的调用将挂起,直到有新的诊断数据可用。在对数据流的调用之间,新到达的数据会被缓冲。 |
TABLES
ComponentSelector
在 fuchsia.diagnostics/selector.fidl 中定义
指定组件名字对象的模式,用于标识要选择的组件。
组件选择器支持通配符,通配符将匹配组件名字对象的一个“级别”。例如: core/*/echo 将匹配仅在 core 下直接运行的所有 echo 实例,但不匹配更深层嵌套的实例。
组件选择器还支持递归通配符,该通配符将匹配组件名字对象的多个“级别”。例如: core/** 将匹配在 core/ 下运行的所有组件实例及其所有后代。 请注意,通配符不会选择核心本身。如果客户端希望选择包含根的子树,则应传递两个选择器,例如: core core/** 递归通配符只能作为选择器的最后一段。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
moniker_segments |
vector<StringSelector>:25
|
对所选组件的绰号模式进行编码的向量。 这些名字对象是相对于归档器知道的“根”层次结构的子名字对象。 必须至少提供一个 StringSelector,用于指定与当前选择器匹配的组件名称。 |
LogSettingsSetComponentInterestRequest
在 fuchsia.diagnostics/log_settings.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
selectors |
vector<LogInterestSelector>:64
|
选择器列表。必填。 |
2 |
persist |
bool
|
断开连接后是否保留设置更改。 可选。默认设置为 false。 |
LogStreamOptions
在 fuchsia.diagnostics/log_stream.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
mode |
StreamMode
|
要通过此套接字流式传输哪些日志。 |
2 |
include_moniker |
bool
|
是否在记录参数中包含名字。 默认值:false |
3 |
include_component_url |
bool
|
是否在记录参数中包含组件网址。 默认值:false |
4 |
include_rolled_out |
bool
|
是否在记录参数中包含已发布日志的数量。 默认值:false |
5 |
subscribe_to_manifest |
bool
|
PerformanceConfiguration
在 fuchsia.diagnostics/reader.fidl 中定义
用于配置诊断流性能属性的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
max_aggregate_content_size_bytes |
uint64
|
诊断流的批处理迭代器返回的所有格式化内容的总大小上限。如果为以订阅模式配置的数据流设置了此值,则数据流将在达到大小上限时终止。注意:可选 |
2 |
batch_retrieval_timeout_seconds |
int64
|
配置,用于指定等待单个组件“泵送”其诊断数据的最长秒数。此值可用于测试,或者在您知道感兴趣的组件处于高负载状态时使用。 如果未提供,则将使用 https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/diagnostics/archivist/src/constants.rs 中定义的 PER_COMPONENT_ASYNC_TIMEOUT_SECONDS。 注意:可选 |
SampleDatum
在 fuchsia.diagnostics/sample.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
selector |
SelectorArgument
|
要检查的选择器。 |
2 |
strategy |
SampleStrategy
|
服务器决定通知客户端的策略。 |
3 |
interval_secs |
zx/DurationMono
|
此数据的采样间隔。 每个 示例:两个间隔分别为 3 和 4 的数据将每秒检查一次工作。如果两个批次都未准备就绪,Archivist 实际上不会进行采样,但会进行检查。 示例:两个数据的时间间隔分别为 10 秒和 5 秒,则系统只会每 5 秒检查一次工作。 (在实践中,计算出的采样周期必须有效。请参阅上文中的 MINIMUM_SAMPLE_PERIOD_SECONDS。) |
SampleParameters
在 fuchsia.diagnostics/sample.fidl 中定义
一个 Sample 服务器的数据。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data |
vector<SampleDatum>:100
|
要抽样的数据集。 这些样本将按每个 SampleDatum 中的间隔进行批处理。
您应使用 |
SampleReady 资源
在 fuchsia.diagnostics/sample.fidl 中定义
SampleReady 包含可供使用的样本的数据。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
batch_iter |
client_end:BatchIterator
|
|
2 |
seconds_since_start |
zx/DurationMono
|
这可用于检查批处理中的值是否对应于
如果您确实有一个选择器使用不同的策略注册了两次,则必须维护本地缓存并自行检查值。 |
选择器
在 fuchsia.diagnostics/selector.fidl 中定义
结构化选择器,包含对数据层次结构中节点拥有的字符串命名属性进行模式匹配所需的所有信息,其中数据层次结构属于特定组件。
这些选择器以文本形式表示为三个部分,用冒号分隔,分别指定: <component_moniker>:<node_selector>:<property_selector> 示例: 属性选择: realm1/realm2/echo:root/active_users:user_count
Subtree selection:
realm1/realm2/echo:root/active_users
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
component_selector |
ComponentSelector
|
用于定义要匹配的组件名字对象模式的选择器。 |
2 |
tree_selector |
TreeSelector
|
选择器,用于定义要在 |
3 |
tree_names |
TreeNames
|
一组 fuchsia.inspect.Tree 名称,用于在应用层次结构/属性选择器之前进行过滤。 省略名称过滤器等同于 TreeNames::some(["root"])。 请注意,“root”是默认树名称。 新增:22
|
StreamParameters
在 fuchsia.diagnostics/reader.fidl 中定义
配置诊断信息流所需的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data_type |
DataType
|
一个 [fuchsia.diagnostics/DataType],用于指定要流式传输到客户端的诊断数据类型。 注意:必填 |
2 |
stream_mode |
StreamMode
|
[fuchsia.diagnostics/StreamMode],用于指定流式传输服务器如何提供流式传输结果。 注意:必填 |
3 |
format |
Format
|
[fuchsia.diagnostics/Format],用于指定如何设置返回的诊断数据的格式。 注意:必填 |
4 |
client_selector_configuration |
ClientSelectorConfiguration
|
指定客户端希望从其连接返回哪些结果的配置。客户端可以使用所提供选择器的向量来请求特定的数据子集,也可以指定他们需要所有可用数据。注意:必填 |
5 |
batch_retrieval_timeout_seconds |
int64
|
配置,用于指定等待单个组件“泵送”其诊断数据的最长秒数。此值可用于测试,或者在您知道感兴趣的组件处于高负载状态时使用。 如果未提供,则将使用 https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/diagnostics/archivist/src/constants.rs 中定义的 PER_COMPONENT_ASYNC_TIMEOUT_SECONDS。 注意:可选 |
6 |
performance_configuration |
PerformanceConfiguration
|
用于配置诊断流性能属性的参数。 注意:可选 |
UNIONS
ArchiveAccessor_StreamDiagnosticsToSocket_Result strict
在 fuchsia.diagnostics/reader.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ArchiveAccessor_StreamDiagnosticsToSocket_Response
|
|
3 |
framework_err |
internal
|
ArchiveAccessor_WaitForReady_Result strict
在 fuchsia.diagnostics/reader.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ArchiveAccessor_WaitForReady_Response
|
|
3 |
framework_err |
internal
|
BatchIterator_GetNext_Result strict resource
在 fuchsia.diagnostics/reader.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
BatchIterator_GetNext_Response
|
|
2 |
err |
ReaderError
|
|
3 |
framework_err |
internal
|
BatchIterator_WaitForReady_Result strict
在 fuchsia.diagnostics/reader.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
BatchIterator_WaitForReady_Response
|
|
3 |
framework_err |
internal
|
ClientSelectorConfiguration flexible
在 fuchsia.diagnostics/reader.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
selectors |
vector<SelectorArgument>
|
[fuchsia.diagnostics/SelectorArgument] 的向量,提供额外的过滤条件来限定数据流的范围。空向量会被视为配置错误,并会导致 epitaph 指示参数不正确。 |
2 |
select_all |
bool
|
select_all 必须为 true(如果已设置),并指定客户端希望检索其连接能够公开的所有数据。 |
FormattedContent 灵活 资源
在 fuchsia.diagnostics/reader.fidl 中定义
一个 fidl 联合,其中包含结构化诊断数据的完整层次结构,以便内容可以自行解析为文件。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
json |
fuchsia.mem/Buffer
|
编码为 JSON 的诊断架构。 VMO 最多可包含 1MB 的诊断数据。 |
3 |
cbor |
handle<vmo>
|
编码为 cbor 的诊断架构。 VMO 最多可包含 1MB 的诊断数据。 大小将位于 ZX_PROP_VMO_CONTENT_SIZE 中。 Added: HEAD
|
4 |
fxt |
handle<vmo>
|
编码为 FXT 的诊断架构。 这仅对日志数据有效。 VMO 最多可包含 PerformanceConfiguration/max_aggregate_content_size_bytes 的诊断数据,如果未指定,则为 1MB。 大小将位于 ZX_PROP_VMO_CONTENT_SIZE 中。 Added: HEAD
|
LogFlusher_WaitUntilFlushed_Result strict
在 fuchsia.diagnostics/log_flush.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
LogFlusher_WaitUntilFlushed_Response
|
|
3 |
framework_err |
internal
|
SampleSinkResult 灵活 资源
在 fuchsia.diagnostics/sample.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
ready |
SampleReady
|
这将包括所有 |
2 |
error |
RuntimeError
|
|
Sample_Commit_Result strict
在 fuchsia.diagnostics/sample.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Sample_Commit_Response
|
|
2 |
err |
ConfigurationError
|
|
3 |
framework_err |
internal
|
SelectorArgument flexible
在 fuchsia.diagnostics/reader.fidl 中定义
用于归档选择器的参数,可以是预解析的 fidl 结构体或字符串表示法。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
structured_selector |
Selector
|
一个 Selector,用于定义一个模式匹配器,该匹配器用于选择层次结构中的组件以及按组件命名空间的数据层次结构中的属性。 |
2 |
raw_selector |
string:1024
|
表示 [fuchsia.diagnostics/Selector] 的原始字符串。选择器定义了一个模式匹配器,用于选择层次结构中的组件以及按组件命名空间的数据层次结构中的属性。 注意:从 raw_selector 解析的所有 StringSelector 都将以 string_pattern 模式进行解释,从而赋予特殊字符重要意义。 如需了解详情,请参阅 https://fuchsia.dev/fuchsia-src/reference/diagnostics/selectors |
StringSelector flexible
在 fuchsia.diagnostics/selector.fidl 中定义
StringSelector 是一个联合,定义了描述要与字符串匹配的模式的不同方式。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
string_pattern |
string:1024
|
这是提供的字符串,用于定义要匹配的模式。解析器会将星号 (*)、冒号 (:) 和反斜杠 (\) 视为特殊字符。 如果您希望与字面量星号 (*) 匹配,则必须对其进行转义。 如果您想匹配字面意义的反斜杠 (\),则必须对其进行转义。 如果您希望匹配字面量冒号 (:),则必须对其进行转义。 例如:abc 将匹配名称完全为“abc”的任何字符串。
例如:a* 将匹配名称完全为“a*”的任何字符串。
例如:a* 将匹配名称完全以“a”开头的任何字符串。
例如:a* 将匹配以“a”开头的任何字符串。
例如:ab 将匹配以 a 开头并以 b 结尾的任何字符串。
例如:ab*c 将匹配以 a 开头、以 c 结尾且中间包含 此外,“**”字面量会被视为特殊序列,可能仅与组件选择器中的多个级别匹配。如需了解详情,请参阅 |ComponentSelector|。 |
2 |
exact_match |
string:1024
|
SystemActivityEvent flexible
在 fuchsia.diagnostics/system_activity_monitor.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
power_event |
PowerEvent
|
SystemActivityMonitor_GetNextEvent_Result strict
在 fuchsia.diagnostics/system_activity_monitor.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
SystemActivityMonitor_GetNextEvent_Response
|
|
3 |
framework_err |
internal
|
TreeNames flexible
在 fuchsia.diagnostics/selector.fidl 中定义
TreeNames 是从选择器中解析出的组件的 fuchsia.inspect.Trees 名称集。层次结构和属性选择器部分将仅应用于与此集匹配的树。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
some |
vector<string:1024>
|
树名称的指定子集。 |
2 |
all |
All
|
所有可用的树。相当于列出树的所有名称。 |
TreeSelector flexible
在 fuchsia.diagnostics/selector.fidl 中定义
TreeSelector 表示对命名节点层次结构的选择请求,这些节点具有命名属性。
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
subtree_selector |
SubtreeSelector
|
一个选择器,用于定义要匹配的一组节点,系统会选择包含这些节点的整个子树。 |
2 |
property_selector |
PropertySelector
|
一个选择器,用于定义要匹配的一组节点,以及在这些匹配的节点上要匹配的一组命名属性。 |
常量
| 名称 | 值 | 类型 | 说明 |
|---|---|---|---|
| COMPONENT_URL_ARG_NAME | $__url |
String |
Added: HEAD
|
| MAXIMUM_ENTRIES_PER_BATCH |
64
|
uint16 |
之所以选择大小 64,是因为批次中的条目是 VMO 的句柄,并且每个 fidl 消息最多有 64 个句柄。 |
| MAXIMUM_RAW_SELECTOR_LENGTH |
1024
|
uint16 |
1024 的大小限制是一个相当低的大小限制,可满足我们遇到的大多数规范选择器。 |
| MAX_DATA_HIERARCHY_DEPTH |
100
|
uint16 |
|
| MAX_LOG_SELECTORS |
64
|
uint8 |
可通过监听器指定的 LogInterestSelector 的数量上限。 |
| MAX_MONIKER_SEGMENTS |
25
|
uint16 |
|
| MAX_SAMPLE_PARAMETERS_PER_SET |
100
|
uint64 |
一次 Added: HEAD
|
| MAX_STRING_SELECTOR_LENGTH |
1024
|
uint16 |
新增:27
|
| MONIKER_ARG_NAME | $__moniker |
String |
Added: HEAD
|
| ROLLED_OUT_ARG_NAME | $__rolled_out |
String |
Added: HEAD
|