iquery - Fuchsia Inspect API 查詢工具包
劇情概要
iquery [--format <format>] <command> [<args>]
說明
iquery 是公用程式,用於檢查透過 Inspect API 公開的元件節點。可接受一組選項和指令,以及各自的選項。
為避免殼層逸出某些字元,導致選取器發生難以偵錯的問題,建議一律以單引號或雙引號括住選取器,讓殼層將選取器做為原始字串傳遞至 iquery。
選項
--format
輸出內容的顯示格式。
接受的格式:
text:預設,適合人類閱讀json:適合機器讀取
--help
列印使用資訊。
指令
list
列出所有公開檢查的元件 (相對於封存工具接收事件的範圍)。
如果是 v1,則為領域路徑加上領域名稱。
v2:不含執行個體 ID 的路徑名稱。
使用範例:
$ iquery list
bootstrap/device_manager
core/archivist
...
--component
模糊搜尋查詢,可包含網址片段和路徑名稱片段。隨附的位置引數選取器應省略元件選取器,因為系統會根據搜尋結果產生元件選取器。
--with-url
列印啟動元件時使用的路徑名稱和網址。
--help
列印 list 的使用資訊。
list-files [<monikers...>]
列出指定 paths 下所有包含檢查資料的檔案。
這個指令會尋找下列檔案:
fuchsia.inspect.Tree:服務檔案。標準方式:檢查程式庫,匯出檢查資料。*.inspect:含有檢查資料的 VMO 檔案。Dart 檢查程式庫匯出檢查資料的標準方式。
使用範例:
$ iquery list-files bootstrap/archivist bootstrap/driver_manager
bootstrap/archivist
fuchsia.inspect.Tree
bootstrap/driver_manager
class/display-coordinator/000.inspect
class/input-report/000.inspect
class/input-report/001.inspect
class/misc/000.inspect
class/pci-root/000.inspect
class/pci/000.inspect
class/sysmem/481.inspect
driver_manager/driver_host/10171/root.inspect
...
--help
列印 list-files 的使用資訊。
selectors [<selectors...>]
列出所有可用的完整選取器 (元件選取器 + 樹狀結構選取器)。
如果提供元件選取器,則只會輸出該元件的選取器。
如果提供完整選取器 (元件 + 樹狀結構),則會列出指定節點下的所有選取器。
使用範例:
$ iquery selectors 'core/archivist:root/fuchsia.inspect.Health' 'core/timekeeper'
core/archivist:root/fuchsia.inspect.Health:start_timestamp_nanos
core/archivist:root/fuchsia.inspect.Health:status
core/timekeeper:root/current:system_uptime_monotonic_nanos
core/timekeeper:root/current:utc_nanos
core/timekeeper:root:start_time_monotonic_nanos
--data
指定樹狀結構選取器的可重複引數。這個旗標應搭配單一位置引數使用。位置引數必須是模糊搜尋查詢,系統會將其轉換為路徑名稱,並拼接到樹狀結構選取器上,形成完整的診斷選取器。
如果指定這個選項,輸出內容只會包含網址含有指定名稱的元件路徑名稱。
--help
列印 selectors 的使用資訊
show [<selectors...>]
列印與指定選取器相符的檢查階層。
使用範例:
$ iquery show 'archivist.cm:root/fuchsia.inspect.Health' 'core/timekeeper'
core/archivist:
root:
fuchsia.inspect.Health:
start_timestamp_nanos = 30305104656
status = OK
core/timekeeper:
root:
start_time_monotonic_nanos = 30347000053
current:
system_uptime_monotonic_nanos = 61617527688648
utc_nanos = 1591119246552989779
--data
指定樹狀結構選取器的可重複引數。這個旗標應搭配單一位置引數使用。位置引數必須是模糊搜尋查詢,系統會將其轉換為路徑名稱,並拼接到樹狀結構選取器上,形成完整的診斷選取器。
--file
我們感興趣的檔案名稱。如果提供這個引數,輸出內容只會包含在 out/diagnostics 目錄下,透過指定檔案公開 Inspect 的元件資料。
--help
列印 show 的使用資訊。