指标配置生成器

指标配置生成器 (MCG) 是一项服务,可简化 SDV 遥测配置的编写。MCG 会将用户可理解的 JSON 配置转换为车载遥测广告系列所需的二进制 MetricsConfiguration 协议缓冲区 (protobuf) 文件格式。

MCG 是一项 Web 服务,您可以使用标准 HTTP 请求与之交互。借助这种基于 API 的方法,您可以使用 curl 等命令行工具进行手动生成和调试,也可以将 MCG 集成为更复杂工具(例如用于构建配置的图形界面)的后端。

功能

车载遥测服务需要 MetricsConfiguration 二进制 protobuf 消息。虽然此消息可以表示为 textproto 格式以进行调试,但直接编写此格式需要详细了解其底层结构,并且可能很繁琐且容易出错。MCG 通过将配置编写转移到用户友好的 JSON 格式来简化此流程。

MCG 包含以下功能:

  • 基于 JSON 的配置: 指标配置(包括数据源、处理逻辑和报告规则)可以采用用户可理解的 JSON 格式定义,MCG 会将其编译为所需的二进制 protobuf 格式。
  • 内置验证: 生成过程会自动根据信号定义和架构规则验证配置,以便在部署前检测错误。
  • 自动生成消息类型: 聚合器和报告会生成结果,这些结果必须使用最终二进制配置中的 protobuf 消息描述符进行定义。MCG 会根据输入信号类型和聚合逻辑推断这些结果的结构,并自动生成所需的消息描述符。这样,您就不需要为中间数据结构或特定于报告的数据结构手动定义架构。
  • 更轻松地编写表达式: 使用自定义的用户可理解的语法来定义表达式,避免手动构建表达式树。

工作流程

使用 MCG 生成指标配置涉及两个主要阶段:a 一次性上传您打算使用的每个 车辆信号目录 版本, 然后编写和生成各个指标配置。

  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 也可以作为开发者机器上的独立服务运行。如需了解设置说明,请参阅在本地运行