通訊協定
ArchiveAccessor
定義於 fuchsia.diagnostics/reader.fidl
與不同診斷資料來源互動的外部通訊協定。
StreamDiagnostics
建立系統診斷資料的疊代器。
- 如果以 SNAPSHOT 模式串流,疊代器可能有限,只會提供系統上診斷資料的目前狀態。
- 在 SNAPSHOT_THEN_SUBSCRIBE 或 SUBSCRIBE 模式中,疊代器可能會無限串流;前者會先提供系統目前狀態的疊代,然後兩者都會提供新診斷資料的持續疊代。
-
要求
result stream[fuchsia.diagnostics/BatchIterator],診斷記錄會透過該介面公開給用戶端。- epitaphs:
- INVALID_ARGS:StreamParameters 結構中缺少必要引數。
- WRONG_TYPE:StreamParameters 結構提供的選取器格式不正確。
- epitaphs:
-
要求
stream_parameters是 [fuchsia.diagnostics/StreamParameter],指定如何設定串流。
要求
| 名稱 | 類型 |
|---|---|
stream_parameters |
StreamParameters
|
result_stream |
server_end:BatchIterator
|
StreamDiagnosticsToSocket
直接將診斷資料串流至通訊端。這適用於偏好通訊端串流的主機工具或元件。
要求
| 名稱 | 類型 |
|---|---|
stream_parameters |
StreamParameters
|
stream |
handle<socket>
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ArchiveAccessor_StreamDiagnosticsToSocket_Result
|
WaitForReady
確保與伺服器建立連線,避免在使用此通訊協定的其他管道方法時發生競爭。
要求
<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 尚未連線,這個方法會停止運作,直到連線為止。
要求
<EMPTY>
回應
| 名稱 | 類型 |
|---|---|
payload |
BatchIterator_WaitForReady_Result
|
LogFlusher
定義於 fuchsia.diagnostics/log_flush.fidl
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,否則系統會復原興趣。每個相符元件的最低利息,都會更新為組合中的新最低利息。
要求
| 名稱 | 類型 |
|---|---|
payload |
LogSettingsSetComponentInterestRequest
|
回應
<EMPTY>
LogStream
定義於 fuchsia.diagnostics/log_stream.fidl
連線
可讓用戶端串流傳輸儲存在 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++ 中的類似項目)。
提交
Commit 會在擷取第一個樣本前驗證所有設定,因此能快速傳回錯誤。
要求
| 名稱 | 類型 |
|---|---|
sink |
client_end:SampleSink
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Sample_Commit_Result
|
設定
新增範例參數。
由於這項限制取決於管道大小,因此這個 API 會在 300 個項目處分頁。除非選取器特別巨大,否則應該可以放入管道中。
使用 Commit 表示所有樣本都已傳送。
要求
| 名稱 | 類型 |
|---|---|
sample_parameters |
SampleParameters
|
SampleSink
定義於 fuchsia.diagnostics/sample.fidl
SampleSink 由用戶端提供,以便在樣本準備就緒時收到通知。
OnNowOrNever
OnNowOrNever 會對這個伺服器中的所有資料啟動最終取樣,並在下一個 OnSampleReadied 事件耗盡後結束。
系統會忽略輪詢週期,但不會忽略差異行為。
回應
<EMPTY>
OnSampleReadied
要求
| 名稱 | 類型 |
|---|---|
event |
SampleSinkResult
|
SystemActivityMonitor
定義於 fuchsia.diagnostics/system_activity_monitor.fidl
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
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
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 中的設定有誤。系統會在擷取第一個樣本前傳回這個值。
| 名稱 | 值 | 說明 |
|---|---|---|
SAMPLE_PERIOD_TOO_SMALL |
1 |
這表示計算樣本週期時,樣本週期小於 |
SAMPLE_PARAMETERS_INVALID |
2 |
這表示 |
INVALID_SELECTORS |
3 |
表示傳送的選取器無效。詳情請參閱 Archivist 的記錄。 |
DataType strict
類型:uint8
定義於 fuchsia.diagnostics/reader.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
檢查 |
1 |
完成系統上的檢查階層。 |
記錄 |
3 |
系統上的記錄串流。 |
格式:嚴格
類型:uint32
定義於 fuchsia.diagnostics/format.fidl
用於指定 Reader 結果輸出格式的列舉。
| 名稱 | 值 | 說明 |
|---|---|---|
JSON |
1 |
根據診斷 JSON 結構定義規格,傾印讀取結果。 |
文字 |
2 |
根據 Iquery 文字規格,傾印讀取結果。 |
CBOR |
3 |
根據診斷 CBOR 結構定義規格,傾印讀取結果。 新增:HEAD
|
FXT |
5 |
根據 Diagnostics FXT 結構定義規格,傾印讀取結果。這項功能僅適用於記錄。 新增:NEXT
|
彈性 PowerEvent
類型:uint32
定義於 fuchsia.diagnostics/system_activity_monitor.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
BOOST_START |
1 |
點數倍增活動已開始 |
BOOST_END |
2 |
點數倍增活動已結束 |
ReaderError strict
類型:uint32
定義於 fuchsia.diagnostics/reader.fidl
列舉,說明透過結果疊代器向用戶端提供結果時,串流通訊協定的潛在失敗狀態。
| 名稱 | 值 | 說明 |
|---|---|---|
IO |
1 |
RuntimeError 彈性
類型:uint32
定義於 fuchsia.diagnostics/sample.fidl
RuntimeError 表示樣本伺服器開始定期取樣資料後出現的錯誤。用戶端可以忽略這些錯誤,但這可能表示不會有任何 SampleReady 要求,或批次疊代器可能出現非預期的行為,例如停止運作。
| 名稱 | 值 | 說明 |
|---|---|---|
BATCH_ITERATOR_FAILED |
1 |
啟動批次疊代器伺服器時發生錯誤。詳情請參閱 Archivist 的記錄。 |
SampleStrategy flexible
類型:uint8
定義於 fuchsia.diagnostics/sample.fidl
SampleStrategy 會指示 Archivist 在何種情況下,您希望接收指定 SampleDatum 的資料。
| 名稱 | 值 | 說明 |
|---|---|---|
ON_DIFF |
1 |
|
一律使用 |
2 |
注意:如果完全沒有資料,系統不會發出快訊。 |
StreamMode strict
類型:uint8
定義於 fuchsia.diagnostics/reader.fidl
列舉,指定使用者連線及串流診斷指標的模式。
| 名稱 | 值 | 說明 |
|---|---|---|
SNAPSHOT |
1 |
串流會提供連線時的診斷資料快照,然後結束。 |
SNAPSHOT_THEN_SUBSCRIBE |
2 |
串流會提供連線時的診斷資料快照,後續對串流的呼叫會暫停,直到有新的診斷資料可用為止。 |
訂閱 |
3 |
對串流的呼叫會暫停,直到有新的診斷資料可用。在串流呼叫之間,新抵達的資料會經過緩衝處理。 |
TABLES
ComponentSelector
定義於 fuchsia.diagnostics/selector.fidl
指定元件路徑名稱的模式,用於識別要選取的元件。
元件選取器支援萬用字元,可比對元件路徑名稱的單一「層級」。例如: core/*/echo 會比對直接在 core 下方領域中執行的所有 echo 執行個體,但不會比對更深層的巢狀結構。
元件選取器也支援遞迴萬用字元,可比對元件路徑名稱的多個「層級」。例如: core/** 會比對在 core/ 下執行的所有元件執行個體,以及其所有子系。請注意,萬用字元不會選取核心本身。如果用戶端想選擇包含根目錄的子樹狀結構,應傳遞兩個選取器,例如: core core/** 遞迴萬用字元只能做為選取器的最後一個區段。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
moniker_segments |
vector<StringSelector>:25
|
向量編碼模式,用於選取元件的路徑名稱。這些路徑名稱是相對於封存工具所知「根」階層的子路徑名稱。 必須至少提供一個 StringSelector,指定與目前選取器相符的元件名稱。 |
LogSettingsSetComponentInterestRequest
定義於 fuchsia.diagnostics/log_settings.fidl
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
selectors |
vector<LogInterestSelector>:64
|
選取器清單。必填。 |
2 |
persist |
bool
|
是否要在中斷連線後保留設定變更。選用。預設值為 false。 |
LogStreamOptions
定義於 fuchsia.diagnostics/log_stream.fidl
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
mode |
StreamMode
|
要透過這個通訊端串流哪些記錄。 |
2 |
include_moniker |
bool
|
是否要在記錄引數中加入路徑名稱。預設值:false |
3 |
include_component_url |
bool
|
是否要在記錄引數中加入元件網址。預設值:false |
4 |
include_rolled_out |
bool
|
是否要在記錄引數中加入已推出記錄的數量。預設值:false |
5 |
subscribe_to_manifest |
bool
|
PerformanceConfiguration
定義於 fuchsia.diagnostics/reader.fidl
用於設定診斷串流效能屬性的參數。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
max_aggregate_content_size_bytes |
uint64
|
診斷串流的批次疊代器傳回的所有格式化內容,其匯總大小上限。如果為訂閱模式設定的串流設定這個值,串流會在達到大小上限時終止。注意:選用 |
2 |
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
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
selector |
SelectorArgument
|
要檢查的選取器。 |
2 |
strategy |
SampleStrategy
|
伺服器決定通知用戶端的策略。 |
3 |
interval_secs |
zx/DurationMono
|
這個資料的取樣間隔。 每個 範例:兩個資料的間隔分別為 3 和 4,則每秒都會檢查工作。如果兩個批次都未就緒,Archivist 就不會實際取樣,但會進行檢查。 範例:如果兩個資料的間隔分別為 10 和 5,則系統只會每 5 秒檢查一次工作。 (實際上,計算出的取樣週期必須有效。請參閱上方的 MINIMUM_SAMPLE_PERIOD_SECONDS。 |
SampleParameters
定義於 fuchsia.diagnostics/sample.fidl
一個範例伺服器的資料。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
data |
vector<SampleDatum>:100
|
要取樣的資料集。 系統會根據每個 SampleDatum 的間隔,將這些樣本分批。您應該使用 |
SampleReady 資源
定義於 fuchsia.diagnostics/sample.fidl
SampleReady 包含可供使用的樣本資料。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
batch_iter |
client_end:BatchIterator
|
|
2 |
seconds_since_start |
zx/DurationMono
|
假設您未以不同的
如果您確實有兩個選取器使用不同策略註冊,則必須維護本機快取並自行檢查值。 |
選取器
定義於 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
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
component_selector |
ComponentSelector
|
定義元件路徑名稱模式的選取器,用於比對。 |
2 |
tree_selector |
TreeSelector
|
選取器,定義要與 |
3 |
tree_names |
TreeNames
|
一組 fuchsia.inspect.Tree 名稱,用於在套用階層/屬性選取器之前進行篩選。 省略名稱篩選器等同於 TreeNames::some(["root"])。請注意,「root」是預設樹狀結構名稱。 新增:22
|
StreamParameters
定義於 fuchsia.diagnostics/reader.fidl
設定診斷資訊串流所需的參數。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
data_type |
DataType
|
[fuchsia.diagnostics/DataType],指定要串流至用戶端的診斷資料類型。注意:必填 |
2 |
stream_mode |
StreamMode
|
[fuchsia.diagnostics/StreamMode] 指定串流伺服器提供串流結果的方式。注意:必填 |
3 |
format |
Format
|
[fuchsia.diagnostics/Format],指定傳回的診斷資料格式。注意:必填 |
4 |
client_selector_configuration |
ClientSelectorConfiguration
|
這項設定會指定用戶端希望從連線傳回的結果。用戶端可以使用提供的選取器向量要求特定資料子集,也可以指定要取得所有可用資料。注意:必填 |
5 |
batch_retrieval_timeout_seconds |
int64
|
這項設定指定了等待單一元件「推送」診斷資料的最長秒數。這個值可用於測試,或在您知道感興趣的元件處於高負載狀態時使用。如未提供,則會使用 https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/diagnostics/archivist/src/constants.rs 中定義的 PER_COMPONENT_ASYNC_TIMEOUT_SECONDS。注意:選用 |
6 |
performance_configuration |
PerformanceConfiguration
|
用於設定診斷串流效能屬性的參數。注意:選用 |
UNIONS
ArchiveAccessor_StreamDiagnosticsToSocket_Result strict
定義於 fuchsia.diagnostics/reader.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ArchiveAccessor_StreamDiagnosticsToSocket_Response
|
|
3 |
framework_err |
internal
|
ArchiveAccessor_WaitForReady_Result strict
定義於 fuchsia.diagnostics/reader.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ArchiveAccessor_WaitForReady_Response
|
|
3 |
framework_err |
internal
|
BatchIterator_GetNext_Result strict resource
定義於 fuchsia.diagnostics/reader.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
BatchIterator_GetNext_Response
|
|
2 |
err |
ReaderError
|
|
3 |
framework_err |
internal
|
BatchIterator_WaitForReady_Result strict
定義於 fuchsia.diagnostics/reader.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
BatchIterator_WaitForReady_Response
|
|
3 |
framework_err |
internal
|
ClientSelectorConfiguration 彈性
定義於 fuchsia.diagnostics/reader.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
selectors |
vector<SelectorArgument>
|
[fuchsia.diagnostics/SelectorArgument] 的向量,提供額外的篩選器,用於限定資料串流範圍。空白向量會視為設定錯誤,並導致 epitaph 指出參數不正確。 |
2 |
select_all |
bool
|
select_all 必須設為 true,並指定用戶端要擷取連線可公開的所有資料。 |
FormattedContent 彈性 資源
定義於 fuchsia.diagnostics/reader.fidl
fidl 聯集,包含結構化診斷資料的完整階層,因此內容可以自行剖析為檔案。
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
json |
fuchsia.mem/Buffer
|
以 JSON 編碼的診斷結構定義。VMO 最多可包含 1 MB 的診斷資料。 |
3 |
cbor |
handle<vmo>
|
以 cbor 編碼的診斷結構定義。VMO 最多可包含 1 MB 的診斷資料。 大小會顯示在 ZX_PROP_VMO_CONTENT_SIZE 中。 新增:HEAD
|
4 |
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 | 類型 | 說明 |
|---|---|---|---|
1 |
response |
LogFlusher_WaitUntilFlushed_Response
|
|
3 |
framework_err |
internal
|
彈性 資源 SampleSinkResult
定義於 fuchsia.diagnostics/sample.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
ready |
SampleReady
|
這會包含所有 |
2 |
error |
RuntimeError
|
|
Sample_Commit_Result strict
定義於 fuchsia.diagnostics/sample.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Sample_Commit_Response
|
|
2 |
err |
ConfigurationError
|
|
3 |
framework_err |
internal
|
SelectorArgument flexible
定義於 fuchsia.diagnostics/reader.fidl
用於封存選取器的引數,可以是預先剖析的 fidl 結構體或字串表示法。
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
structured_selector |
Selector
|
選取器會定義模式比對器,用於選取階層中的元件,以及依元件命名空間劃分的資料階層中的屬性。 |
2 |
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 | 類型 | 說明 |
|---|---|---|---|
1 |
string_pattern |
string:1024
|
這是提供的字串,用於定義要比對的模式。剖析器會將星號 (*)、冒號 (:) 和反斜線 () 視為特殊字元。 如要比對常值星號 (*),必須加上逸出字元。如要比對常值反斜線 (),必須逸出。如要比對常值冒號 (:),必須加上逸出字元。 例如:abc 會比對名稱完全為「abc」的任何字串。
例如:a* 會比對名稱完全為「a*」的任何字串。
例如:a* 會比對開頭完全為「a」的任何字串。
例如:a* 會比對開頭為「a」的任何字串。
例如:ab 會比對開頭為 a 且結尾為 b 的任何字串。
例如:ab*c 會比對開頭為 a 且結尾為 c,且中間有 此外,「**」常值會視為特殊序列,可能只會比對元件選取器中的多個層級。詳情請參閱 |ComponentSelector|。 |
2 |
exact_match |
string:1024
|
SystemActivityEvent 彈性
定義於 fuchsia.diagnostics/system_activity_monitor.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
power_event |
PowerEvent
|
SystemActivityMonitor_GetNextEvent_Result strict
定義於 fuchsia.diagnostics/system_activity_monitor.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
SystemActivityMonitor_GetNextEvent_Response
|
|
3 |
framework_err |
internal
|
TreeNames 彈性
定義於 fuchsia.diagnostics/selector.fidl
TreeNames 是從選取器剖析出的元件 fuchsia.inspect.Trees 名稱組合。階層和屬性選取器部分只會套用至符合這組條件的樹狀結構。
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
some |
vector<string:1024>
|
樹木名稱的指定子集。 |
2 |
all |
All
|
所有可用的樹木。這相當於列出所有樹木名稱。 |
TreeSelector 彈性
定義於 fuchsia.diagnostics/selector.fidl
TreeSelector 代表對具名節點階層的選取要求,這些節點具有具名屬性。
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
subtree_selector |
SubtreeSelector
|
定義一組要比對的節點,並選取包含這些節點的整個子樹。 |
2 |
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 |
單次 新增:HEAD
|
| MAX_STRING_SELECTOR_LENGTH |
1024
|
uint16 |
新增:27
|
| MONIKER_ARG_NAME | $__moniker |
String |
新增:HEAD
|
| ROLLED_OUT_ARG_NAME | $__rolled_out |
String |
新增:HEAD
|