Gerador de configuração de métricas

O Gerador de Configuração de Métricas (MCG, na sigla em inglês) é um serviço que simplifica a criação de configurações de telemetria de SDV. O MCG converte configurações JSON legíveis por humanos no formato de arquivo binário de buffer de protocolo (protobuf) MetricsConfiguration exigido pelas campanhas de telemetria no veículo.

O MCG é um serviço da Web com que você interage usando solicitações HTTP padrão. Essa abordagem baseada em API permite usar ferramentas de linha de comando, como curl, para geração e depuração manuais ou integrar o MCG como um back-end para ferramentas mais sofisticadas, como uma interface gráfica para criar configurações.

Recursos

O serviço de telemetria no veículo requer uma mensagem protobuf binária MetricsConfiguration. Embora essa mensagem possa ser representada no formato textproto para depuração, a criação direta desse formato requer conhecimento detalhado da estrutura de baixo nível e pode ser tediosa e propensa a erros. O MCG simplifica esse processo ao mudar a criação de configurações para um formato JSON fácil de usar.

O MCG inclui os seguintes recursos:

  • Configuração baseada em JSON: as configurações de métricas, incluindo fontes de dados, lógica de processamento e regras de relatórios, podem ser definidas em um formato JSON legível por humanos, que o MCG compila no formato protobuf binário necessário.
  • Validação integrada: o processo de geração valida automaticamente as configurações em relação às definições de sinal e às regras de esquema para detectar erros antes da implantação.
  • Geração automática de tipos de mensagem: agregadores e relatórios produzem resultados que precisam ser definidos usando descritores de mensagem protobuf na configuração binária final. O MCG infere a estrutura desses resultados com base nos tipos de sinal de entrada e na lógica de agregação, além de gerar automaticamente os descritores de mensagem necessários. Isso elimina a necessidade de definir manualmente esquemas para estruturas de dados intermediárias ou específicas de relatórios.
  • Criação de expressões mais fácil: uma gramática personalizada legível por humanos para definir expressões evita a construção manual de árvores de expressão.

Fluxo de trabalho

O uso do MCG para gerar configurações de métricas envolve duas fases principais: um upload único de cada versão do Catálogo de Sinais de Veículos que você pretende usar, seguido pela gravação e geração de configurações de métricas individuais.

  1. Fazer upload das definições de sinal: essa etapa precisa ser realizada apenas uma vez por versão do catálogo de sinais de veículos. Para ativar a validação e a inferência de tipo, o MCG precisa ter acesso às definições de sinal do veículo que você pretende referenciar nas suas configurações. Essas definições já devem existir como arquivos protobuf no projeto como parte do catálogo do VSIDL (ou você pode usar definições de amostra para testar). Para disponibilizá-los para o MCG, empacote-os em um catálogo de indicadores de veículos e faça upload usando a API:

  2. Configuração de gravação: depois que uma versão do catálogo é enviada para o MCG, é possível gravar qualquer número de configurações de métricas que façam referência a ela. Na configuração JSON, você define quais fontes de dados usar, como realizar cálculos ou agregações nesses dados e os acionadores que determinam quando os resultados são gerados.

  3. Gerar: envie sua configuração JSON para a API MCG. A API valida a configuração e a compila no formato MetricsConfiguration. Isso pode ser solicitado como protobuf binário (application/x-protobuf) para uso no veículo ou como textproto (text/x-protobuf) para revisão ou depuração.

Para detalhes abrangentes sobre todos os endpoints, formatos de solicitação e resposta e exemplos de uso, consulte a referência da API MCG.

Implantação

Como um serviço nativo da nuvem, o MCG foi projetado para ser implantado em um ambiente de nuvem (como o Google Cloud Run), fornecendo um ponto central para geração e validação de configurações em todas as suas equipes. Para instruções de implantação, consulte Implantar no Google Cloud.

Para desenvolvimento e testes locais, o MCG também pode ser executado como um serviço independente em uma máquina de desenvolvimento. Para instruções de configuração, consulte Executar localmente.