Générateur de configuration des métriques

Le générateur de configuration de métriques (MCG) est un service qui simplifie la création de configurations de télémétrie SDV. MCG convertit les configurations JSON lisibles par l'humain au format de fichier de tampon de protocole (protobuf) binaire MetricsConfiguration requis par les campagnes de télémétrie embarquées.

MCG est un service Web avec lequel vous interagissez à l'aide de requêtes HTTP standards. Cette approche basée sur l'API vous permet d'utiliser des outils de ligne de commande tels que curl pour la génération et le débogage manuels, ou d'intégrer MCG en tant que backend pour des outils plus sophistiqués, comme une interface graphique pour créer des configurations.

Fonctionnalités

Le service de télémétrie du véhicule nécessite un message protobuf binaire MetricsConfiguration. Bien que ce message puisse être représenté au format textproto pour le débogage, la création de ce format nécessite une connaissance détaillée de sa structure de bas niveau, et peut être fastidieuse et sujette aux erreurs. MCG simplifie ce processus en déplaçant la création de la configuration vers un format JSON convivial.

MCG inclut les fonctionnalités suivantes :

  • Configuration basée sur JSON : les configurations de métriques, y compris les sources de données, la logique de traitement et les règles de reporting, peuvent être définies dans un format JSON lisible par l'humain, que MCG compile au format protobuf binaire requis.
  • Validation intégrée : le processus de génération valide automatiquement les configurations par rapport aux définitions de signaux et aux règles de schéma pour détecter les erreurs avant le déploiement.
  • Génération automatique de types de messages : les agrégateurs et les rapports produisent des résultats qui doivent être définis à l'aide de descripteurs de messages protobuf dans la configuration binaire finale. MCG déduit la structure de ces résultats en fonction des types de signaux d'entrée et de la logique d'agrégation, et génère automatiquement les descripteurs de message requis. Vous n'avez donc pas besoin de définir manuellement des schémas pour les structures de données intermédiaires ou spécifiques aux rapports.
  • Création d'expressions plus simple : une grammaire personnalisée lisible par l'humain pour définir des expressions évite de créer manuellement des arbres d'expressions.

Workflow

L'utilisation de MCG pour générer des configurations de métriques implique deux phases principales : l'importation unique de chaque version du catalogue de signaux de véhicule que vous prévoyez d'utiliser, suivie de l'écriture et de la génération de configurations de métriques individuelles.

  1. Importer les définitions de signaux : cette étape ne doit être effectuée qu'une seule fois par version du catalogue de signaux de véhicule. Pour activer la validation et l'inférence de type, MCG doit avoir accès aux définitions des signaux du véhicule que vous souhaitez référencer dans vos configurations. Ces définitions doivent déjà exister en tant que fichiers protobuf dans votre projet, dans le cadre du catalogue VSIDL (vous pouvez également utiliser des exemples de définitions pour faire des tests). Pour les mettre à la disposition de MCG, empaquetez-les dans un catalogue de signaux de véhicule et importez-le à l'aide de l'API :

  2. Configuration d'écriture : une fois qu'une version de catalogue est importée dans MCG, vous pouvez écrire autant de configurations de métriques que vous le souhaitez qui y font référence. Dans la configuration JSON, vous définissez les sources de données à utiliser, la manière d'effectuer des calculs ou des agrégations sur ces données, ainsi que les déclencheurs qui déterminent quand les résultats sont générés.

  3. Générer : envoyez votre configuration JSON à l'API MCG. L'API valide la configuration et la compile au format MetricsConfiguration. Il peut être demandé au format protobuf binaire (application/x-protobuf) pour une utilisation embarquée, ou au format textproto (text/x-protobuf) pour examen ou débogage.

Pour obtenir des informations détaillées sur tous les points de terminaison, les formats de requête et de réponse, ainsi que des exemples d'utilisation, consultez la documentation de référence de l'API MCG.

Déploiement

En tant que service cloud natif, MCG est conçu pour être déployé dans un environnement cloud (tel que Google Cloud Run), fournissant un point central pour la génération et la validation de la configuration dans vos équipes. Pour obtenir des instructions de déploiement, consultez Déployer sur Google Cloud.

Pour le développement et les tests locaux, MCG peut également être exécuté en tant que service autonome sur un ordinateur de développement. Pour obtenir des instructions de configuration, consultez Exécuter localement.