提供用于将 Perfetto 客户端连接到系统跟踪服务的方法的库。
协议
缓冲区接收器
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
用于在提供程序和系统跟踪服务之间交换跟踪数据缓冲区的接口。
提供缓冲区
发送用作跟踪记录缓冲区的文件。 该文件必须支持可写的 mmap() 访问权限。
请求
姓名 | 类型 |
---|---|
buffer |
fuchsia.io/File
|
回复
姓名 | 类型 |
---|---|
payload |
BufferReceiver_ProvideBuffer_Result
|
ConsumerConnector
在 fuchsia.tracing.perfetto/consumer.fidl 中定义
用于在 Perfetto“使用方”和共享 Perfetto 服务之间创建连接的接口。 如需详细了解 Perfetto,请参阅:https://www.perfetto.dev/docs/ 和 https://perfetto.dev/docs/concepts/service-model。
ConnectConsumer
将 Perfetto 使用方连接到 Perfetto 后端。双方将使用 Perfetto 的内部有线格式通过 producer_socket
进行通信。consumer_socket
的生命周期可能会比 ConsumerConnector 的连接生命周期更长。可以同时连接多个提供方。
请求
姓名 | 类型 |
---|---|
consumer_socket |
handle<socket>
|
回复
姓名 | 类型 |
---|---|
payload |
ConsumerConnector_ConnectConsumer_Result
|
提供方连接
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
用于在 Perfetto“提供方”和共享的 Perfetto 服务之间创建连接的接口。 如需详细了解 Perfetto,请参阅:https://www.perfetto.dev/docs/ 和 https://perfetto.dev/docs/concepts/service-model。
ConnectProducer
将 Perfetto 提供方连接到 Perfetto 后端。双方将使用 Perfetto 的内部线格式“ProducerPort”通过 producer_socket
进行通信(请参阅 //third_party/perfetto/protos/perfetto/ipc/提供方_port.proto)。
trace_buffer
可提供用于从客户端传输跟踪数据的缓冲区,或提供一个用于从服务器接收缓冲区的接口,具体取决于客户端的需求。
producer_socket
的生命周期可能会比 ProducerConnector 的连接生命周期更长。可以同时连接多个制作人。
请求
姓名 | 类型 |
---|---|
producer_socket |
handle<socket>
|
buffer |
TraceBuffer
|
回复
姓名 | 类型 |
---|---|
payload |
ProducerConnector_ConnectProducer_Result
|
结构
BufferReceiver_ProvideBuffer_Response
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
<空>
ConsumerConnector_ConnectConsumer_Response
在 fuchsia.tracing.perfetto/consumer.fidl 中定义
<空>
ProducerConnector_ConnectProducer_Response
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
<空>
联合会
BufferReceiver_ProvideBuffer_Result strict
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
BufferReceiver_ProvideBuffer_Response
|
|
2 |
err |
zx/Status
|
ConsumerConnector_ConnectConsumer_Result strict
在 fuchsia.tracing.perfetto/consumer.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ConsumerConnector_ConnectConsumer_Response
|
|
2 |
err |
zx/Status
|
ProducerConnector_ConnectProducer_Result strict
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ProducerConnector_ConnectProducer_Response
|
|
2 |
err |
zx/Status
|
TraceBuffer 严格 资源
在 fuchsia.tracing.perfetto/提供方.fidl 中定义
指定应如何交换轨迹缓冲区。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
from_server |
BufferReceiver
|
用于从系统跟踪服务接收跟踪缓冲区。 |