Generator konfiguracji danych

Generator konfiguracji wskaźników (MCG) to usługa, która upraszcza tworzenie konfiguracji telemetrii SDV. MCG konwertuje konfiguracje JSON zrozumiałe dla człowieka na binarny format pliku bufora protokołu (protobuf) MetricsConfiguration wymagany przez kampanie telemetryczne w pojeździe.

MCG to usługa internetowa, z którą można wchodzić w interakcje za pomocą standardowych żądań HTTP. To podejście oparte na interfejsie API umożliwia korzystanie z narzędzi wiersza poleceń, takich jak curl, do ręcznego generowania i debugowania lub integrację MCG jako backendu w przypadku bardziej zaawansowanych narzędzi, takich jak interfejs graficzny do tworzenia konfiguracji kompilacji.

Funkcje

Usługa telemetryczna w pojeździe wymaga wiadomości protobuf w formacie binarnym MetricsConfiguration. Chociaż tę wiadomość można przedstawić w formacie textproto na potrzeby debugowania, tworzenie tego formatu bezpośrednio wymaga szczegółowej wiedzy o jego strukturze niskiego poziomu i może być żmudne oraz podatne na błędy. MCG upraszcza ten proces, przenosząc tworzenie konfiguracji do przyjaznego dla użytkownika formatu JSON.

MCG obejmuje te funkcje:

  • Konfiguracja oparta na formacie JSON: konfiguracje danych, w tym źródła danych, logikę przetwarzania i reguły raportowania, można definiować w zrozumiałym dla człowieka formacie JSON, który MCG kompiluje do wymaganego binarnego formatu protobuf.
  • Wbudowana weryfikacja: proces generowania automatycznie weryfikuje konfiguracje pod kątem definicji sygnałów i reguł schematu, aby wykrywać błędy przed wdrożeniem.
  • Automatyczne generowanie typów wiadomości: agregatory i raporty generują wyniki, które muszą być zdefiniowane za pomocą deskryptorów wiadomości protobuf w ostatecznej konfiguracji binarnej. MCG wnioskuje strukturę tych wyników na podstawie typów sygnałów wejściowych i logiki agregacji oraz automatycznie generuje wymagane deskryptory wiadomości. Dzięki temu nie musisz ręcznie definiować schematów dla struktur danych pośrednich lub struktur danych związanych z raportami.
  • Łatwiejsze tworzenie wyrażeń: niestandardowa, zrozumiała dla człowieka gramatyka do definiowania wyrażeń pozwala uniknąć ręcznego tworzenia drzew wyrażeń.

Przepływ pracy

Używanie MCG do generowania konfiguracji danych obejmuje 2 główne etapy: jednorazowe przesłanie każdej wersji katalogu sygnałów pojazdu, której chcesz używać, a następnie zapisanie i wygenerowanie poszczególnych konfiguracji danych.

  1. Przesyłanie definicji sygnałów: ten krok należy wykonać tylko raz dla każdej wersji katalogu sygnałów pojazdu. Aby włączyć weryfikację i wnioskowanie o typie, MCG musi mieć dostęp do definicji sygnałów pojazdu, do których chcesz się odwoływać w konfiguracjach. Te definicje powinny już istnieć jako pliki protobuf w Twoim projekcie w ramach katalogu VSIDL (możesz też użyć przykładowych definicji do eksperymentowania). Aby udostępnić je MCG, spakuj je do katalogu sygnałów pojazdu i prześlij za pomocą interfejsu API:

  2. Konfiguracja zapisu: po przesłaniu wersji katalogu do MCG możesz zapisać dowolną liczbę konfiguracji danych, które się do niej odwołują. W konfiguracji JSON definiujesz, których źródeł danych chcesz używać, jak wykonywać obliczenia lub agregacje na tych danych oraz jakie aktywatory określają, kiedy wyniki są generowane.

  3. Wygeneruj: prześlij konfigurację JSON do interfejsu MCG API. Interfejs API sprawdza konfigurację i kompiluje ją do formatu MetricsConfiguration. Można o nie poprosić w formacie binarnym protobuf (application/x-protobuf) do użytku w pojeździe lub w formacie textproto (text/x-protobuf) do sprawdzenia lub debugowania.

Szczegółowe informacje o wszystkich punktach końcowych, formatach żądań i odpowiedzi oraz przykłady użycia znajdziesz w dokumentacji interfejsu MCG API.

Wdrożenie

Jako usługa chmurowa MCG jest przeznaczona do wdrażania w środowisku chmurowym (takim jak Google Cloud Run), co zapewnia centralny punkt generowania i weryfikacji konfiguracji w zespołach. Instrukcje wdrażania znajdziesz w artykule Wdrażanie w Google Cloud.

W przypadku lokalnego programowania i testowania MCG można też uruchomić jako samodzielną usługę na komputerze używanym do programowania. Instrukcje konfigurowania znajdziesz w sekcji Uruchamianie lokalne.