协议
提供方
在 fuchsia.tracing.provider/provider.fidl 中定义
应用必须实现并向 TraceRegistry
注册以参与跟踪的提供程序接口。
请参阅 //zircon/system/ulib/trace-provider/,了解此应用可轻松配置的 C++ 实现。
已知类别
获取此提供程序可能生成的跟踪类别。
请求
<空>
响应
名称 | 类型 |
---|---|
categories |
vector<fuchsia.tracing/KnownCategory>[5000]
|
初始化
初始化跟踪,并将指定 categories
中的事件的跟踪记录记录到 buffer
中,以使用 fifo
作为信号。跟踪尚未开始,仍需进行 Start()
调用。
一次最多只能有一个跟踪记录处于活动状态。必须忽略在 Terminate()
调用之前收到的后续 Initialize()
请求。
请求
名称 | 类型 |
---|---|
config |
ProviderConfig
|
开始
开始跟踪。
如果跟踪已经开始,提供商必须忽略该请求。
没有相符的结果。提供程序必须在 fifo
上发送 TRACE_PROVIDER_STARTED
数据包,以表明启动成功/失败。
请求
名称 | 类型 |
---|---|
options |
StartOptions
|
停止
停止跟踪。
如果跟踪已经停止,提供程序必须忽略该请求。
当提供程序将任何最终事件写入跟踪缓冲区后,必须在 fifo
上发送 TRACE_PROVIDER_STOPPED
数据包。请注意,可在 Initialize,Terminate
之间收到多个 Start,Stop
请求。
请求
<空>
终止
终止跟踪。
如果尚未停止,请先停止跟踪。跟踪完全终止后,提供程序必须关闭 buffer
和 fifo
,以向跟踪管理器表明跟踪已完成。
请求
<空>
注册表
在 fuchsia.tracing.provider/provider.fidl 中定义
跟踪服务提供商用于向跟踪系统注册自身的服务。请注意,此接口的一个属性是一旦注册完成,提供程序便可以丢弃此连接。
注册提供程序
注册跟踪记录提供程序。注意:注册是异步进行的,只有在系统返回提供程序实际注册之后的某个时间点。要取消注册,只需关闭 Provider 管道即可。
pid
是提供程序的进程 ID,name
是提供程序的名称。二者均用于日志记录和诊断消息。
请求
名称 | 类型 |
---|---|
provider |
Provider
|
pid |
zx/Koid
|
name |
string[100]
|
寄存器提供程序同步
同步注册跟踪记录提供程序。在提供程序注册之前,调用不会返回。如果注册成功,返回 s
时为 ZX_OK
。如果跟踪已经开始,则为 started
(如果提供程序希望在收到 Start() 之前不丢弃跟踪记录,则提示等待 Start() 消息后再继续)。
要取消注册,只需关闭 Provider 管道即可。
pid
是提供程序的进程 ID,name
是提供程序的名称。二者均用于日志记录和诊断消息。
请求
名称 | 类型 |
---|---|
provider |
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>[5000]
|
添加日期:11
|
没有默认电话服务提供方 |
StartOptions
在 fuchsia.tracing.provider/provider.fidl 中定义
用于控制启动时跟踪的其他选项。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
buffer_disposition |
fuchsia.tracing/BufferDisposition
|
添加日期:11
|
没有默认电话服务提供方 |
additional_categories |
vector<string>[5000]
|
添加日期:11
|
没有默认电话服务提供方 |