如何在SpringBoot2.1.4.RELEASE中创建指标?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
如果您正在使用spring-boot-starter-actuator
,将创建一个MeterRegistry
类型的bean。自动装配后,您可以创建多个指标,例如计数器,指标和指标。其中每个都有一个流畅的构建器,您可以使用它来设置它们,例如:
Counter
可用于简单递增指标,例如,调用方法的次数。
Counter customCounter = Counter
.builder("my.custom.metric.counter")
.register(meterRegistry);
通过使用customCounter.increment()
,您可以增加价值。
另一方面,Gauge
是一个动态/实时值,应该直接测量。一个例子是连接池的大小:
Gauge
.builder("my.custom.metric.gauge", () -> connectionPool.size())
.register(meterRegistry);
构建器允许您传递Supplier
来测量您想要的任何内容。
顾名思义,这可以用来衡量做某事所需的时间,例如:
Timer customTimer = Timer
.builder("my.custom.metric.timer")
.register(meterRegistry);
通过使用customTimer.record(() -> myMethod())
,您可以添加一个关于调用myMethod()
所需时间的指标。
您应该能够在运行应用程序时访问这些指标。如果您想通过HTTP查看它们,可以启用指标端点,如下所示:
management.endpoints.web.exposure.include=metrics # Enable metrics endpoint
之后,您应该能够访问http://localhost:8080/actuator以查看已启用的端点列表,其中应包含http://localhost:8080/actuator/metrics。
此API应返回可用指标列表,可以作为http://localhost:8080/actuator/metrics/my.custom.metric.counter访问。
你可以用千分尺:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
这将给你终点:/actuator/prometheus