📋指标目录
版本支持:v2.16.1+
所有指标命名前缀为 liteflow.,tag 全部为低基数(chainId / nodeId / 状态 / 异常类 simpleName),不包含 requestId、完整异常 message 等高基数维度。
Prometheus 命名转换
抓取时会做命名转换:. → _;Timer 的基础单位是秒,会带 _seconds 后缀;Counter 会带 _total 后缀。详见常用PromQL与告警。
# Chain 级指标(按 chainId 聚合)
| 指标 | 类型 | Tags | 含义 |
|---|---|---|---|
liteflow.chain.executions | Timer | chain, scope(main/sub), status(success/failed) | chain 执行次数、总/平均/最大耗时、成功数、失败数 |
liteflow.chain.active | LongTaskTimer | chain | 当前在途执行数 + 最长在途耗时(发现卡住/堆积) |
liteflow.chain.errors | Counter | chain, exception(异常类 simpleName) | 按异常类型分布的失败数 |
说明:
status由 chain 执行结束时slot.getException()是否为null判定。scope区分主链与子链:EL 中引用的子链每次执行也会单独计一次,所以某条 chain 的总执行数可能大于业务侧的调用次数。统计"业务调用量"时请筛scope=main。exceptiontag 取异常类的getClass().getSimpleName(),基数有界。- 同线程嵌套子链(before A → before B → after B → after A)通过每线程样本栈正确配对;WHEN 并行子链在各自线程,互不影响。
# Node 级指标(按 nodeId 聚合)
| 指标 | 类型 | Tags | 含义 |
|---|---|---|---|
liteflow.node.executions | Timer | node, type(NodeTypeEnum.name()), status | 组件执行次数、耗时分布、成功/失败 |
liteflow.node.active | LongTaskTimer | node | 在途组件数(定位慢/挂起组件) |
liteflow.node.errors | Counter | node, exception | 组件按异常类型的失败数 |
说明:
type取NodeComponent.getType().name(),即COMMON/BOOLEAN/SWITCH/FOR/ITERATOR/SCRIPT等NodeTypeEnum枚举名。- 耗时与异常直接来自节点执行的
finally块,无需订阅方自行计时。
# 全局 / 注册表 Gauge
由 LiteflowMeterBinder 一次性绑定:
| 指标 | 来源 | 含义 |
|---|---|---|
liteflow.chains.registered | FlowBus.getChainMap().size() | 已注册 chain 总数 |
liteflow.nodes.registered | FlowBus.getNodeMap().size() | 已注册 node 总数 |
liteflow.slot.size | LiteflowConfig.slotSize | slot 池容量 |
liteflow.slot.occupied | DataBus.OCCUPY_COUNT | 当前在用 slot 数(关键饱和度,逼近容量即并发吃紧/泄漏) |
帮助我们改善此文档 (opens new window)



