Skip to content

Commit 2b303a6

Browse files
committed
Extend queue testing with checks for usage metrics
1 parent b46ec6d commit 2b303a6

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

vertx-sql-client/src/test/java/io/vertx/tests/sqlclient/tck/MetricsTestBase.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ private void testQueuing(TestContext ctx, boolean timeout) throws Exception {
131131
AtomicInteger queueSize = new AtomicInteger();
132132
List<Object> enqueueMetrics = Collections.synchronizedList(new ArrayList<>());
133133
List<Object> dequeueMetrics = Collections.synchronizedList(new ArrayList<>());
134+
AtomicInteger usageSize = new AtomicInteger();
135+
List<Object> beginMetrics = Collections.synchronizedList(new ArrayList<>());
136+
List<Object> endMetrics = Collections.synchronizedList(new ArrayList<>());
134137
poolMetrics = new PoolMetrics() {
135138
@Override
136139
public Object enqueue() {
@@ -144,6 +147,18 @@ public void dequeue(Object taskMetric) {
144147
dequeueMetrics.add(taskMetric);
145148
queueSize.decrementAndGet();
146149
}
150+
@Override
151+
public Object begin() {
152+
Object metric = new Object();
153+
beginMetrics.add(metric);
154+
usageSize.incrementAndGet();
155+
return metric;
156+
}
157+
@Override
158+
public void end(Object usageMetric) {
159+
endMetrics.add(usageMetric);
160+
usageSize.decrementAndGet();
161+
}
147162
};
148163
PoolOptions poolOptions = new PoolOptions().setMaxSize(1).setName("the-pool");
149164
if (timeout) {
@@ -161,6 +176,10 @@ public void dequeue(Object taskMetric) {
161176
Future.join(futures).otherwiseEmpty().await(20, SECONDS);
162177
ctx.assertEquals(0, queueSize.get());
163178
ctx.assertEquals(enqueueMetrics, dequeueMetrics);
179+
ctx.assertEquals(0, usageSize.get());
180+
ctx.assertEquals(num, beginMetrics.size());
181+
ctx.assertEquals(num, endMetrics.size());
182+
ctx.assertEquals(beginMetrics, endMetrics);
164183
ctx.assertEquals("sql", poolType);
165184
ctx.assertEquals("the-pool", poolName);
166185
}

0 commit comments

Comments
 (0)