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 do SDV. Ele converte configurações JSON legíveis por humanos no formato de arquivo binário MetricsConfiguration do buffer de protocolo (protobuf) 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 exige uma mensagem protobuf binária MetricsConfiguration. Embora essa mensagem possa ser representada como um formato textproto para depuração, criar esse formato diretamente exige conhecimento detalhado da estrutura de baixo nível dele e pode ser tedioso e propenso a erros. O MCG simplifica esse processo ao mudar a criação de configuração 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 geração de relatórios, podem ser definidas em um formato JSON legível, 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 indicadores e às regras de esquema para detectar erros antes da implantação.
- Geração automática de tipos de mensagens:os agregadores e relatórios produzem resultados que precisam ser definidos usando descritores de mensagens protobuf na configuração binária final. A MCG deduz a estrutura desses resultados com base nos tipos de sinais de entrada e na lógica de agregação, gerando automaticamente os descritores de mensagens necessários. Assim, você não precisa 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 para definição de expressões evita a construção manual de árvores de expressão.
Fluxo de trabalho
Usar o 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 da gravação e geração de configurações de métricas individuais.
Fazer upload das definições de indicadores:esta etapa precisa ser realizada apenas uma vez por versão do catálogo de indicadores do veículo. Para ativar a validação e a inferência de tipo, o MCG precisa ter acesso às definições de indicadores do veículo que você pretende referenciar nas suas configurações. Essas definições já precisam existir como arquivos protobuf no seu projeto como parte do catálogo VSIDL. Também é possível usar definições de amostra para testar. Para disponibilizar ao MCG, agrupe em um catálogo de indicadores do veículo e faça upload usando a API:
- Para empacotar seus arquivos protobuf em um FileDescriptorSet, consulte Criar um FileDescriptorSet.
- Para codificar em base64 e fazer upload do catálogo, consulte Adicionar ou atualizar uma versão do catálogo.
Gravar configuraçã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 a referenciam. Na configuração JSON, você define quais fontes de dados usar, como realizar cálculos ou agregações nesses dados e os gatilhos que determinam quando os resultados são gerados.
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 gerar, use POST /api/v1/generate_metrics_config.
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ção 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 desenvolvedor. Para instruções de configuração, consulte Executar localmente.