Fuchsia.inspect

添加时间:7

PROTOCOLS

InspectSink

fuchsia.inspect/inspect_sink.fidl 中定义

添加时间:16

第三方托管

指示服务器存储提供的 VMO 以生成其数据 即使发布 这个 VMO 没有运行

这是在与组件框架的 通过 Escrow API 启用在闲置时停止的功能,但仍可确保一些操作 能够获得实用的诊断信息

客户端必须提供 token,并将其用作 分配给此 VMO。该令牌是一个事件对, 客户端必须提供此事件对的一端,并靠近另一端 (或使用组件 API 托管句柄)。如果服务器发现 PEER_CLOSED 后,它会丢弃关联的 VMO 这个词元。

如果没有传递任何必需的参数,则连接将 已关闭。

如需详细了解如何停止 IDLE 组件,请参阅: https://fuchsia.dev/fuchsia-src/development/components/stop_idle

添加时间:HEAD

请求

名称类型
payload InspectSinkEscrowRequest

FetchEscrow

指示服务器返回(并停止跟踪)关联的 VMO 相应的令牌。

这适用于组件重启并想要提取 检查它托管的数据。

如需详细了解如何停止 IDLE 组件,请参阅: https://fuchsia.dev/fuchsia-src/development/components/stop_idle

添加时间:HEAD

请求

名称类型
payload InspectSinkFetchEscrowRequest

响应

名称类型
payload InspectSink_FetchEscrow_Result

发布

fuchsia.inspect.Tree 协议发布句柄, 服务器可用来读取 Inspect 数据,包括延迟节点。

请求

名称类型
payload InspectSinkPublishRequest

树木花粉

fuchsia.inspect/tree.fidl 中定义

树协议表示检查 VMO 的层次结构。

存储在 Inspect 文件中的链接值包含对新 包含整体数据的延续的已命名文件 层级结构。协议树允许客户端请求这些已命名的文件, 只要托管组件仍处于活动状态

连接到特定树可保留该树居住者的内容 内存中。建议客户端优先遍历树 减少内存用量服务组件可以随意拒绝 避免无限的内存用量

GetContent

获取支持此树的 Inspect VMO 的内容。

只要树连接仍处于维护状态,内容 以确保仍处于活动状态。建立连接后, 服务组件可以随意清除返回的 共享缓冲区。

服务组件可能会向 GetContent 返回不同的缓冲区 对同一树的多次请求。

请求

<空>

响应

名称类型
content TreeContent

ListChildNames

迭代作为此树的子树的名称。

在多次调用之间,底层的子项列表可能会发生变化 ListChildNames 和 OpenChild。

请求

名称类型
tree_iterator server_end<TreeNameIterator>

OpenChild

按名称打开一个子树。

如果无法打开子级,则会关闭给定请求。

请求

名称类型
child_name TreeName
tree server_end<Tree>

TreeNameIterator

fuchsia.inspect/tree.fidl 中定义

用于列出特定树的子级名称的迭代器协议。

GetNext

获取下一批名称。

返回一个空矢量,在没有其他名称时关闭通道。 实现人员可能会在发送最后一批数据后尽快关闭该通道。

请求

<空>

响应

名称类型
name vector<string>

结构体

EscrowToken 资源

fuchsia.inspect/inspect_sink.fidl 中定义

添加时间:HEAD

字段类型说明默认
token handle<eventpair> 无默认设置

InspectSinkEscrowRequest 资源

fuchsia.inspect/inspect_sink.fidl 中定义

Ordinal字段类型说明
vmo EscrowedVmo

包含服务器将存储的检查数据的 VMO。 必填

token EscrowToken

标识此 VMO 的令牌,也充当控制器 停止在服务器中存储此 VMO。 必填

name string[4096]

用于标识此 VMO 的可选名称,直观易读。

可选

tree zx/Koid

可选的对之前提供给 使用 Publish 从服务器中移除。服务器会丢弃句柄 关联,从而触发在 树服务器这使客户端可以确保:

  • 树数据和托管数据不会在快照中出现两次。
  • 调用方可以知道何时停止传送树,从而防止出现数据 缺少某些信息。

如果未提供 name,则此检查的 name 将是 与此树相关联的信息。

如果服务器未跟踪与来源关联的任何句柄 组件包含该 koid,则会被忽略,并将其视为 没有提供任何资源。

可选

InspectSinkFetchEscrowRequest 资源

fuchsia.inspect/inspect_sink.fidl 中定义

Ordinal字段类型说明
token EscrowToken

与我们要提取的 VMO 数据相关联的令牌。如果 令牌未与任何 VMO 关联,则响应将为空。

必填

tree Tree

一个句柄,可供服务器继续读取关联的数据 这个 VMO组件之前指定的名称 此 VMO 将被保留。这相当于调用 将 Publish 替换为返回的 VMO,不过它会移除 从系统读取检查数据到 组件提取 VMO 并为其发布一个树。

可选

InspectSinkPublishRequest 资源

fuchsia.inspect/inspect_sink.fidl 中定义

Ordinal字段类型说明
tree Tree

服务器将用于提取 Inspect 数据的树。

如果未提供,连接将关闭。

必填

name string[4096]

用于从客户端角度标识此树的名称。此名称 不需要在多个树中是唯一的。多棵树 我们接受以相同名称发布的内容,且不会覆盖 之前发布的树。

可选

InspectSink_FetchEscrow_Response 资源

fuchsia.inspect/inspect_sink.fidl 中定义

Ordinal字段类型说明
vmo EscrowedVmo

TreeContent 资源

fuchsia.inspect/tree.fidl 中定义

特定检查树的内容。

Ordinal字段类型说明
buffer fuchsia.mem/Buffer

包含树字节的缓冲区,采用 Inspect 格式。

联合体

InspectSink_FetchEscrow_Result 严格的资源

fuchsia.inspect/inspect_sink.fidl 中定义

Ordinal变体类型说明
response InspectSink_FetchEscrow_Response
framework_err internal

常量

名称类型说明
DEFAULT_TREE_NAME root String
已添加:22
MAX_NAME_LENGTH 4096 uint64
添加时间:16
MAX_TREE_NAME_LENGTH 2040 uint64

检查树的最大长度,由格式指定。

别名

名称说明
EscrowedVmo zx/Handle
添加时间:HEAD
TreeName string[MAX_TREE_NAME_LENGTH]