通过 Spring Boot Actuator 公开 Hibernate 指标

wes*_*hsu 6 java spring hibernate spring-boot prometheus

我正在研究如何通过 Spring Boot Actuator 通过 Prometheus 公开 Hibernate 指标,但我一直在努力找出如何做到这一点。

我在 Spring Boot 中添加了以下属性:应用程序:spring.jpa.properties.hibernate.generate_statistics=true

但所做的只是从 Hibernate 添加日志记录。我从 Spring Boot 项目中找到了这两个 PR:

但看起来通过 Spring Boot Actuator 发布 Hibernate 指标从未实现过,因为采用了 Micrometer。

有没有办法公开 HibernateEntityManagerFactory通过 Spring Boot Actuator 收集的指标?

fre*_*chu 0

目前 Spring Boot 开箱即用地支持它。

除了属性之外,依赖项org.hibernate:hibernate-micrometer还必须位于类路径上。比较Spring Actuator 文档

HibernateQueryMetrics以前,您可以按照本期千分尺问题中的描述创建Bean 。

@Bean
MeterBinder hibernateQueryMetrics(EntityManagerFactory entityManager) {
    return new HibernateQueryMetrics(entityManager.unwrap(SessionFactoryImplementor.class), "hibernateSession", Tags.empty());
}
Run Code Online (Sandbox Code Playgroud)

对 hibernate 指标的支持已从 micrometer 转移到 hibernate 项目。