apache / apache/hugegraph

[Bug] HStore Spring Actuator Metrics Sink Initialization once causes missing metrics

Open
#2,603 1 comment 0 reactions 0 assignees View on GitHub
bug raft
Dominant language
Java
Stars
3.2k
Forks
636
Avg merge
3d 11h
Merged PRs (30d)
14

Description

### Bug Type (问题类型)

logic (逻辑设计问题)

### Before submit

- [X] 我已经确认现有的 [Issues](https://github.com/apache/hugegraph/issues) 与 [FAQ](https://hugegraph.apache.org/docs/guides/faq/) 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents)

### Environment (环境信息)

- Server Version: master
- Backend: HStore

### Expected & Actual behavior (期望与实际表现)

# 期望结果
通过Spring Actuator 接口获取正确的 JRaft 监控指标
curl http://ip:8620/actuator/prometheus

# BUG 详情
HStore 节点初始化后,通过prometheus 定时拉取指标,此时会造成指标丢失
BUG根本原因是初始化仅一次,JRaft 有些埋点暂时还未注册,因此造成缺失
具体错误逻辑代码如下
```java
@Configuration
public class MetricsConfig {

@Bean
public MeterRegistryCustomizer metricsCommonTags() {
return (registry) -> registry.config().commonTags("hg", "store");
}

@Bean
public MeterRegistryCustomizer registerMeters() {
return (registry) -> {
StoreMetrics.init(registry);
RocksDBMetrics.init(registry);
JRaftMetrics.init(registry);
ProcfsMetrics.init(registry);
GRpcExMetrics.init(registry);
};
}

}
```

# 具体指标
```
append-logs
fsm-apply-tasks
fsm-commit
fsm-leader-stop
fsm-snapshot-load
fsm-snapshot-save
fsm-start-following
fsm-stop-following
handle-append-entries
handle-heartbeat-requests
pre-vote
request-vote
replicate-entries
save-raft-meta
truncate-log-prefix
```

### Vertex/Edge example (问题点 / 边数据举例)

_No response_

### Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.