<link rel="stylesheet" href="../style.css" />

[TOC]
# fuchsia.tracing.perfetto

<p>Library providing methods for connecting Perfetto clients to a system
tracing service.</p>
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 8</span></div>


## **PROTOCOLS**

## BufferReceiver {#BufferReceiver}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=12)*
<p>An interface for exchanging trace data buffers between Providers and the
system tracing service.</p>


### ProvideBuffer {#BufferReceiver.ProvideBuffer}

<p>Sends a file to be used as a trace buffer.
The file must support writable mmap() access.</p>
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 9</span></div>



#### Request {#BufferReceiver.ProvideBuffer_Request}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>buffer</code></td>
            <td>
                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#File'>File</a></code>
            </td>
        </tr>
</table>


#### Response {#BufferReceiver.ProvideBuffer_Response}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>result</code></td>
            <td>
                <code><a class='link' href='#BufferReceiver_ProvideBuffer_Result'>BufferReceiver_ProvideBuffer_Result</a></code>
            </td>
        </tr>
</table>

## ConsumerConnector {#ConsumerConnector}
*Defined in [fuchsia.tracing.perfetto/consumer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/consumer.fidl;l=13)*
<p>Interface for creating connections between Perfetto &quot;Consumers&quot; and
a shared Perfetto service.
To learn more about Perfetto, see: https://www.perfetto.dev/docs/
and https://perfetto.dev/docs/concepts/service-model .</p>


### ConnectConsumer {#ConsumerConnector.ConnectConsumer}

<p>Connects a Perfetto Consumer to the Perfetto backend. Both sides
will communicate over <code>producer_socket</code> using Perfetto's internal wire
format.
The lifetime of <code>consumer_socket</code> may outlive the connection lifetime
of ConsumerConnector.
Multiple producers may be connected simultaneously.</p>



#### Request {#ConsumerConnector.ConnectConsumer_Request}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>consumer_socket</code></td>
            <td>
                <code>handle&lt;socket&gt;</code>
            </td>
        </tr>
</table>


#### Response {#ConsumerConnector.ConnectConsumer_Response}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>result</code></td>
            <td>
                <code><a class='link' href='#ConsumerConnector_ConnectConsumer_Result'>ConsumerConnector_ConnectConsumer_Result</a></code>
            </td>
        </tr>
</table>

## ProducerConnector {#ProducerConnector}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=45)*
<p>Interface for creating connections between Perfetto &quot;Producers&quot; and
a shared Perfetto service.
To learn more about Perfetto, see: https://www.perfetto.dev/docs/
and https://perfetto.dev/docs/concepts/service-model .</p>


### ConnectProducer {#ProducerConnector.ConnectProducer}

<p>Connects a Perfetto Producer to the Perfetto backend. Both sides
will communicate over <code>producer_socket</code> using Perfetto's internal
wire format &quot;ProducerPort&quot; (see
//third_party/perfetto/protos/perfetto/ipc/producer_port.proto).</p>
<p><code>trace_buffer</code> 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.</p>
<p>The lifetime of <code>producer_socket</code> may outlive the connection lifetime
of ProducerConnector.
Multiple Producers may be connected simultaneously.</p>



#### Request {#ProducerConnector.ConnectProducer_Request}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>producer_socket</code></td>
            <td>
                <code>handle&lt;socket&gt;</code>
            </td>
        </tr>
        <tr>
            <td><code>buffer</code></td>
            <td>
                <code><a class='link' href='#TraceBuffer'>TraceBuffer</a></code>
            </td>
        </tr>
</table>


#### Response {#ProducerConnector.ConnectProducer_Response}

<table>
    <tr><th>Name</th><th>Type</th></tr>
        <tr>
            <td><code>result</code></td>
            <td>
                <code><a class='link' href='#ProducerConnector_ConnectProducer_Result'>ProducerConnector_ConnectProducer_Result</a></code>
            </td>
        </tr>
</table>


## **STRUCTS**

### BufferReceiver_ProvideBuffer_Response  {#BufferReceiver_ProvideBuffer_Response data-text="BufferReceiver_ProvideBuffer_Response"}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=18)*

&lt;EMPTY&gt;

### ConsumerConnector_ConnectConsumer_Response  {#ConsumerConnector_ConnectConsumer_Response data-text="ConsumerConnector_ConnectConsumer_Response"}
*Defined in [fuchsia.tracing.perfetto/consumer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/consumer.fidl;l=23)*

&lt;EMPTY&gt;

### ProducerConnector_ConnectProducer_Response  {#ProducerConnector_ConnectProducer_Response data-text="ProducerConnector_ConnectProducer_Response"}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=62)*

&lt;EMPTY&gt;




## **UNIONS**

### BufferReceiver_ProvideBuffer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute}  {#BufferReceiver_ProvideBuffer_Result data-text="BufferReceiver_ProvideBuffer_Result"}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=18)*
<table>
    <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
        <tr id="BufferReceiver_ProvideBuffer_Result.response">
<td><h3 id="BufferReceiver_ProvideBuffer_Result.response" class="add-link hide-from-toc">1</h3></td>
            <td><code>response</code></td>
            <td>
                <code><a class='link' href='#BufferReceiver_ProvideBuffer_Response'>BufferReceiver_ProvideBuffer_Response</a></code>
            </td>
            <td></td>
        </tr>
        <tr id="BufferReceiver_ProvideBuffer_Result.err">
<td><h3 id="BufferReceiver_ProvideBuffer_Result.err" class="add-link hide-from-toc">2</h3></td>
            <td><code>err</code></td>
            <td>
                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
            </td>
            <td></td>
        </tr>
</table>

### ConsumerConnector_ConnectConsumer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute}  {#ConsumerConnector_ConnectConsumer_Result data-text="ConsumerConnector_ConnectConsumer_Result"}
*Defined in [fuchsia.tracing.perfetto/consumer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/consumer.fidl;l=23)*
<table>
    <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
        <tr id="ConsumerConnector_ConnectConsumer_Result.response">
<td><h3 id="ConsumerConnector_ConnectConsumer_Result.response" class="add-link hide-from-toc">1</h3></td>
            <td><code>response</code></td>
            <td>
                <code><a class='link' href='#ConsumerConnector_ConnectConsumer_Response'>ConsumerConnector_ConnectConsumer_Response</a></code>
            </td>
            <td></td>
        </tr>
        <tr id="ConsumerConnector_ConnectConsumer_Result.err">
<td><h3 id="ConsumerConnector_ConnectConsumer_Result.err" class="add-link hide-from-toc">2</h3></td>
            <td><code>err</code></td>
            <td>
                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
            </td>
            <td></td>
        </tr>
</table>

### ProducerConnector_ConnectProducer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute}  {#ProducerConnector_ConnectProducer_Result data-text="ProducerConnector_ConnectProducer_Result"}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=62)*
<table>
    <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
        <tr id="ProducerConnector_ConnectProducer_Result.response">
<td><h3 id="ProducerConnector_ConnectProducer_Result.response" class="add-link hide-from-toc">1</h3></td>
            <td><code>response</code></td>
            <td>
                <code><a class='link' href='#ProducerConnector_ConnectProducer_Response'>ProducerConnector_ConnectProducer_Response</a></code>
            </td>
            <td></td>
        </tr>
        <tr id="ProducerConnector_ConnectProducer_Result.err">
<td><h3 id="ProducerConnector_ConnectProducer_Result.err" class="add-link hide-from-toc">2</h3></td>
            <td><code>err</code></td>
            <td>
                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
            </td>
            <td></td>
        </tr>
</table>

### TraceBuffer [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TraceBuffer data-text="TraceBuffer"}
*Defined in [fuchsia.tracing.perfetto/producer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tracing.perfetto/producer.fidl;l=35)*
<p>Specifies how the trace buffer should be exchanged.</p>
<table>
    <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
        <tr id="TraceBuffer.from_server">
<td><h3 id="TraceBuffer.from_server" class="add-link hide-from-toc">1</h3></td>
            <td><code>from_server</code></td>
            <td>
                <code><a class='link' href='#BufferReceiver'>BufferReceiver</a></code>
            </td>
            <td><p>Used to receive the trace buffer from the system tracing service.</p>
</td>
        </tr>
</table>



