取樣器 - 診斷資料轉寄工具

取樣器轉送 Inspect 將診斷資料傳送至 Cobalt 遙測系統。

如果元件已透過檢查功能檢測,你可以使用 Cobalt 遙測功能 只有設定檔變更就好!如果希望 執行機群監控作業的低複雜度進入機群 (無新 FIDL 整合服務,沒有新資料) 不必隨心所欲控制複雜的流程),不妨使用取樣器!

享有的福利

取樣器提供簡化的方式,讓您進行機群監控 每個元件的偵錯工具包

集中化資料模型

許多開發人員認為必須維護兩個獨立的資料模型 一種處理裝置端或當機報告偵錯等等 像是機群監控

使用取樣器,單一診斷資料模型 (檢查) 可做為來源 。

避免複雜的直接整合工作

對某些元件 (例如驅動程式) 來說,工作負載非常重要, 「抓準時機」是執行非基本工作,例如診斷 製作報表可能並不容易我們將取樣集中到取樣器 對執行中的程式 非尖峰使用者的負載即使是未提供 系統關鍵服務,與 Sampler 整合,讓 Fuchsia 更健康 以做出更明智的取樣排程

與 Cobalt 直接整合時,元件作者必須考量使用流程 做為用戶端,藉此將要求傳送至裝置端轉寄站。流量 控制項隱含在取樣器中,因此您可以專注於上傳 指標類型,且不新增服務依附元件。

開始使用

  1. 如果是 V2 元件,請務必公開 diagnostics 導入診斷平台
  2. 登錄 Cobalt 指標 決定要將檢查指標轉換為
  3. 建立 Sampler 設定,以定義從檢查到的轉換 Cobalt,查看現有的設定檔

取樣器設定

我們會使用 FVM 整合做為設定範例。

{
  "project_id": 3676913920,
  "poll_rate_sec": 3600,
  "metrics": [
    {
      "selector": "bootstrap/driver_manager:root/fvm/partitions/blobfs:total_slices_reserved",
      "metric_id": 3000,
      "metric_type": "Integer",
      "event_codes": [0]
    },
    {
      "selector": "bootstrap/driver_manager:root/fvm/partitions/minfs:total_slices_reserved",
      "metric_id": 3000,
      "metric_type": "Integer",
      "event_codes": [1]
    }
  ]
}

取樣器設定會指定頂層專案 ID,而該專案會指定 取樣器代抽樣及轉送的 Cobalt 用戶端。 它也會指定頂層 Pol_rate_seconds,不過在取樣器 v1.1 中, 並代表客戶將輪詢率遷移至個別指標設定。

接下來,設定需要指標轉換清單。在以下 用戶端會提供一個選取器,以找出相關 檢查指標,以及轉寄檢查所需的 Cobalt 中繼資料 。

  1. metric_type 是要求的指標轉換類型。
    • 如果 Cobalt 指標的類型採用「OCCURRENCE」 數值匯總,請使用 metric_type 以記錄方式
    • 如果 Cobalt 指標類型為 INTEGER 追蹤原始數據 整數 (例如 cpu_load、thermal_temp),請使用 metric_type Integer
    • 如果 Cobalt 指標類型為 INTEGER_HISTOGRAM,請使用 metric_type。 IntHistogram
    • 如果 Cobalt 指標屬於 STRING 類型,請使用 metric_type。 字串
  2. metric_id 與你在 Cobalt 中登錄指標時使用的 ID 相同 YAML 檔案
  3. event_codes 是您在 註冊 Cobalt 指標在 FVM 的案例中,每項指標都含有 對應的分區類型維度值。

注意:取樣器設定中的維度值順序必須 與在 YAML 檔案中宣告維度的順序一致 定義