fuchsia.tracing.provider

添加时间:7

协议

提供商

fuchsia.tracing.provider/provider.fidl 中定义

应用必须实现并向 TraceRegistry 注册此提供程序接口,才能参与跟踪。

如需查看此接口的 C++ 实现(可由应用轻松配置),请参阅 //zircon/system/ulib/trace-provider/。

GetKnownCategories

获取此提供程序可能会生成的轨迹类别。

添加时间:11

请求

<EMPTY>

响应

名称类型
categories vector<fuchsia.tracing/KnownCategory>:5000

初始化

初始化跟踪并准备为 将指定的 categories 传入 buffer,并使用 fifo 发送信号。 跟踪尚未开始,仍需要调用 Start()

一次只能激活一个跟踪记录。后续Initialize() 在调用 Terminate() 之前收到的请求必须被忽略。

请求

名称类型
config ProviderConfig

开始

开始跟踪。

如果跟踪已经启动,提供程序必须忽略该请求。

没有结果。提供程序必须在 fifo 上发送 TRACE_PROVIDER_STARTED 数据包,以指示启动是否成功/失败。

请求

名称类型
options StartOptions

停止

停止跟踪。

如果跟踪已停止,提供程序必须忽略该请求。

当提供程序将任何最终事件写入跟踪记录后 缓冲区,它必须在 fifo 上发送 TRACE_PROVIDER_STOPPED 数据包。 请注意,在 Initialize,Terminate 之间可以接收多个 Start,Stop 请求。

请求

<EMPTY>

终止

终止跟踪。

如果尚未停止,则首先停止跟踪。 跟踪完全终止后,提供程序必须同时关闭 bufferfifo,以向轨迹管理器表明跟踪已完成。

请求

&lt;EMPTY&gt;

注册类型

fuchsia.tracing.provider/provider.fidl 中定义

轨迹提供程序用于向轨迹系统注册自己的服务。请注意,此接口的一个属性是,注册完成后,提供方可以断开此连接。

RegisterProvider

注册跟踪提供程序。 注意:注册是异步的,只有在此返回后某个时间点,提供程序才会实际注册。要取消注册,只需关闭提供程序管道即可。 pid 是提供程序的进程 ID,name 是提供程序的名称。这两种格式都用于日志记录和诊断消息。

请求

名称类型
provider client_end:Provider
pid zx/Koid
name string:100

RegisterProviderSynchronously

同步注册跟踪提供程序。在提供程序注册之前,调用不会返回。返回时,如果注册成功,sZX_OK。如果跟踪已开始,started 为 true,这会提示提供程序在收到 Start() 之前等待 Start() 消息,以免丢弃跟踪记录。要取消注册,只需关闭提供程序管道即可。 pid 是提供程序的进程 ID,name 是提供程序的名称。这两种格式都用于日志记录和诊断消息。

请求

名称类型
provider client_end:Provider
pid zx/Koid
name string:100

响应

名称类型
s zx/Status
started bool

结构体

ProviderConfig 资源

fuchsia.tracing.provider/provider.fidl 中定义

轨迹提供程序配置。

字段类型说明默认
buffering_mode fuchsia.tracing/BufferingMode
添加日期:11
无默认值
buffer handle<vmo>

向其写入跟踪记录的缓冲区。

无默认值
fifo handle<fifo>

当跟踪提供程序观察 fifo 上的 ZX_FIFO_PEER_CLOSED 时,它会 必须假定跟踪管理器已异常终止(自 Stop 起) 接收,并自动停止跟踪,舍弃 任何运行中的轨迹数据。

无默认设置
categories vector<string:100>:5000
添加日期:11
无默认值

StartOptions

fuchsia.tracing.provider/provider.fidl 中定义

用于在启动时控制跟踪的其他选项。

字段类型说明默认
buffer_disposition fuchsia.tracing/BufferDisposition
添加日期:11
无默认设置
additional_categories vector<string:100>:5000
添加日期:11
无默认设置