关联issue
【需求】精细化告警对象增加自定义调测命令-mdb_interface-GitCode
背景
- BMC支持的精细化事件机制,当前不支持在资源协作接口上展示具体的信息(由于事件实例的数量很庞大,支持之后会损耗很大部分的BMC资源)
- 开发调试时无法查看已注册的告警的实时读值,当前门限等信息,只能从日志文件里查询已注册对象的相关信息。
评审点
基于上述背景,需要新增自定义调测命令,用于查询事件对象的详细信息
评审点1:新增自定义调测命令以及对应的资源协作接口
path: /bmc/keper/Debug/EventService
interface: bmc.kepler.Debug.EventService
cmd: geteventdetail <eventcode>
displayDescription: Get event list by eventcode.For example: geteventdetail 0x1A000029.
| 项 | 取值以及说明 |
|---|---|
| 方法名称 | GetEventDetailByCode |
| 方法描述 | 获取已注册的事件码为eventcode的事件实例名称列表 |
| 方法权限 | Readonly |
| 请求签名 | s |
| 请求参数 | 事件码,当前参数为具体查询事件的事件码,其中事件码不区分大小写 约束: 1. 事件码为16进制的数字组成的字符串,以 0x/0X 开头2. 不支持模糊查询(有连续的FF,如:0x240003FF/0x24FFFFFF) |
| 响应签名 | a(sa{ss}) |
| 响应参数 | 事件的详细信息,返回值为数组,数组内每个元素为具体的事件信息。具体包括: EventName:签名为 s, 当前事件的名称EventDetail:签名为 a{ss},当前事件的详细信息,信息内容包括:Reading:当前事件的实时读值,包括读值的原始参数 Condition:当前事件的触发门限 OperateType:当前事件的判定,具体的取值有: less:小于 less-equal:小于等于 greater:大于 greater-equal:大于等于 equal:等于 not-equal:不等于 raising-edge:上升沿 0 ~ 1 falling-edge:下降沿 1 ~ 0 Hysteresis:当前事件的迟滞量 Enabled:当前事件的使能状态,具体的取值有: true:已使能 false:已禁用 EventType:当前事件的类型,具体的取值有: hardware:当前事件是硬件事件,来自CSR配置 software:当前事件是软件事件,来自对应的软件app power:当前事件是电源事件,来自CSR配置,类型为 PowerEvent |
下方是调测命令回显示例
[
{
"EventName": "Event Sample 1",
"EventDetail": {
"Reading": "xxx (AAA: xx, BBB: xx)",
"Condition": "1",
"OperateType": "less",
"Hysteresis": "2",
"Enabled": "true",
"EventType": "hardware"
}
},
{
"EventName": "Event Sample 2",
"EventDetail": {
"Reading": "yyy (AAA: yy, BBB: yy, CCC: yy)",
"Condition": "100",
"OperateType": "greater-equal",
"Hysteresis": "10",
"Enabled": "false",
"EventType": "software"
}
}
]
评审结论
1、 同意新增自定义调测命令 geteventdetail <eventcode>, 参数类型为 string, 参数为查询的事件码(16进制组成的字符串,以 0x /0X 开头),事件码不区分大小写,不支持事件码模糊查询(如:0x240003FF/0x24FFFFFF)
2、 同意新增资源协作接口 bmc.kepler.Debug.EventService 以及对应的方法
方法名称:GetEventDetailByCode
请求参数:签名为 s,表示待查询的事件码(16进制组成的字符串,以 0x /0X 开头),事件码不区分大小写,不支持事件码模糊查询(如:0x240003FF/0x24FFFFFF);
响应参数:签名为 a(sa{ss}),表示对应查询事件的详细信息,返回值为数组,数组内每个元素为具体的事件信息。具体包括:
EventName:签名为 s, 当前事件的名称
EventDetail:签名为 a{ss},当前事件的详细信息,信息内容包括:
Reading:当前事件的实时读值,包括读值的原始参数
Condition:当前事件的触发门限
OperateType:当前事件的判定,具体的取值有:
less:小于
less-equal:小于等于
greater:大于
greater-equal:大于等于
equal:等于
not-equal:不等于
raising-edge:上升沿 0 ~ 1
falling-edge:下降沿 1 ~ 0
Hysteresis:当前事件的迟滞量
Enabled:当前事件的使能状态,具体的取值有:
true:已使能
false:已禁用
EventType:当前事件的类型,具体的取值有:
hardware:当前事件是硬件事件,来自CSR配置
software:当前事件是软件事件,来自对应的软件app
power:当前事件是电源事件,来自CSR配置,类型为 PowerEvent