Генератор конфигурации метрик

Генератор конфигураций метрик (MCG) — это сервис, упрощающий создание конфигураций телеметрии SDV. MCG преобразует удобочитаемые конфигурации JSON в двоичный формат файла протокола MetricsConfiguration (protobuf), необходимый для проведения телеметрических кампаний на борту транспортного средства.

MCG — это веб-сервис, с которым вы взаимодействуете с помощью стандартных HTTP-запросов. Такой подход, основанный на API, позволяет использовать инструменты командной строки, такие как curl , для ручной генерации и отладки, или интегрировать MCG в качестве бэкэнда для более сложных инструментов, таких как графический интерфейс для построения конфигураций.

Функции

Для работы службы телеметрии на транспортном средстве требуется двоичное сообщение protobuf MetricsConfiguration . Хотя это сообщение можно представить в формате textproto для отладки, создание такого сообщения напрямую требует детального знания его низкоуровневой структуры и может быть утомительным и чреватым ошибками. MCG упрощает этот процесс, переводя создание конфигурации в удобный для пользователя формат JSON.

MCG включает в себя следующие функции:

  • Конфигурация на основе JSON: Конфигурации метрик, включая источники данных, логику обработки и правила формирования отчетов, могут быть определены в удобочитаемом формате JSON, который MCG компилирует в необходимый бинарный формат protobuf.
  • Встроенная проверка: процесс генерации автоматически проверяет конфигурации на соответствие определениям сигналов и правилам схемы для выявления ошибок перед развертыванием.
  • Автоматическая генерация типов сообщений: Агрегаторы и отчеты создают результаты, которые должны быть определены с помощью дескрипторов сообщений protobuf в окончательной бинарной конфигурации. MCG определяет структуру этих результатов на основе типов входных сигналов и логики агрегации и автоматически генерирует необходимые дескрипторы сообщений. Это избавляет вас от необходимости вручную определять схемы для промежуточных или специфичных для отчетов структур данных.
  • Упрощенное создание выражений: специально разработанная удобочитаемая грамматика для определения выражений позволяет избежать ручного построения деревьев выражений.

Рабочий процесс

Использование MCG для генерации конфигураций метрик включает два основных этапа: однократную загрузку каждой версии каталога сигналов транспортных средств, которую вы планируете использовать, а затем написание и генерацию отдельных конфигураций метрик.

  1. Загрузка определений сигналов: Этот шаг необходимо выполнить только один раз для каждой версии каталога сигналов транспортных средств. Для включения проверки и определения типов MCG должен иметь доступ к определениям сигналов транспортных средств, на которые вы собираетесь ссылаться в своих конфигурациях. Эти определения уже должны существовать в виде файлов protobuf в вашем проекте как часть каталога VSIDL (или вы можете использовать примеры определений для экспериментов). Чтобы сделать их доступными для MCG, упакуйте их в каталог сигналов транспортных средств и загрузите его с помощью API:

  2. Настройка конфигурации: После загрузки версии каталога в MCG вы можете написать любое количество конфигураций метрик, которые будут ссылаться на нее. В конфигурации JSON вы определяете, какие источники данных использовать, как выполнять вычисления или агрегирование этих данных, а также триггеры, определяющие, когда генерируются результаты.

  3. Генерация: Отправьте свою конфигурацию в формате JSON в API MCG. API проверяет конфигурацию и компилирует ее в формат MetricsConfiguration . Ее можно запросить как бинарный файл protobuf ( application/x-protobuf ) для использования в автомобиле или как текстовый файл proto ( text/x-protobuf ) для проверки или отладки.

Подробную информацию обо всех конечных точках, форматах запросов и ответов, а также примерах использования см. в справочнике API MCG .

Развертывание

Будучи облачным сервисом, MCG предназначен для развертывания в облачной среде (например, Google Cloud Run), предоставляя централизованную точку для генерации и проверки конфигурации для всех ваших команд. Инструкции по развертыванию см. в разделе «Развертывание в Google Cloud» .

Для локальной разработки и тестирования MCG также можно запустить как автономную службу на компьютере разработчика. Инструкции по настройке см. в разделе «Запуск локально» .