【待评审】支持度量、追踪、日志采集策略配置

背景

1、支持跟踪采样和上报策略可配置,包括跟踪采样的系统采样率、系统采样策略、分级采样策略以及上报周期,提供系统级配置和管理能力,并支持配置项动态生效
(1)系统采样率,即系统的固定采样率,当采样率为0时,则表示关闭采样
(2)系统采样策略,支持固定采样策略和自适应采用策略(根据系统负载动态调整跟踪采样率,保证系统性能和业务功能稳定),默认采用固定采样
(3)分级采样策略,跨度创建点分为不同的类型,主要分为Server类型、Client类型、Producer类型、Consumer类型、Internal类型,分级策略将跨度类型分为不同的级别,高级别采样策略覆盖低级别采样策略,包括 1:信号级采样(Producer,Consumer) 2:过程级采样(Server, Client) 3:方法级采样(Internal),通过分级策略控制Span(跨度)是否创建。
(4)上报周期,客户端上报追踪数据到可视化系统的时间间隔,单位s

2、度量指标采集能力可配置,包括度量采集的度量指标功能使能、上报周期以及各个度量指标的使能状态,提供系统级配置和管理能力,并支持配置项动态生效
(1)度量指标功能使能,度量指标功能总开关,是否开启度量数据记录与上报功能
(2)上报周期,客户端上报度量指标数据到可视化系统的时间间隔,单位s
(3)各个度量指标的使能状态,支持对各个度量指标进行精细化管理,作单独的开启关闭动作

3、日志采集和上报策略可配置,配置项包括日志功能使能以及上报周期,提供系统级配置和管理能力,并支持配置项动态生效
(1)日志功能使能,日志功能总开关,是否开启日志数据记录与上报功能
(2)上报周期,客户端上报日志数据到可视化系统的时间间隔,单位s

决策点:在persistence服务下新增下列资源协作接口属性

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Traces
变化类型:新增资源树接口及属性
应用场景 :用户更改可观测相关配置
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
SamplingRate 新增属性 Double r:ReadOnly;w:DiagnoseMgmt PoweroffPer 系统采样率,[0.0 - 1.0]
SamplingPolicy 新增属性 U8 r:ReadOnly;w:DiagnoseMgmt PoweroffPer 系统采样策略,0:固定采样,使用指定的系统采样率 1:自适应采样,根据cpu自适应调整采样率
TieringPolicy 新增属性 U8 r:ReadOnly;w:DiagnoseMgmt PoweroffPer 分级采样策略, 1:信号级采样(Producer,Consumer) 2:过程级采样(Server, Client) 3:方法级采样(Internal)
ExportIntervalSeconds 新增属性 U32 r:ReadOnly;w:DiagnoseMgmt PoweroffPer 追踪数据上报周期,单位s,范围[2,60]

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Metrics
变化类型:新增资源树接口及属性
应用场景 :用户更改可观测相关配置
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
Enabled 新增属性 Boolean r:ReadOnly;w:DiagnoseMgmt PoweroffPer 可观测功能使能开关
ExportIntervalSeconds 新增属性 U32 r:ReadOnly;w:DiagnoseMgmt PoweroffPer 度量指标数据上报周期,单位s,范围[30,3600]
ActivatedMetrics 新增属性 String r:ReadOnly;w:DiagnoseMgmt PoweroffPer 已使能的度量指标

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Logs
变化类型:新增资源树接口及属性
应用场景 :用户更改可观测相关配置
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
Enabled 新增属性 Boolean r:ReadOnly;w:DiagnoseMgmt PoweroffPer 可观测功能使能开关
ExportIntervalSeconds 新增属性 U32 r:ReadOnly;w:DiagnoseMgmt PoweroffPer 日志数据上报周期,单位s,[2,60]

评审结论

1、作为接口Traces是否有必要使用复数(建议单数即可)
2、采样率、采用策略、分级策略、上报周期,都属于跟踪相关的全局配置,不应该区分是System还非System
3、SamplingPolicy没有准确表达分级策略的含义;取值含义不够清晰,应当准确表达采用的分级,例如组件级、服务级、方法级等;另外取值不利于后续扩展,原则来说,要么取值越大,级别越高,输出越少,或者反之。
4、上报周期,根据资源协作接口的约定,应当在属性名中体现时间单位