fuchsia.tracing.perfetto

Library providing methods for connecting Perfetto clients to a system tracing service.

Added: 8

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.

Added: 9

Request

NameType
buffer client_end:fuchsia.io/File

Response

NameType
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

NameType
consumer_socket handle<socket>

Response

NameType
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

NameType
producer_socket handle<socket>
buffer TraceBuffer

Response

NameType
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

OrdinalVariantTypeDescription
response BufferReceiver_ProvideBuffer_Response
err zx/Status

ConsumerConnector_ConnectConsumer_Result strict

Defined in fuchsia.tracing.perfetto/consumer.fidl

OrdinalVariantTypeDescription
response ConsumerConnector_ConnectConsumer_Response
err zx/Status

ProducerConnector_ConnectProducer_Result strict

Defined in fuchsia.tracing.perfetto/producer.fidl

OrdinalVariantTypeDescription
response ProducerConnector_ConnectProducer_Response
err zx/Status

TraceBuffer strict resource

Defined in fuchsia.tracing.perfetto/producer.fidl

Specifies how the trace buffer should be exchanged.

OrdinalVariantTypeDescription
from_server client_end:BufferReceiver

Used to receive the trace buffer from the system tracing service.