Генератор конфигурации показателей

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

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 в MCG API. API проверяет конфигурацию и компилирует ее в формат MetricsConfiguration. Его можно запросить в виде двоичного файла protobuf (application/x-protobuf) для использования в автомобиле или в виде файла textproto (text/x-protobuf) для проверки или отладки.

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

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

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

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