指標設定產生器

指標設定產生器 (MCG) 服務可簡化 SDV 遙測設定的編寫作業。MCG 會將人類可讀的 JSON 設定,轉換為車載遙測活動所需的二進位 MetricsConfiguration 通訊協定緩衝區 (protobuf) 檔案格式。

MCG 是一項網路服務,您可以使用標準 HTTP 要求與其互動。這種 API 做法可讓您使用 curl 等指令列工具,手動生成及偵錯,或將 MCG 整合為後端,用於更複雜的工具,例如建構設定的圖形介面。

功能

車輛上的遙測服務需要 MetricsConfiguration 二進位 protobuf 訊息。雖然這則訊息可以表示為 textproto 格式,以便偵錯,但直接編寫這種格式需要詳細瞭解其低階結構,而且可能繁瑣且容易出錯。MCG 則將設定編寫作業轉換為容易使用的 JSON 格式,藉此簡化這項程序。

MCG 包含下列功能:

  • JSON 設定:指標設定 (包括資料來源、處理邏輯和報表規則) 可定義為人類可讀的 JSON 格式,MCG 會將其編譯為必要的二進位 protobuf 格式。
  • 內建驗證:生成程序會根據信號定義和結構定義規則,自動驗證設定,在部署前偵測錯誤。
  • 自動產生訊息類型:匯總工具和報表產生的結果,必須在最終二進位設定中使用 protobuf 訊息描述元定義。MCG 會根據輸入信號類型和匯總邏輯,推論這些結果的結構,並自動產生必要的訊息描述元。這樣一來,您就不必手動定義中繼或報表專屬資料結構的結構定義。
  • 更輕鬆地編寫運算式:使用人類可讀的自訂文法定義運算式,避免手動建構運算式樹狀結構。

工作流程

使用 MCG 產生指標設定主要分為兩個階段:一次性上傳您要使用的每個車輛信號目錄版本,然後編寫及產生個別指標設定。

  1. 上傳信號定義:每個車輛信號目錄版本只需執行這個步驟一次。如要啟用驗證和類型推論功能,MCG 必須能存取您要在設定中參照的車輛信號定義。這些定義應已做為 protobuf 檔案存在於專案中,屬於 VSIDL 目錄的一部分 (或者您也可以使用範例定義進行實驗)。如要讓 MCG 使用這些資料,請將其封裝至車輛信號目錄,並使用 API 上傳:

  2. 寫入設定:將目錄版本上傳至 MCG 後,您可以寫入任意數量的指標設定,並參照該版本。在 JSON 設定中,您可以定義要使用的資料來源、如何對資料執行計算或匯總,以及決定何時產生結果的觸發條件。

  3. 產生:將 JSON 設定提交至 MCG API。API 會驗證設定,並將其編譯為 MetricsConfiguration 格式。您可以要求二進位 protobuf (application/x-protobuf) 格式,以便在車輛上使用,或要求 textproto (text/x-protobuf) 格式,以便查看或偵錯。

如要全面瞭解所有端點、要求和回應格式,以及使用範例,請參閱 MCG API 參考資料。

部署作業

MCG 是雲端原生服務,專為部署至雲端環境 (例如 Google Cloud Run) 而設計,可做為團隊產生及驗證設定的中心點。如需部署操作說明,請參閱「部署至 Google Cloud」。

如要進行本機開發和測試,MCG 也可以在開發人員機器上做為獨立服務執行。如需設定操作說明,請參閱「在本機執行」。