Skip to content

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

@JackyYangPassion

Description

@JackyYangPassion

Bug Type (问题类型)

logic (逻辑设计问题)

Before submit

  • 我已经确认现有的 IssuesFAQ 中没有相同 / 重复问题 (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 有些埋点暂时还未注册,因此造成缺失
具体错误逻辑代码如下

@Configuration
public class MetricsConfig {

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

    @Bean
    public MeterRegistryCustomizer<MeterRegistry> 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingraft

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions