Library providing methods for connecting Perfetto clients to a system tracing service.
PROTOCOLS
BufferReceiver
Defined in fuchsia.tracing.perfetto/producer.fidl
An interface for exchanging trace data buffers between Providers and the system tracing service.
ProvideBuffer
Sends a file to be used as a trace buffer. The file must support writable mmap() access.
Request
Name | Type |
---|---|
buffer |
client_end:fuchsia.io/File
|
Response
Name | Type |
---|---|
payload |
BufferReceiver_ProvideBuffer_Result
|
ConsumerConnector
Defined in fuchsia.tracing.perfetto/consumer.fidl
Interface for creating connections between Perfetto "Consumers" and a shared Perfetto service. To learn more about Perfetto, see: https://www.perfetto.dev/docs/ and https://perfetto.dev/docs/concepts/service-model .
ConnectConsumer
Connects a Perfetto Consumer to the Perfetto backend. Both sides
will communicate over producer_socket
using Perfetto's internal wire
format.
The lifetime of consumer_socket
may outlive the connection lifetime
of ConsumerConnector.
Multiple producers may be connected simultaneously.
Request
Name | Type |
---|---|
consumer_socket |
handle<socket>
|
Response
Name | Type |
---|---|
payload |
ConsumerConnector_ConnectConsumer_Result
|
ProducerConnector
Defined in fuchsia.tracing.perfetto/producer.fidl
Interface for creating connections between Perfetto "Producers" and a shared Perfetto service. To learn more about Perfetto, see: https://www.perfetto.dev/docs/ and https://perfetto.dev/docs/concepts/service-model .
ConnectProducer
Connects a Perfetto Producer to the Perfetto backend. Both sides
will communicate over producer_socket
using Perfetto's internal
wire format "ProducerPort" (see
//third_party/perfetto/protos/perfetto/ipc/producer_port.proto).
trace_buffer
either provides a buffer for communicating trace data
from the client, or an interface for receiving a buffer from the
server, depending on the client's needs.
The lifetime of producer_socket
may outlive the connection lifetime
of ProducerConnector.
Multiple Producers may be connected simultaneously.
Request
Name | Type |
---|---|
producer_socket |
handle<socket>
|
buffer |
TraceBuffer
|
Response
Name | Type |
---|---|
payload |
ProducerConnector_ConnectProducer_Result
|
STRUCTS
BufferReceiver_ProvideBuffer_Response
Defined in fuchsia.tracing.perfetto/producer.fidl
<EMPTY>
ConsumerConnector_ConnectConsumer_Response
Defined in fuchsia.tracing.perfetto/consumer.fidl
<EMPTY>
ProducerConnector_ConnectProducer_Response
Defined in fuchsia.tracing.perfetto/producer.fidl
<EMPTY>
UNIONS
BufferReceiver_ProvideBuffer_Result strict
Defined in fuchsia.tracing.perfetto/producer.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
BufferReceiver_ProvideBuffer_Response
|
|
2 |
err |
zx/Status
|
ConsumerConnector_ConnectConsumer_Result strict
Defined in fuchsia.tracing.perfetto/consumer.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
ConsumerConnector_ConnectConsumer_Response
|
|
2 |
err |
zx/Status
|
ProducerConnector_ConnectProducer_Result strict
Defined in fuchsia.tracing.perfetto/producer.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
ProducerConnector_ConnectProducer_Response
|
|
2 |
err |
zx/Status
|
TraceBuffer strict resource
Defined in fuchsia.tracing.perfetto/producer.fidl
Specifies how the trace buffer should be exchanged.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
from_server |
client_end:BufferReceiver
|
Used to receive the trace buffer from the system tracing service. |