fuchsia.diagnostics

新增:7

通訊協定

ArchiveAccessor

定義於 fuchsia.diagnostics/reader.fidl

與不同診斷資料來源互動的外部通訊協定。

StreamDiagnostics

建立系統診斷資料的疊代器。

  • 如果以 SNAPSHOT 模式串流,疊代器可能有限,只會提供系統上診斷資料的目前狀態。
  • 在 SNAPSHOT_THEN_SUBSCRIBE 或 SUBSCRIBE 模式中,疊代器可能會無限串流;前者會先提供系統目前狀態的疊代,然後兩者都會提供新診斷資料的持續疊代。
  • 要求 result stream [fuchsia.diagnostics/BatchIterator],診斷記錄會透過該介面公開給用戶端。

    • epitaphs:
      • INVALID_ARGS:StreamParameters 結構中缺少必要引數。
      • WRONG_TYPE:StreamParameters 結構提供的選取器格式不正確。
  • 要求 stream_parameters 是 [fuchsia.diagnostics/StreamParameter],指定如何設定串流。

要求

名稱類型
stream_parameters StreamParameters
result_stream server_end:BatchIterator

StreamDiagnosticsToSocket

直接將診斷資料串流至通訊端。這適用於偏好通訊端串流的主機工具或元件。

新增:HEAD

要求

名稱類型
stream_parameters StreamParameters
stream handle<socket>

回應

名稱類型
payload ArchiveAccessor_StreamDiagnosticsToSocket_Result

WaitForReady

確保與伺服器建立連線,避免在使用此通訊協定的其他管道方法時發生競爭。

新增:HEAD

要求

<EMPTY>

回應

名稱類型
payload ArchiveAccessor_WaitForReady_Result

BatchIterator

定義於 fuchsia.diagnostics/reader.fidl

概念上,這是一個目錄疊代器,其中每個元素都是單一完整檔案,可與其他結果串連。

GetNext

傳回 [fuchsia.diagnostics/FormattedContent] 結構的向量,格式由提供給 Reader 通訊協定的 format_settings 引數決定,該通訊協定會產生這個 BatchIterator。

如果向量為空,表示資料階層已完全疊代,後續的 GetNext 呼叫一律會傳回空向量。

BatchIterator 透過訂閱模式提供結果時,對 GetNext 的呼叫會暫停,直到有新資料可用為止,不會傳回空白向量。

  • 會傳回 FormattedContent 結構的向量。連線至 Batch 的用戶端應呼叫 GetNext(),直到傳回空白向量,表示已讀取整個資料階層。
  • error:[fuchsia.diagnostics/ReaderError] 值,表示讀取基礎資料階層或設定這些階層的格式以填入 batch 時發生問題。請注意,這些問題不包括無法讀取單一元件的資料階層。無論是逾時或二進位檔案格式錯誤,疊代器都能容許個別元件資料來源讀取失敗。如果 GetNext 呼叫失敗,系統會捨棄該資料階層結果子集,但日後呼叫 GetNext 時,會提供新的 FormattedDataHierarchies 子集。

要求

<EMPTY>

回應

名稱類型
payload BatchIterator_GetNext_Result

WaitForReady

表示 BatchIterator 已連線。如果 BatchIterator 尚未連線,這個方法會停止運作,直到連線為止。

新增:18

要求

<EMPTY>

回應

名稱類型
payload BatchIterator_WaitForReady_Result

LogFlusher

定義於 fuchsia.diagnostics/log_flush.fidl

新增:HEAD

WaitUntilFlushed

透過記錄管道將所有待處理的記錄檔排空至序列埠。在呼叫 Flush 之前寫入通訊端的記錄,保證會在傳回時完整寫入序列。Archivist 收到這項呼叫後,寫入通訊端的記錄不一定會清除。此外,通訊端必須實際連線至 Archivist,才能發出這項呼叫。如果 Archivist 尚未收到通訊端,系統可能會捨棄這些記錄。為確保記錄檔正確清除,請務必在記錄時等待初始興趣。重要事項:這個方法可能會從主機呼叫,但主機通訊端不會因此清除。如果您從主機寫入資料 (而非在裝置上,則無法保證系統會列印這類記錄)。

要求

<EMPTY>

回應

名稱類型
payload LogFlusher_WaitUntilFlushed_Result

LogSettings

定義於 fuchsia.diagnostics/log_settings.fidl

這項通訊協定可讓用戶端修改系統中元件的記錄行為。

SetComponentInterest

要求變更相符元件的關注度。

每個元件都包含一組要求的興趣。

收到 LogSettings#SetComponentInterest 的新要求時,相符元件的組合會收到新的最低關注度。如果權益低於先前的最低權益,系統會傳送 SetComponentInterest 要求,並附上新的最低權益。

如果與 LogSettings 的連線傳送另一個 SetComponentInterest 要求,先前的興趣要求就會復原。

與 LogSettings 的連線結束後,除非 persist 設為 true,否則系統會復原興趣。每個相符元件的最低利息,都會更新為組合中的新最低利息。

新增:27

要求

名稱類型
payload LogSettingsSetComponentInterestRequest

回應

<EMPTY>

LogStream

定義於 fuchsia.diagnostics/log_stream.fidl

新增:HEAD

連線

可讓用戶端串流傳輸儲存在 Archivist 中的所有記錄。預期會收到可寫入的資料圖或串流 Socket 控制代碼。如果使用 subscribe_to_manifest,則需要串流 Socket,否則可以使用串流或資料包 Socket。

記錄會以原始 FXT 格式寫入,並根據傳遞的選項,在記錄結尾附加兩個引數:

 - `$__moniker`: the moniker of the component that emitted the log.
 - `$__url`: the URL of the component that emitted the log.
 - `$__rolled_out`: the number of logs that were rolled out from the
   buffer before this one.

要求

名稱類型
socket handle<socket>
opts LogStreamOptions

範例

定義於 fuchsia.diagnostics/sample.fidl

設定 Archivist,定期通知您透過 SampleParameters 提供的資料狀態。

如果指定設定產生命中,系統會透過提供的 sink 傳送 BatchIterator。該疊代器可能會耗盡,然後 sink 會保持靜音,直到下一次命中。

Archivist 不會通知用戶端哪些資料成功,因為它沒有固有的優勢能力。需要知道查詢哪些資料的用戶端應快取其選取器,並使用 selectors::select_from_hierarchy (或 C++ 中的類似項目)。

新增:HEAD

提交

Commit 會在擷取第一個樣本前驗證所有設定,因此能快速傳回錯誤。

要求

名稱類型
sink client_end:SampleSink

回應

名稱類型
payload Sample_Commit_Result

設定

新增範例參數。

由於這項限制取決於管道大小,因此這個 API 會在 300 個項目處分頁。除非選取器特別巨大,否則應該可以放入管道中。

使用 Commit 表示所有樣本都已傳送。

要求

名稱類型
sample_parameters SampleParameters

SampleSink

定義於 fuchsia.diagnostics/sample.fidl

SampleSink 由用戶端提供,以便在樣本準備就緒時收到通知。

新增:HEAD

OnNowOrNever

OnNowOrNever 會對這個伺服器中的所有資料啟動最終取樣,並在下一個 OnSampleReadied 事件耗盡後結束。

系統會忽略輪詢週期,但不會忽略差異行為。

回應

<EMPTY>

OnSampleReadied

要求

名稱類型
event SampleSinkResult

SystemActivityMonitor

定義於 fuchsia.diagnostics/system_activity_monitor.fidl

新增:HEAD

GetNextEvent

封鎖直到系統活動事件 (例如 CPU 提升開始或結束) 發生,並傳回事件。

要求

<EMPTY>

回應

名稱類型
payload SystemActivityMonitor_GetNextEvent_Result

STRUCTS

全部

定義於 fuchsia.diagnostics/selector.fidl

<EMPTY>

ArchiveAccessor_StreamDiagnosticsToSocket_Response

定義於 fuchsia.diagnostics/reader.fidl

<EMPTY>

ArchiveAccessor_WaitForReady_Response

定義於 fuchsia.diagnostics/reader.fidl

<EMPTY>

BatchIterator_GetNext_Response 資源

定義於 fuchsia.diagnostics/reader.fidl

欄位類型說明預設
batch vector<FormattedContent>:64 無預設值

BatchIterator_WaitForReady_Response

定義於 fuchsia.diagnostics/reader.fidl

<EMPTY>

LogFlusher_WaitUntilFlushed_Response

定義於 fuchsia.diagnostics/log_flush.fidl

<EMPTY>

LogInterestSelector

定義於 fuchsia.diagnostics/log_settings.fidl

新增:27

欄位類型說明預設
selector ComponentSelector

比對要請求興趣的元件。

無預設值
interest fuchsia.diagnostics.types/Interest

要傳送至與選取器相符元件的興趣等級。

無預設值

PropertySelector

定義於 fuchsia.diagnostics/selector.fidl

選取器會定義一組要比對的節點,以及這些相符節點中要比對的一組具名屬性。

欄位類型說明預設
node_path vector<StringSelector>:100

StringSelectors 向量,可做為具名節點階層路徑的模式比對器。向量中的每個項目都是資料階層中單一命名節點的選取器。具名節點的選取器向量,則會定義資料階層中路徑的選取器。

節點路徑支援萬用字元,可比對節點階層中的單一層級。例如: root/a/b//d 會比對節點 b 某個子項下方所有名為 d 的節點。 root/a/b/c 會比對 b 下方所有以字元「c」開頭的節點。

無預設值
target_properties StringSelector

StringSelector,可做為資料階層中節點上字串命名屬性的模式比對器。

target_properties 支援萬用字元,可比對 node_path 比對到的任何節點上的所有屬性。

無預設值

Sample_Commit_Response

定義於 fuchsia.diagnostics/sample.fidl

<EMPTY>

SubtreeSelector

定義於 fuchsia.diagnostics/selector.fidl

定義一組要比對的節點,並選取包含這些節點的整個子樹。

欄位類型說明預設
node_path vector<StringSelector>:100

StringSelectors 向量,可做為具名節點階層路徑的模式比對器。向量中的每個項目都是資料階層中單一命名節點的選取器。具名節點的選取器向量,則會定義資料階層中路徑的選取器。

節點路徑支援萬用字元,可比對節點階層中的單一層級。例如: root/a/b//d 會比對節點 b 某個子項下方所有名為 d 的節點。 root/a/b/c 會比對 b 下方所有以字元「c」開頭的節點。

無預設值

SystemActivityMonitor_GetNextEvent_Response

定義於 fuchsia.diagnostics/system_activity_monitor.fidl

欄位類型說明預設
event SystemActivityEvent 無預設值

列舉

ConfigurationError flexible

類型:uint32

定義於 fuchsia.diagnostics/sample.fidl

ConfigurationError 表示 Sample::Set 中的設定有誤。系統會在擷取第一個樣本前傳回這個值。

新增:HEAD

名稱值說明
1

這表示計算樣本週期時,樣本週期小於 MINIMUM_SAMPLE_PERIOD_SECONDS。

2

這表示 SampleParameters 中有設定無效。詳情請參閱 Archivist 的記錄。

3

表示傳送的選取器無效。詳情請參閱 Archivist 的記錄。

DataType strict

類型:uint8

定義於 fuchsia.diagnostics/reader.fidl

名稱值說明
1

完成系統上的檢查階層。

3

系統上的記錄串流。

格式:嚴格

類型:uint32

定義於 fuchsia.diagnostics/format.fidl

用於指定 Reader 結果輸出格式的列舉。

名稱值說明
1

根據診斷 JSON 結構定義規格,傾印讀取結果。

2

根據 Iquery 文字規格,傾印讀取結果。

3

根據診斷 CBOR 結構定義規格,傾印讀取結果。

新增:HEAD
5

根據 Diagnostics FXT 結構定義規格,傾印讀取結果。這項功能僅適用於記錄。

新增:NEXT

彈性 PowerEvent

類型:uint32

定義於 fuchsia.diagnostics/system_activity_monitor.fidl

新增:HEAD

名稱值說明
1

點數倍增活動已開始

2

點數倍增活動已結束

ReaderError strict

類型:uint32

定義於 fuchsia.diagnostics/reader.fidl

列舉,說明透過結果疊代器向用戶端提供結果時,串流通訊協定的潛在失敗狀態。

名稱值說明
1

RuntimeError 彈性

類型:uint32

定義於 fuchsia.diagnostics/sample.fidl

RuntimeError 表示樣本伺服器開始定期取樣資料後出現的錯誤。用戶端可以忽略這些錯誤,但這可能表示不會有任何 SampleReady 要求,或批次疊代器可能出現非預期的行為,例如停止運作。

新增:HEAD

名稱值說明
1

啟動批次疊代器伺服器時發生錯誤。詳情請參閱 Archivist 的記錄。

SampleStrategy flexible

類型:uint8

定義於 fuchsia.diagnostics/sample.fidl

SampleStrategy 會指示 Archivist 在何種情況下,您希望接收指定 SampleDatum 的資料。

新增:HEAD

名稱值說明
1

ON_DIFF 會讓伺服器保留先前值的快取。在每個取樣週期,系統會比較新值和舊值,只有在值有變更時才會發出快訊。

2

ALWAYS 只要在取樣期間找到資料,無論資料是否變更,都會發出快訊。

注意:如果完全沒有資料,系統不會發出快訊。

StreamMode strict

類型:uint8

定義於 fuchsia.diagnostics/reader.fidl

列舉,指定使用者連線及串流診斷指標的模式。

名稱值說明
1

串流會提供連線時的診斷資料快照,然後結束。

2

串流會提供連線時的診斷資料快照,後續對串流的呼叫會暫停,直到有新的診斷資料可用為止。

3

對串流的呼叫會暫停,直到有新的診斷資料可用。在串流呼叫之間,新抵達的資料會經過緩衝處理。

TABLES

ComponentSelector

定義於 fuchsia.diagnostics/selector.fidl

指定元件路徑名稱的模式,用於識別要選取的元件。

元件選取器支援萬用字元,可比對元件路徑名稱的單一「層級」。例如: core/*/echo 會比對直接在 core 下方領域中執行的所有 echo 執行個體,但不會比對更深層的巢狀結構。

元件選取器也支援遞迴萬用字元,可比對元件路徑名稱的多個「層級」。例如: core/** 會比對在 core/ 下執行的所有元件執行個體,以及其所有子系。請注意,萬用字元不會選取核心本身。如果用戶端想選擇包含根目錄的子樹狀結構,應傳遞兩個選取器,例如: core core/** 遞迴萬用字元只能做為選取器的最後一個區段。

序數欄位類型說明
moniker_segments vector<StringSelector>:25

向量編碼模式,用於選取元件的路徑名稱。這些路徑名稱是相對於封存工具所知「根」階層的子路徑名稱。

必須至少提供一個 StringSelector,指定與目前選取器相符的元件名稱。

LogSettingsSetComponentInterestRequest

定義於 fuchsia.diagnostics/log_settings.fidl

序數欄位類型說明
selectors vector<LogInterestSelector>:64

選取器清單。必填。

persist bool

是否要在中斷連線後保留設定變更。選用。預設值為 false。

LogStreamOptions

定義於 fuchsia.diagnostics/log_stream.fidl

新增:HEAD

序數欄位類型說明
mode StreamMode

要透過這個通訊端串流哪些記錄。

include_moniker bool

是否要在記錄引數中加入路徑名稱。預設值:false

include_component_url bool

是否要在記錄引數中加入元件網址。預設值:false

include_rolled_out bool

是否要在記錄引數中加入已推出記錄的數量。預設值:false

subscribe_to_manifest bool

PerformanceConfiguration

定義於 fuchsia.diagnostics/reader.fidl

用於設定診斷串流效能屬性的參數。

序數欄位類型說明
max_aggregate_content_size_bytes uint64

診斷串流的批次疊代器傳回的所有格式化內容,其匯總大小上限。如果為訂閱模式設定的串流設定這個值,串流會在達到大小上限時終止。注意:選用

batch_retrieval_timeout_seconds int64

這項設定指定了等待單一元件「推送」診斷資料的最長秒數。這個值可用於測試,或在您知道感興趣的元件處於高負載狀態時使用。如未提供,則會使用 https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/diagnostics/archivist/src/constants.rs 中定義的 PER_COMPONENT_ASYNC_TIMEOUT_SECONDS。注意:選用

SampleDatum

定義於 fuchsia.diagnostics/sample.fidl

新增:HEAD

序數欄位類型說明
selector SelectorArgument

要檢查的選取器。

strategy SampleStrategy

伺服器決定通知用戶端的策略。

interval_secs zx/DurationMono

這個資料的取樣間隔。

每個 SampleDatum 都有指定的間隔。建議您在一個 Sample 連線上盡可能傳送多個選取器,讓 Archivist 批次處理要求。不過,Archivist 會以所有間隔的最大公因數為週期進行查詢。因此,請在減少 Sample 連線數量和保持間隔相容之間取得平衡。

範例:兩個資料的間隔分別為 3 和 4,則每秒都會檢查工作。如果兩個批次都未就緒,Archivist 就不會實際取樣,但會進行檢查。

範例:如果兩個資料的間隔分別為 10 和 5,則系統只會每 5 秒檢查一次工作。

(實際上,計算出的取樣週期必須有效。請參閱上方的 MINIMUM_SAMPLE_PERIOD_SECONDS。

SampleParameters

定義於 fuchsia.diagnostics/sample.fidl

一個範例伺服器的資料。

新增:HEAD

序數欄位類型說明
data vector<SampleDatum>:100

要取樣的資料集。

系統會根據每個 SampleDatum 的間隔,將這些樣本分批。您應該使用 MAX_SAMPLE_PARAMETERS_PER_SET 來分頁輸入內容;對於大多數選取器,它通常應該具有合適的大小。

SampleReady 資源

定義於 fuchsia.diagnostics/sample.fidl

SampleReady 包含可供使用的樣本資料。

新增:HEAD

序數欄位類型說明
batch_iter client_end:BatchIterator

batch_iter 是資料集的BatchIterator。

seconds_since_start zx/DurationMono

seconds_since_start 是目前輪詢週期的 ticks * interval_secs。

假設您未以不同的 SampleStrategy 類型註冊相同的選取器,則可用於檢查批次中的值是否對應至 SampleDatum。程序如下:

  1. 將 batch_iter 解析為一組檢查階層。
  2. 使用述詞 seconds_since_start % datum.interval_secs == 0 篩選提交至這個伺服器的 SampleDatum 組合。
  3. 只要篩選後的 SampleDatum 中有任何選取器與已解析檢查階層中的資料相符,即為有效。

如果您確實有兩個選取器使用不同策略註冊,則必須維護本機快取並自行檢查值。

選取器

定義於 fuchsia.diagnostics/selector.fidl

結構化選取器,包含所有必要資訊,用於將模式比對至資料階層中節點擁有的字串命名屬性,其中資料階層屬於特定元件。

這些選取器以文字形式表示,分為三個區段,以冒號分隔,指定: <component_moniker>:<node_selector>:<property_selector> 範例: 屬性選取: realm1/realm2/echo:root/active_users:user_count

Subtree selection:
     realm1/realm2/echo:root/active_users

序數欄位類型說明
component_selector ComponentSelector

定義元件路徑名稱模式的選取器,用於比對。

tree_selector TreeSelector

選取器,定義要與 component_selector 比對的元件所擁有的資料階層中,要比對的資料階層屬性。

tree_names TreeNames

一組 fuchsia.inspect.Tree 名稱,用於在套用階層/屬性選取器之前進行篩選。

省略名稱篩選器等同於 TreeNames::some(["root"])。請注意,「root」是預設樹狀結構名稱。

新增:22

StreamParameters

定義於 fuchsia.diagnostics/reader.fidl

設定診斷資訊串流所需的參數。

序數欄位類型說明
data_type DataType

[fuchsia.diagnostics/DataType],指定要串流至用戶端的診斷資料類型。注意:必填

stream_mode StreamMode

[fuchsia.diagnostics/StreamMode] 指定串流伺服器提供串流結果的方式。注意:必填

format Format

[fuchsia.diagnostics/Format],指定傳回的診斷資料格式。注意:必填

client_selector_configuration ClientSelectorConfiguration

這項設定會指定用戶端希望從連線傳回的結果。用戶端可以使用提供的選取器向量要求特定資料子集,也可以指定要取得所有可用資料。注意:必填

batch_retrieval_timeout_seconds int64

這項設定指定了等待單一元件「推送」診斷資料的最長秒數。這個值可用於測試,或在您知道感興趣的元件處於高負載狀態時使用。如未提供,則會使用 https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/diagnostics/archivist/src/constants.rs 中定義的 PER_COMPONENT_ASYNC_TIMEOUT_SECONDS。注意:選用

performance_configuration PerformanceConfiguration

用於設定診斷串流效能屬性的參數。注意:選用

UNIONS

ArchiveAccessor_StreamDiagnosticsToSocket_Result strict

定義於 fuchsia.diagnostics/reader.fidl

序數Variant類型說明
response ArchiveAccessor_StreamDiagnosticsToSocket_Response
framework_err internal

ArchiveAccessor_WaitForReady_Result strict

定義於 fuchsia.diagnostics/reader.fidl

序數Variant類型說明
response ArchiveAccessor_WaitForReady_Response
framework_err internal

BatchIterator_GetNext_Result strict resource

定義於 fuchsia.diagnostics/reader.fidl

序數Variant類型說明
response BatchIterator_GetNext_Response
err ReaderError
framework_err internal

BatchIterator_WaitForReady_Result strict

定義於 fuchsia.diagnostics/reader.fidl

序數Variant類型說明
response BatchIterator_WaitForReady_Response
framework_err internal

ClientSelectorConfiguration 彈性

定義於 fuchsia.diagnostics/reader.fidl

序數Variant類型說明
selectors vector<SelectorArgument>

[fuchsia.diagnostics/SelectorArgument] 的向量,提供額外的篩選器,用於限定資料串流範圍。空白向量會視為設定錯誤,並導致 epitaph 指出參數不正確。

select_all bool

select_all 必須設為 true,並指定用戶端要擷取連線可公開的所有資料。

FormattedContent 彈性 資源

定義於 fuchsia.diagnostics/reader.fidl

fidl 聯集,包含結構化診斷資料的完整階層,因此內容可以自行剖析為檔案。

序數Variant類型說明
json fuchsia.mem/Buffer

以 JSON 編碼的診斷結構定義。VMO 最多可包含 1 MB 的診斷資料。

cbor handle<vmo>

以 cbor 編碼的診斷結構定義。VMO 最多可包含 1 MB 的診斷資料。 大小會顯示在 ZX_PROP_VMO_CONTENT_SIZE 中。

新增:HEAD
fxt handle<vmo>

以 FXT 編碼的診斷結構定義。這項功能僅適用於記錄資料。VMO 最多會包含 PerformanceConfiguration/max_aggregate_content_size_bytes 的診斷資料,如未指定,則為 1 MB。大小會以 ZX_PROP_VMO_CONTENT_SIZE 表示。

新增:HEAD

LogFlusher_WaitUntilFlushed_Result strict

定義於 fuchsia.diagnostics/log_flush.fidl

序數Variant類型說明
response LogFlusher_WaitUntilFlushed_Response
framework_err internal

彈性 資源 SampleSinkResult

定義於 fuchsia.diagnostics/sample.fidl

新增:HEAD
序數Variant類型說明
ready SampleReady

SampleReady 會為用戶端提供 BatchIterator,其中包含所有已就緒的樣本。

這會包含所有 SampleStrategy::ALWAYS 樣本,以及值有變更的所有 SampleStrategy::ON_DIFF。

error RuntimeError

error 提供介面,可接收範例伺服器的執行階段錯誤。

Sample_Commit_Result strict

定義於 fuchsia.diagnostics/sample.fidl

序數Variant類型說明
response Sample_Commit_Response
err ConfigurationError
framework_err internal

SelectorArgument flexible

定義於 fuchsia.diagnostics/reader.fidl

用於封存選取器的引數,可以是預先剖析的 fidl 結構體或字串表示法。

序數Variant類型說明
structured_selector Selector

選取器會定義模式比對器,用於選取階層中的元件,以及依元件命名空間劃分的資料階層中的屬性。

raw_selector string:1024

代表 [fuchsia.diagnostics/Selector] 的原始字串。選取器會定義模式比對器,用於選取階層中的元件,以及依元件命名空間劃分的資料階層中的屬性。注意:從 raw_selector 剖析的所有 StringSelector 都會以 string_pattern 模式解讀,並賦予特殊字元意義。詳情請參閱 https://fuchsia.dev/fuchsia-src/reference/diagnostics/selectors

StringSelector flexible

定義於 fuchsia.diagnostics/selector.fidl

StringSelector 是一種聯集,定義了描述模式的不同方式,用於比對字串。

序數Variant類型說明
string_pattern string:1024

這是提供的字串,用於定義要比對的模式。剖析器會將星號 (*)、冒號 (:) 和反斜線 () 視為特殊字元。

如要比對常值星號 (*),必須加上逸出字元。如要比對常值反斜線 (),必須逸出。如要比對常值冒號 (:),必須加上逸出字元。

例如:abc 會比對名稱完全為「abc」的任何字串。 例如:a* 會比對名稱完全為「a*」的任何字串。 例如:a&#42; 會比對開頭完全為「a」的任何字串。 例如:a* 會比對開頭為「a」的任何字串。 例如:ab 會比對開頭為 a 且結尾為 b 的任何字串。 例如:ab*c 會比對開頭為 a 且結尾為 c,且中間有 b 的任何字串。

此外,「**」常值會視為特殊序列,可能只會比對元件選取器中的多個層級。詳情請參閱 |ComponentSelector|。

exact_match string:1024

SystemActivityEvent 彈性

定義於 fuchsia.diagnostics/system_activity_monitor.fidl

新增:HEAD
序數Variant類型說明
power_event PowerEvent

SystemActivityMonitor_GetNextEvent_Result strict

定義於 fuchsia.diagnostics/system_activity_monitor.fidl

序數Variant類型說明
response SystemActivityMonitor_GetNextEvent_Response
framework_err internal

TreeNames 彈性

定義於 fuchsia.diagnostics/selector.fidl

TreeNames 是從選取器剖析出的元件 fuchsia.inspect.Trees 名稱組合。階層和屬性選取器部分只會套用至符合這組條件的樹狀結構。

新增:22
序數Variant類型說明
some vector<string:1024>

樹木名稱的指定子集。

all All

所有可用的樹木。這相當於列出所有樹木名稱。

TreeSelector 彈性

定義於 fuchsia.diagnostics/selector.fidl

TreeSelector 代表對具名節點階層的選取要求,這些節點具有具名屬性。

序數Variant類型說明
subtree_selector SubtreeSelector

定義一組要比對的節點,並選取包含這些節點的整個子樹。

property_selector PropertySelector

選取器,定義一組要比對的節點,以及這些相符節點上一組要比對的具名屬性。

常數

名稱值類型說明
COMPONENT_URL_ARG_NAME $__url String
新增:HEAD
MAXIMUM_ENTRIES_PER_BATCH 64 uint16

之所以選擇 64 這個大小,是因為批次中的項目是 VMO 的控制代碼,而每個 FIDL 訊息的控制代碼上限為 64 個。

MAXIMUM_RAW_SELECTOR_LENGTH 1024 uint16

1024 的大小限制相當低,符合我們遇到的大多數標準選取器。

MAX_DATA_HIERARCHY_DEPTH 100 uint16
MAX_LOG_SELECTORS 64 uint8

可透過事件監聽器指定的 LogInterestSelector 數量上限。

MAX_MONIKER_SEGMENTS 25 uint16
MAX_SAMPLE_PARAMETERS_PER_SET 100 uint64

單次 Set 呼叫可傳送的參數數量上限。

新增:HEAD
MAX_STRING_SELECTOR_LENGTH 1024 uint16
新增:27
MONIKER_ARG_NAME $__moniker String
新增:HEAD
ROLLED_OUT_ARG_NAME $__rolled_out String
新增:HEAD