El generador de configuración de métricas (MCG) es un servicio que simplifica la creación de
parámetros de configuración de telemetría de SDV. MCG convierte las configuraciones de JSON legibles por humanos
en el formato de archivo binario de búfer de protocolo (protobuf) de MetricsConfiguration
que requieren las campañas de telemetría en el vehículo.
MCG es un servicio web con el que interactúas a través de solicitudes HTTP estándar. Este
enfoque basado en la API te permite usar herramientas de línea de comandos, como curl, para la generación
y depuración manuales, o integrar MCG como un backend para herramientas más sofisticadas,
como una interfaz gráfica para compilar configuraciones.
Funciones
El servicio de telemetría del vehículo requiere un mensaje de protobuf binario
MetricsConfiguration. Si bien este mensaje se puede representar en formato textproto para
la depuración, la creación de este formato requiere un conocimiento detallado de su
estructura de bajo nivel y puede ser tediosa y propensa a errores. MCG optimiza este
proceso, ya que cambia la creación de la configuración a un formato JSON fácil de usar.
MCG incluye las siguientes funciones:
- Configuración basada en JSON: Las configuraciones de métricas, incluidas las fuentes de datos, la lógica de procesamiento y las reglas de informes, se pueden definir en un formato JSON legible por humanos, que MCG compila en el formato protobuf binario requerido.
- Validación integrada: El proceso de generación valida automáticamente las configuraciones con las definiciones de indicadores y las reglas de esquema para detectar errores antes de la implementación.
- Generación automática de tipos de mensajes: Los agregadores y los informes producen resultados que se deben definir con descriptores de mensajes de protobuf en la configuración binaria final. MCG infiere la estructura de estos resultados en función de los tipos de señales de entrada y la lógica de agregación, y genera automáticamente los descriptores de mensajes requeridos. Esto te libera de la necesidad de definir de forma manual los esquemas para las estructuras de datos intermedias o específicas de los informes.
- Creación de expresiones más sencilla: Una gramática personalizada legible por humanos para definir expresiones evita la construcción manual de árboles de expresiones.
Flujo de trabajo
El uso de MCG para generar parámetros de configuración de métricas implica dos fases principales: una carga única de cada versión del catálogo de indicadores del vehículo que quieras usar, seguida de la escritura y la generación de parámetros de configuración de métricas individuales.
Sube definiciones de indicadores: Este paso solo se debe realizar una vez por versión del catálogo de indicadores del vehículo. Para habilitar la validación y la inferencia de tipos, MCG debe tener acceso a las definiciones de indicadores del vehículo a las que quieras hacer referencia en tus parámetros de configuración. Estas definiciones ya deberían existir como archivos protobuf en tu proyecto como parte del catálogo de VSIDL (o puedes usar definiciones de ejemplo para experimentar). Para que estén disponibles para MCG, empaquétalas en un catálogo de indicadores del vehículo y súbelo con la API:
- Para empaquetar tus archivos protobuf en un FileDescriptorSet, consulta Crea un FileDescriptorSet.
- Para codificar en Base64 y subir el catálogo, consulta Agrega o actualiza una versión del catálogo.
Configuración de escritura: Después de subir una versión del catálogo a MCG, puedes escribir cualquier cantidad de parámetros de configuración de métricas que hagan referencia a ella. En la configuración de JSON, defines qué fuentes de datos usar, cómo realizar cálculos o agregaciones en esos datos y los activadores que determinan cuándo se generan los resultados.
Generar: Envía tu configuración JSON a la API de MCG. La API valida la configuración y la compila en el formato
MetricsConfiguration. Esto se puede solicitar como protobuf binario (application/x-protobuf) para usarlo en el vehículo o como textproto (text/x-protobuf) para revisarlo o depurarlo.- Para generarlo, usa POST /api/v2/generate_metrics_config.
Para obtener detalles completos sobre todos los extremos, los formatos de solicitud y respuesta, y los ejemplos de uso, consulta la referencia de la API de MCG.
Implementación
Como servicio nativo de la nube, MCG está diseñado para implementarse en un entorno de nube (como Google Cloud Run), lo que proporciona un punto central para la generación y validación de la configuración en todos tus equipos. Para obtener instrucciones de implementación, consulta Implementa en Google Cloud.
Para el desarrollo y las pruebas locales, MCG también se puede ejecutar como un servicio independiente en una máquina de desarrollo. Para obtener instrucciones de configuración, consulta Ejecuta de forma local.