协议
提供商
在 fuchsia.tracing.provider/provider.fidl 中定义
应用必须实现并向 TraceRegistry
注册此提供程序接口,才能参与跟踪。
如需查看此接口的 C++ 实现(可由应用轻松配置),请参阅 //zircon/system/ulib/trace-provider/。
GetKnownCategories
获取此提供程序可能会生成的轨迹类别。
请求
<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>
终止
终止跟踪。
如果尚未停止,则首先停止跟踪。
跟踪完全终止后,提供程序必须同时关闭 buffer
和 fifo
,以向轨迹管理器表明跟踪已完成。
请求
<EMPTY>
注册类型
在 fuchsia.tracing.provider/provider.fidl 中定义
轨迹提供程序用于向轨迹系统注册自己的服务。请注意,此接口的一个属性是,注册完成后,提供方可以断开此连接。
RegisterProvider
注册跟踪提供程序。
注意:注册是异步的,只有在此返回后某个时间点,提供程序才会实际注册。要取消注册,只需关闭提供程序管道即可。
pid
是提供程序的进程 ID,name
是提供程序的名称。这两种格式都用于日志记录和诊断消息。
请求
名称 | 类型 |
---|---|
provider |
client_end:Provider
|
pid |
zx/Koid
|
name |
string:100
|
RegisterProviderSynchronously
同步注册跟踪提供程序。在提供程序注册之前,调用不会返回。返回时,如果注册成功,s
为 ZX_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>
|
当跟踪提供程序观察 |
无默认设置 |
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
|
无默认设置 |