fuchsia.tracing.provider

新增:7

通訊協定

供應商

fuchsia.tracing.provider/provider.fidl 中定義

應用程式必須實作及註冊的供應商介面 並藉由 TraceRegistry 參與追蹤記錄。

如需此介面的 C++ 實作項目,請參閱 //zircon/system/ulib/trace-provider/,應用程式可輕鬆設定此介面。

GetKnownCategories

取得這個提供者可能產生的追蹤類別。

新增日期:11

要求

<EMPTY>

回應

名稱類型
categories vector<fuchsia.tracing/KnownCategory>:5000

初始化

初始化追蹤功能,並準備使用 fifo 進行訊號傳送,將指定 categories 中的事件追蹤記錄寫入 buffer。追蹤尚未開始,仍需呼叫 Start()

一次最多只能啟用一個追蹤記錄。後續 Initialize() 都必須忽略 Terminate() 呼叫之前收到的要求。

要求

名稱類型
config ProviderConfig

開始

開始追蹤。

如果追蹤程序已開始,供應程式必須忽略要求。

沒有任何結果。供應器必須在 fifo 上傳送 TRACE_PROVIDER_STARTED 封包,指出啟動作業是否成功。

要求

名稱類型
options StartOptions

停止

停止追蹤。

如果追蹤已停止,供應器必須忽略要求。

提供者將任何最終事件寫入追蹤記錄後 緩衝區,則必須透過 fifo 傳送 TRACE_PROVIDER_STOPPED 封包。 請注意,Initialize,Terminate 之間可能會收到多個 Start,Stop 要求。

要求

&lt;EMPTY&gt;

終止

終止追蹤。

先停止追蹤 (如果尚未停止的話)。追蹤作業完全結束後,供應器必須關閉 bufferfifo,向追蹤管理員表示追蹤作業已完成。

要求

&lt;EMPTY&gt;

註冊類型

定義於 fuchsia.tracing.provider/provider.fidl

追蹤服務供應商用於自行註冊的服務 追蹤系統 請注意,這個介面的其中一個屬性是登錄後 供應商可捨棄這個連線。

RegisterProvider

註冊追蹤記錄提供者。 注意:註冊是異步作業,只有在這個方法傳回後,供應器才會實際註冊。如要取消註冊,只要關閉「供應商」管道即可。 pid 是提供者的程序 ID,name 是 。這兩者都會用於記錄和診斷訊息。

要求

名稱類型
provider client_end:Provider
pid zx/Koid
name string:100

RegisterProviderSynchronously

同步註冊追蹤記錄提供者。只有在供應商註冊後,呼叫才會傳回。如果註冊成功,s 會在傳回時為 ZX_OK。如果追蹤記錄已啟動,started 為 true,而這只是提示 如果啟動條件,則供應器會等待 Start() 訊息再繼續。 也希望不要在收到 Start() 前捨棄追蹤記錄。 如要取消註冊,只要關閉提供者管道即可。pid 是提供者的程序 ID,name 是 。兩者都用在記錄和診斷訊息中。

要求

名稱類型
provider client_end:Provider
pid zx/Koid
name string:100

回應

名稱類型
s zx/Status
started bool

結構

ProviderConfig 資源

fuchsia.tracing.provider/provider.fidl 中定義

追蹤記錄提供者設定。

欄位類型說明預設
buffering_mode fuchsia.tracing/BufferingMode
新增日期:11
無預設
buffer handle<vmo>

要寫入追蹤記錄的緩衝區。

無預設
fifo handle<fifo>

當追蹤記錄提供者在 fifo 上觀察 ZX_FIFO_PEER_CLOSED 時, 必須假設追蹤記錄管理員已異常終止 (自 Stop 起) 系統並未正常接收),並自動停止追蹤、捨棄 任何傳輸中的追蹤記錄資料

無預設
categories vector<string:100>:5000
新增:11
無預設

StartOptions

fuchsia.tracing.provider/provider.fidl 中定義

用於控制啟動時追蹤的其他選項。

欄位類型說明預設
buffer_disposition fuchsia.tracing/BufferDisposition
新增日期:11
無預設
additional_categories vector<string:100>:5000
新增:11
無預設