From 21a0b0544a8ef753d2919621b54eaca64b14e92e Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sun, 1 Mar 2020 14:02:03 +0900 Subject: [PATCH] Add descriptions for data source pool metrics See gh-20354 --- .../metrics/jdbc/DataSourcePoolMetrics.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java index 92cf4243b2..3f9a0fb524 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java @@ -22,6 +22,7 @@ import java.util.function.Function; import javax.sql.DataSource; +import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.Tag; import io.micrometer.core.instrument.Tags; @@ -65,23 +66,27 @@ public class DataSourcePoolMetrics implements MeterBinder { @Override public void bindTo(MeterRegistry registry) { if (this.metadataProvider.getDataSourcePoolMetadata(this.dataSource) != null) { - bindPoolMetadata(registry, "active", DataSourcePoolMetadata::getActive); - bindPoolMetadata(registry, "idle", DataSourcePoolMetadata::getIdle); - bindPoolMetadata(registry, "max", DataSourcePoolMetadata::getMax); - bindPoolMetadata(registry, "min", DataSourcePoolMetadata::getMin); + bindPoolMetadata(registry, "active", DataSourcePoolMetadata::getActive, + "Current number of active connections that have been allocated from the data source."); + bindPoolMetadata(registry, "idle", DataSourcePoolMetadata::getIdle, + "Number of established but idle connections."); + bindPoolMetadata(registry, "max", DataSourcePoolMetadata::getMax, + "Maximum number of active connections that can be allocated at the same time."); + bindPoolMetadata(registry, "min", DataSourcePoolMetadata::getMin, + "Minimum number of idle connections in the pool."); } } private void bindPoolMetadata(MeterRegistry registry, String metricName, - Function function) { - bindDataSource(registry, metricName, this.metadataProvider.getValueFunction(function)); + Function function, String description) { + bindDataSource(registry, metricName, this.metadataProvider.getValueFunction(function), description); } private void bindDataSource(MeterRegistry registry, String metricName, - Function function) { + Function function, String description) { if (function.apply(this.dataSource) != null) { - registry.gauge("jdbc.connections." + metricName, this.tags, this.dataSource, - (m) -> function.apply(m).doubleValue()); + Gauge.builder("jdbc.connections." + metricName, this.dataSource, (m) -> function.apply(m).doubleValue()) + .tags(this.tags).description(description).register(registry); } }