apollo_monitor

/apollo/monitor 数据通道(channel)是 Apollo 系统的监控模块向客户端输出日志消息的通道。

本文档介绍 /apollo/monitor 通道里各数据字段的含义。

前提条件

您需要提前了解:

通道数据解释

/apollo/monitor 通道示例

参考快速上手播放 demo_3.5.record 的数据包后,您可以通过 Cyber Monitor 工具查看数据包里的全部的通道信息。 其中,/apollo/monitor 通道内的数据如下所示。

ChannelName: /apollo/monitor
MessageType: apollo.common.monitor.MonitorMessage
FrameRatio: 0.00
RawMessage Size: 60 Bytes
header:
  timestamp_sec: 1625568118.976471663
  module_name: monitor
  sequence_num: 1334
item: +[1 items]

整个数据通道内的数据可以分为两部分:CyberRT 框架定义的元数据和通道对应的消息格式(Message)所定义的消息数据。

CyberRT 框架定义的元数据

该部分包括 ChannelName、MessageType、FrameRatio、RawMessage Size 数据字段,详细解释可以参考 数据通道。

ChannelName: /apollo/monitor
MessageType: apollo.common.monitor.MonitorMessage
FrameRatio: 0.00
RawMessage Size: 60 Bytes

其中,MessageType 定义了当前通道对应的消息格式(Message)为apollo.common.monitor.MonitorMessage。

消息格式(Message)所定义的消息数据

该部分数据字段由 apollo.common.monitor.MonitorMessage 消息格式(Message)定义。

header:
  timestamp_sec: 1625568118.976471663
  module_name: monitor
  sequence_num: 1334
item: +[1 items]

下一小节,将逐一详细介绍这部分消息的数据字段含义。

apollo.common.monitor.MonitorMessage 等消息格式(Message)定义的数据字段

apollo.common.monitor.MonitorMessage 消息格式(Message)

其定义了如下 2 个重要数据字段。

数据名称 数据解释 Protobuf Message 定义
header 头信息 由 apollo.common.Header 定义
item 监控信息 由 apollo.common.monitor.MonitorMessage 定义
header:
  timestamp_sec: 1625568101.480412722
  module_name: monitor
  sequence_num: 1299
item: +[1 items]

apollo.common.monitor.MonitorMessageItem 消息格式(Message)

在 Cyber Monitor 工具中查看 /apollo/monitor 通道信息时,可以通过键盘的方向键【->】进入下一层查看 item 字段的具体数据,该字段数据是由apollo.common.monitor.MonitorMessageItem 消息格式(Message)定义的数据 列表。同时,可以通过键盘上的 N 和 M 键来遍历 item 列表中的每一个具体数据。

item 示例如下:

ChannelName: /apollo/monitor
MessageType: apollo.common.monitor.MonitorMessage
FrameRatio: 0.00
item: [0]
  source: MONITOR
  msg: Guardian triggers safe mode:
  log_level: ERROR

apollo.common.monitor.MonitorMessageItem 消息格式(Message)定义了如下的重要数据字段。

数据名称 数据解释 取值 单位
source 消息来源,来自哪个模块 - -
msg 消息 - -
log_level 输出消息级别、普通信息、警告信息、错误信息、致命信息 - -

Dreamview 会在客户端打印出这些消息,根据消息级别使用不同颜色和图标。

如图是一个错误信息,实时显示在界面上方。

b71c3a986f71153cd3be9acb363d2b1f.jpg

它在消息通道里的格式:

ChannelName: /apollo/monitor
MessageType: apollo.common.monitor.MonitorMessage
FrameRatio: 0.00
item: [0]
  source: MONITOR
  msg: Guardian triggers safe mode:
  log_level: ERROR

历史消息在 Tasks 菜单右下角 Console 部分:

a2d4e0ada3cf20d74d54f49a8bc22c5c.jpg

深入了解 MonitorMessageItem 数据类型

深入了解 apollo.common.monitor.MonitorMessageItem 等消息格式(Message)定义,参见 monitor_log.proto文件。关于 protobuf 与消息格式(Message)的关系,参见 消息格式。

文档意见反馈

如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。

apollo_monitor_system_statusGuardian模块