【已评审】新增信号广播管理的可观测度量指标

背景

当前BMC中服务之间的交互依赖信号广播机制,在信号的数量和种类不断增加的场景下,由于缺乏可观测性,我们无法清晰地了解在某一时刻系统广播了多少信号、哪些组件发送信号频繁。

决策点

为实现对信号广播的度量和监控,新增信号广播的可观测指标,基本定义如下:
指标名称:bmc.broadcast.sender.count
指标类型:Counter(计数器)
指标单位:count(次)

详细描述

在触发信号发送时,增加指标采集逻辑:

  • 每次发送信号时,对全局信号发送次数进行累计
  • 从信号报文中提取关键信息,作为指标的属性标签,定义如下:
分类 指标名称 指标类型 指标单位 属性列表 属性描述 属性要求 描述 标准定义
信号广播发送 bmc.broadcast.sender.count counter count(次) sender.mc.name 微组件名称 必选 信号广播指标 否,自定义指标
sender.mdb.interface 信号的接口名称 必选
sender.mdb.path 信号的路径名称 必选
sender.mdb.signal.name 信号名称 必选
destination.name 目标地址 条件必选,在信号发送方式为定点发送时必须携带此属性
sender.mdb.property.name 变更属性的名称 条件必选,在信号名称为‘PropertiesChanged’时必须携带此属性

评审结论

同意新增可观测度量指标bmc.broadcast.sender.count(信号广播发送),属性包括sender.mc.name、sender.mdb.interface、sender.mdb.path、sender.mdb.signal.name、destination.name、sender.mdb.property.name。

1、指标的名称不能使用复数,这个在openTelemetry规范中对于命名有明确的约定:指标名称不应复数化;
2、指标的名称建议采用bmc.signal.producer.broadcast
3、属性名称需要调整:mc.name应该采用更准确的命名空间producer.mc.name;
signal.dbus.member信号名称,这个描述不够准确,对于自定义信号如何命名?
property.name也不够精准,signal.dbus.property.name更合适