程式庫提供將 Perfetto 用戶端連線至系統追蹤服務的方法。
通訊協定
緩衝區
定義於 fuchsia.tracing.perfetto/production.ithl
用於交換供應商和系統追蹤服務之間的追蹤資料緩衝區的介面。
提供緩衝區
傳送要做為追蹤緩衝區的檔案。檔案必須支援可寫入的 mmap() 存取權。
要求
名稱 | 類型 |
---|---|
buffer |
fuchsia.io/File
|
回應
名稱 | 類型 |
---|---|
payload |
BufferReceiver_ProvideBuffer_Result
|
消費者連接器
定義於 fuchsia.tracing.perfetto/consumer.ithl
用於建立 Perfetto「Consumers」和共用 Perfetto 服務之間的介面。如要進一步瞭解 Perfetto,請參閱:https://www.perfetto.dev/docs/ 和 https://perfetto.dev/docs/concepts/service-model。
Connect 消費者
將 Perfetto Consumer 連線至 Perfetto 後端。兩端都會使用 Perfetto 的內部傳輸格式透過 producer_socket
進行通訊。consumer_socket
的生命週期可能會超過 ConsumerConnector 的連線生命週期。你可以同時連結多位製作人。
要求
名稱 | 類型 |
---|---|
consumer_socket |
handle<socket>
|
回應
名稱 | 類型 |
---|---|
payload |
ConsumerConnector_ConnectConsumer_Result
|
生產者連線
定義於 fuchsia.tracing.perfetto/production.ithl
用於建立 Perfetto「Producers」和共用 Perfetto 服務之間的介面。如要進一步瞭解 Perfetto,請參閱:https://www.perfetto.dev/docs/ 和 https://perfetto.dev/docs/concepts/service-model。
ConnectProducer
將 Perfetto Producer 連線至 Perfetto 後端。雙方會透過 producer_socket
使用 Perfetto 的內部傳輸格式「ProducerPort」進行通訊 (請參閱 //third_party/perfetto/protos/perfetto/ipc/production_port.proto)。
trace_buffer
提供從用戶端進行通訊追蹤資料的緩衝區,或從伺服器接收緩衝區的介面 (視用戶端的需求而定)。
producer_socket
的生命週期可能會超過 ProducerConnector 的連線生命週期。可以將多位製作人同時連線。
要求
名稱 | 類型 |
---|---|
producer_socket |
handle<socket>
|
buffer |
TraceBuffer
|
回應
名稱 | 類型 |
---|---|
payload |
ProducerConnector_ConnectProducer_Result
|
結構
BufferReceiver_ProvideBuffer_Response
定義於 fuchsia.tracing.perfetto/production.ithl
<EMPTY>
ConsumerConnector_ConnectConsumer_Response
定義於 fuchsia.tracing.perfetto/consumer.ithl
<EMPTY>
ProducerConnector_ConnectProducer_Response
定義於 fuchsia.tracing.perfetto/production.ithl
<EMPTY>
英國
BufferReceiver_ProvideBuffer_Result 嚴格
定義於 fuchsia.tracing.perfetto/production.ithl
一般 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
BufferReceiver_ProvideBuffer_Response
|
|
2 |
err |
zx/Status
|
ConsumerConnector_ConnectConsumer_Result 嚴格
定義於 fuchsia.tracing.perfetto/consumer.ithl
一般 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ConsumerConnector_ConnectConsumer_Response
|
|
2 |
err |
zx/Status
|
ProducerConnector_ConnectProducer_Result 嚴格
定義於 fuchsia.tracing.perfetto/production.ithl
一般 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ProducerConnector_ConnectProducer_Response
|
|
2 |
err |
zx/Status
|
TraceBuffer 嚴格 資源
定義於 fuchsia.tracing.perfetto/production.ithl
指定追蹤緩衝區的交換方式。
一般 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
from_server |
BufferReceiver
|
用於從系統追蹤服務接收追蹤緩衝區。 |