Iquery

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 的使用資訊。