Monitor的功能主要是监控使用消息总线通信的所有节点信息,通过拓扑图及数据列表的形式将信息可视化展示,并支持对全部或指定的Topic进行消息的监控和记录。

注:首次开启工具,建议按照图中数字的顺序进行监控和记录消息。
注:再次进入该页面或已经在Topology处进行了拓扑配置,若无修改,可跳过图中2步骤
点击图中3处按钮,弹出监控配置框体


注:白名单:有白名单时只显示白名单内的节点
注:通信良好:消息的发送或接收频率大于等于1hz则认为是通信良好状态

| 名称 | 解释 |
|---|---|
| rx_subscriber | 订阅总次数,目前仅libnet_channel使用 详细: 通信为tcp 或 udp时有效的数据 每个Reader调用Enable成功后(无论tcp、udp),rx_subscriber会加1,调用Disable后rx_unsubscriber次数会加1。记录的是同一个topic下所有Reader,Enable成功或Disable成功的次数,不会减少只会增加。 |
| rx_unsubscriber | 取消订阅总次数,目前仅libnet_channel使用<br/详细: 同上 |
| rx_packets | 收到的总消息数量 详细: (无论tcp、udp、shm和intra)rx_packets是所有Reader接收到的包的总数量,rx_bytes 是所有Reader接收到的数据总大小。tx_packets是Writer发送包的总数量,tx_bytes是所有Writer发送数据的总大小。 例如,一个Writer对应两个Reader,Writer对每个Reader发送一个1k的包(rx_bytes与tx_byte代表实际发送的数据大小,包括后拼接的数据头信息,会比用户要发送的数据大一些,如发送1k时,用户实际发送的数据是小于1k的)。此时tx_packets与rx_packets为2,rx_bytes与tx_bytes为2k。(此计数中发送失败情况不会计数如tx_no_endpoint和tx_no_subscriber,但rx_no_buffer与rx_no_reader、tx_no_subscriber都属于接收包后判断异常,也会增加rx_packets和rx_bytes计数) |
| rx_bytes | 收到的总字节数 详细: 同上 |
| rx_multicast | 无 |
| rx_length_errors | 接收消息长度错误的次数,目前仅libnet_channel使用 详细: 接收到的所有长度无效的包总数(payload数据小于sizeof(long) + sizeof(uint64_t) + sizeof(uint64_t),此payload包含后添加的数据头,无法调用接口实现,仅能通过伪造原始数据包发送构造、或者中间人攻击形式篡改构造。) |
| rx_no_buffer | 接收过程中,Reader缓存不足时丢弃的消息数量 详细: 因消息频率过快,导致Reader接收队列中缓存的消息数(未处理完的消息数)大于队列设置的最大长度,使得最旧的未处理消息被移除时rx_no_buffer+1。 |
| rx_no_reader | 接收过程中,通道没有注册读者时丢弃的消息数量,目前仅libnet_channel、shm_channel使用 详细: 当reader消息接收到的同时(即writer消息发出后),reader调用了Disable。(需要刚好在这个时间差内,概率极低。) |
| tx_subscriber | 无 |
| tx_unsubscriber | 无 |
| tx_packets | 发送的消息数量 详细: 见rx_packets |
| tx_bytes | 发送的字节数 详细: 见rx_bytes |
| tx_multicast | 无 |
| tx_no_transmit | 无 |
| tx_length_errors | 无 |
| tx_no_channel | 无 |
| tx_no_subscriber | 发送时,因为没有任何订阅者导致失败的消息数量 详细: (无论tcp、udp、shm和intra)如果发送时因无Reader对象或Reader断开连接(网络原因等)导致发送失败的消息的数量(Writer调用send后无reader接收的消息数量) |
| tx_no_endpoint | 发送过程中,已经连接的对端发送失败的消息数量,目前仅libnet_channel、shm_channel使用 详细: tx_no_endpoint只是因网络异常等原因导致发送失败的计数。(概率极低,只有tcp会出现,刚好走到发送时,由于对端连接断开或网络异常等会计数。如提前监控到对端断开不会计数。)tx_no_subscriber为writer端发送消息后,没有reader端接收成功的计数(包含所有消息都发送失败场景包括因网络问题向reader端发送失败的情况) 如有两个reader,因网络原因断开,tx_no_endpoint计数为2(writer端只调用了一次send,但给两个reader发送消息失败。),但tx_no_subscriber计数为1 如因为无reader端enable。发送消息,tx_no_subscriber会增加1,tx_no_endpoint不会增加 |
| tx_no_buffer | 发送时过程中,申请内存失败,目前仅 shm_channel 使用 |
| - | - |
实时统计:


