summaryrefslogtreecommitdiff
path: root/src/test/java/com/zaxxer/hikari/metrics
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/zaxxer/hikari/metrics')
-rwxr-xr-xsrc/test/java/com/zaxxer/hikari/metrics/micrometer/MicrometerMetricsTrackerTest.java39
-rw-r--r--src/test/java/com/zaxxer/hikari/metrics/prometheus/HikariCPCollectorTest.java11
-rw-r--r--src/test/java/com/zaxxer/hikari/metrics/prometheus/PrometheusMetricsTrackerTest.java44
3 files changed, 85 insertions, 9 deletions
diff --git a/src/test/java/com/zaxxer/hikari/metrics/micrometer/MicrometerMetricsTrackerTest.java b/src/test/java/com/zaxxer/hikari/metrics/micrometer/MicrometerMetricsTrackerTest.java
new file mode 100755
index 0000000..761ef12
--- /dev/null
+++ b/src/test/java/com/zaxxer/hikari/metrics/micrometer/MicrometerMetricsTrackerTest.java
@@ -0,0 +1,39 @@
+package com.zaxxer.hikari.metrics.micrometer;
+
+import com.zaxxer.hikari.metrics.PoolStats;
+import io.micrometer.core.instrument.MeterRegistry;
+import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class MicrometerMetricsTrackerTest {
+
+ private MeterRegistry mockMeterRegistry = new SimpleMeterRegistry();
+
+ private MicrometerMetricsTracker testee;
+
+ @Before
+ public void setup(){
+ testee = new MicrometerMetricsTracker("mypool", new PoolStats(1000L) {
+ @Override
+ protected void update() {
+ // nothing
+ }
+ }, mockMeterRegistry);
+ }
+
+ @Test
+ public void close() throws Exception {
+ Assert.assertNotNull(mockMeterRegistry.find("Wait"));
+ Assert.assertNotNull(mockMeterRegistry.find("Usage"));
+ Assert.assertNotNull(mockMeterRegistry.find("ConnectionCreation"));
+ Assert.assertNotNull(mockMeterRegistry.find("ConnectionTimeoutRate"));
+ Assert.assertNotNull(mockMeterRegistry.find("TotalConnections"));
+ Assert.assertNotNull(mockMeterRegistry.find("IdleConnections"));
+ Assert.assertNotNull(mockMeterRegistry.find("ActiveConnections"));
+ Assert.assertNotNull(mockMeterRegistry.find("PendingConnections"));
+
+ testee.close();
+ }
+}
diff --git a/src/test/java/com/zaxxer/hikari/metrics/prometheus/HikariCPCollectorTest.java b/src/test/java/com/zaxxer/hikari/metrics/prometheus/HikariCPCollectorTest.java
index 46b2e74..63746a3 100644
--- a/src/test/java/com/zaxxer/hikari/metrics/prometheus/HikariCPCollectorTest.java
+++ b/src/test/java/com/zaxxer/hikari/metrics/prometheus/HikariCPCollectorTest.java
@@ -60,10 +60,11 @@ public class HikariCPCollectorTest {
StubConnection.slowCreate = true;
try (HikariDataSource ds = new HikariDataSource(config)) {
- assertThat(getValue("hikaricp_active_connections", "HikariPool-1"), is(0.0));
- assertThat(getValue("hikaricp_idle_connections", "HikariPool-1"), is(0.0));
- assertThat(getValue("hikaricp_pending_threads", "HikariPool-1"), is(0.0));
- assertThat(getValue("hikaricp_connections", "HikariPool-1"), is(0.0));
+ String poolName = ds.getHikariConfigMXBean().getPoolName();
+ assertThat(getValue("hikaricp_active_connections", poolName), is(0.0));
+ assertThat(getValue("hikaricp_idle_connections", poolName), is(0.0));
+ assertThat(getValue("hikaricp_pending_threads", poolName), is(0.0));
+ assertThat(getValue("hikaricp_connections", poolName), is(0.0));
}
finally {
StubConnection.slowCreate = false;
@@ -105,7 +106,7 @@ public class HikariCPCollectorTest {
try (Connection connection1 = ds.getConnection()) {
// close immediately
}
-
+
assertThat(getValue("hikaricp_active_connections", "connectionClosed"), is(0.0));
assertThat(getValue("hikaricp_idle_connections", "connectionClosed"), is(1.0));
assertThat(getValue("hikaricp_pending_threads", "connectionClosed"), is(0.0));
diff --git a/src/test/java/com/zaxxer/hikari/metrics/prometheus/PrometheusMetricsTrackerTest.java b/src/test/java/com/zaxxer/hikari/metrics/prometheus/PrometheusMetricsTrackerTest.java
index a7b0b03..079cfb5 100644
--- a/src/test/java/com/zaxxer/hikari/metrics/prometheus/PrometheusMetricsTrackerTest.java
+++ b/src/test/java/com/zaxxer/hikari/metrics/prometheus/PrometheusMetricsTrackerTest.java
@@ -33,6 +33,7 @@ import com.zaxxer.hikari.HikariDataSource;
import io.prometheus.client.CollectorRegistry;
public class PrometheusMetricsTrackerTest {
+
@Test
public void recordConnectionTimeout() throws Exception {
HikariConfig config = newHikariConfig();
@@ -40,13 +41,13 @@ public class PrometheusMetricsTrackerTest {
config.setJdbcUrl("jdbc:h2:mem:");
config.setMaximumPoolSize(2);
config.setConnectionTimeout(250);
-
+
String[] labelNames = {"pool"};
String[] labelValues = {config.getPoolName()};
try (HikariDataSource hikariDataSource = new HikariDataSource(config)) {
try (Connection connection1 = hikariDataSource.getConnection();
- Connection connection2 = hikariDataSource.getConnection()) {
+ Connection connection2 = hikariDataSource.getConnection()) {
try (Connection connection3 = hikariDataSource.getConnection()) {
}
catch (SQLTransientConnectionException ignored) {
@@ -54,13 +55,13 @@ public class PrometheusMetricsTrackerTest {
}
assertThat(CollectorRegistry.defaultRegistry.getSampleValue(
- "hikaricp_connection_timeout_count",
+ "hikaricp_connection_timeout_total",
labelNames,
labelValues), is(1.0));
assertThat(CollectorRegistry.defaultRegistry.getSampleValue(
"hikaricp_connection_acquired_nanos_count",
labelNames,
- labelValues), is(equalTo(2.0)));
+ labelValues), is(equalTo(3.0)));
assertTrue(CollectorRegistry.defaultRegistry.getSampleValue(
"hikaricp_connection_acquired_nanos_sum",
labelNames,
@@ -75,4 +76,39 @@ public class PrometheusMetricsTrackerTest {
labelValues) > 0.0);
}
}
+
+ @Test
+ public void testMultiplePoolName() throws Exception {
+ String[] labelNames = {"pool"};
+
+ HikariConfig config = newHikariConfig();
+ config.setMetricsTrackerFactory(new PrometheusMetricsTrackerFactory());
+ config.setPoolName("first");
+ config.setJdbcUrl("jdbc:h2:mem:");
+ config.setMaximumPoolSize(2);
+ config.setConnectionTimeout(250);
+ String[] labelValues1 = {config.getPoolName()};
+
+ try (HikariDataSource ignored = new HikariDataSource(config)) {
+ assertThat(CollectorRegistry.defaultRegistry.getSampleValue(
+ "hikaricp_connection_timeout_total",
+ labelNames,
+ labelValues1), is(0.0));
+
+ HikariConfig config2 = newHikariConfig();
+ config2.setMetricsTrackerFactory(new PrometheusMetricsTrackerFactory());
+ config2.setPoolName("second");
+ config2.setJdbcUrl("jdbc:h2:mem:");
+ config2.setMaximumPoolSize(4);
+ config2.setConnectionTimeout(250);
+ String[] labelValues2 = {config2.getPoolName()};
+
+ try (HikariDataSource ignored2 = new HikariDataSource(config2)) {
+ assertThat(CollectorRegistry.defaultRegistry.getSampleValue(
+ "hikaricp_connection_timeout_total",
+ labelNames,
+ labelValues2), is(0.0));
+ }
+ }
+ }
}