Iquery

iquery - Fuchsia Inspect API 查詢工具包

劇情概要

iquery [--format <format>] <command> [<args>]

說明

iquery 是用於檢查透過 Inspect API 公開的元件節點的公用程式。此 API 接受一組選項和一個指令,其中包含對應的選項。

為避免在選取器中發生難以偵錯的問題,當殼層要轉義某些字元或其他內容時,建議您一律使用單引號或雙引號包住選取器,以便殼層將選取器傳遞為原始字串給 iquery。

選項

--format

輸出內容的顯示格式。

接受的格式:

  • text:預設值,適合人類閱讀
  • json:適合機器閱讀

--help

列印使用資訊。

指令

list

列出公開檢查的元件 (相對於收藏家接收事件的範圍) 的所有元件。

針對 v1:這個值是 Realm 路徑加上 Realm 名稱。

在 v2 中,這是不含執行個體 ID 的名稱。

使用範例:

$ iquery list
bootstrap/device_manager
core/archivist
...

--component

模糊搜尋查詢,可包含網址片段和別名片段。附帶的位置引數選取器應省略元件選取器,因為系統會根據搜尋結果產生該選取器。

--with-url

列印路徑名稱和啟動元件的網址。

--help

列印 list 的使用資訊。

list-files [<monikers...>]

列出在指定 paths 下含有檢查資料的所有檔案。

這個指令會尋找以下檔案:

  • fuchsia.inspect.Tree:服務檔案。檢查程式庫匯出檢查資料的標準方式。
  • *.inspect:含有檢查資料的 VMO 檔案。Dart 檢查程式庫匯出檢查資料的標準方式。
  • fuchsia.inspect.deprecated.Inspect:服務檔案。Go 程式庫匯出檢查資料的標準方式。

使用範例:

$ 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

--component

針對執行中的元件 (包括網址和別名片段) 進行模糊搜尋查詢。如果指定此選項,輸出內容只會包含網址含有指定名稱的元件別名。

--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

--component

一項模糊搜尋查詢,可包含網址片段和路徑名稱片段。隨附位置引數選取器時,應省略元件選取器,因為系統會從搜尋結果產生該選取器。

--file

我們感興趣的檔案名稱如果提供此選項,輸出內容只會包含元件中的資料,這些元件會在 out/diagnostics 目錄下的指定檔案下公開檢查。

--help

列印 show 的使用資訊。