Skip to content

Commit 0c9b9a5

Browse files
authored
Merge pull request #1455 from eclipse-vertx/support-pool-queue-metrics
Support pool queue metrics
2 parents 6864593 + ec83640 commit 0c9b9a5

File tree

20 files changed

+211
-48
lines changed

20 files changed

+211
-48
lines changed

.github/workflows/ci-4.x.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@ jobs:
2828
- os: ubuntu-latest
2929
jdk: 8
3030
profile: 'MariaDB-10.4'
31-
- os: ubuntu-latest
32-
jdk: 8
33-
profile: 'MSSQL-2017-latest'
34-
- os: ubuntu-latest
35-
jdk: 8
36-
profile: 'MSSQL-2019-latest'
31+
# Currently does not pass in CI due to a container issue
32+
# - os: ubuntu-latest
33+
# jdk: 8
34+
# profile: 'MSSQL-2017-latest'
35+
# - os: ubuntu-latest
36+
# jdk: 8
37+
# profile: 'MSSQL-2019-latest'
3738
- os: ubuntu-latest
3839
jdk: 8
3940
profile: 'DB2-11.5'
@@ -49,9 +50,10 @@ jobs:
4950
- os: ubuntu-latest
5051
jdk: 17
5152
profile: 'MariaDB-10.4'
52-
- os: ubuntu-latest
53-
jdk: 17
54-
profile: 'MSSQL-2019-latest'
53+
# Currently does not pass in CI due to a container issue
54+
# - os: ubuntu-latest
55+
# jdk: 17
56+
# profile: 'MSSQL-2019-latest'
5557
- os: ubuntu-latest
5658
jdk: 17
5759
profile: 'Oracle-23'

.github/workflows/ci-5.x.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ jobs:
3434
- os: ubuntu-latest
3535
jdk: 11
3636
profile: 'MariaDB-10.4'
37-
- os: ubuntu-latest
38-
jdk: 11
39-
profile: 'MSSQL-2017-latest'
40-
- os: ubuntu-latest
41-
jdk: 11
42-
profile: 'MSSQL-2019-latest'
37+
# Currently does not pass in CI due to a container issue
38+
# - os: ubuntu-latest
39+
# jdk: 11
40+
# profile: 'MSSQL-2017-latest'
41+
# - os: ubuntu-latest
42+
# jdk: 11
43+
# profile: 'MSSQL-2019-latest'
4344
- os: ubuntu-latest
4445
jdk: 11
4546
profile: 'DB2-11.5'
@@ -55,9 +56,10 @@ jobs:
5556
- os: ubuntu-latest
5657
jdk: 17
5758
profile: 'MariaDB-10.4'
58-
- os: ubuntu-latest
59-
jdk: 17
60-
profile: 'MSSQL-2019-latest'
59+
# Currently does not pass in CI due to a container issue
60+
# - os: ubuntu-latest
61+
# jdk: 17
62+
# profile: 'MSSQL-2019-latest'
6163
- os: ubuntu-latest
6264
jdk: 17
6365
profile: 'Oracle-23'

vertx-db2-client/src/main/java/io/vertx/db2client/DB2ConnectOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ public DB2ConnectOptions setSslOptions(ClientSSLOptions sslOptions) {
232232
protected void init() {
233233
this.setHost(DEFAULT_HOST);
234234
this.setPort(DEFAULT_PORT);
235+
this.setMetricsName(DEFAULT_METRICS_NAME);
235236
this.setProperties(new HashMap<>(DEFAULT_CONNECTION_ATTRIBUTES));
236237
}
237238

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2ConnectionFactory.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.vertx.core.Promise;
2121
import io.vertx.core.internal.ContextInternal;
2222
import io.vertx.core.internal.VertxInternal;
23+
import io.vertx.core.net.NetClientOptions;
2324
import io.vertx.core.net.SocketAddress;
2425
import io.vertx.core.internal.net.NetSocketInternal;
2526
import io.vertx.core.spi.metrics.ClientMetrics;
@@ -38,6 +39,10 @@ public DB2ConnectionFactory(VertxInternal vertx) {
3839
super(vertx);
3940
}
4041

42+
public DB2ConnectionFactory(VertxInternal vertx, NetClientOptions tcpOptions) {
43+
super(vertx, tcpOptions);
44+
}
45+
4146
@Override
4247
protected Future<Connection> doConnectInternal(DB2ConnectOptions options, ContextInternal context) {
4348
SocketAddress server = options.getSocketAddress();
@@ -51,7 +56,7 @@ protected Future<Connection> doConnectInternal(DB2ConnectOptions options, Contex
5156
int pipeliningLimit = options.getPipeliningLimit();
5257
return client.connect(server).flatMap(so -> {
5358
VertxMetrics vertxMetrics = vertx.metricsSPI();
54-
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", tcpOptions.getMetricsName()) : null;
59+
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", options.getMetricsName()) : null;
5560
DB2SocketConnection conn = new DB2SocketConnection((NetSocketInternal) so, metrics, options, cachePreparedStatements,
5661
preparedStatementCacheSize, preparedStatementCacheSqlFilter, pipeliningLimit, context);
5762
conn.init();

vertx-db2-client/src/main/java/io/vertx/db2client/spi/DB2Driver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8383

8484
@Override
8585
public ConnectionFactory<DB2ConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
86-
return new DB2ConnectionFactory((VertxInternal) vertx);
86+
return new DB2ConnectionFactory((VertxInternal) vertx, transportOptions);
8787
}
8888

8989
@Override

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/MSSQLConnectOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ protected void init() {
229229
this.setUser(DEFAULT_USER);
230230
this.setPassword(DEFAULT_PASSWORD);
231231
this.setDatabase(DEFAULT_DATABASE);
232+
this.setMetricsName(DEFAULT_METRICS_NAME);
232233
this.setProperties(new HashMap<>(DEFAULT_PROPERTIES));
233234
packetSize = DEFAULT_PACKET_SIZE;
234235
ssl = DEFAULT_SSL;

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ private Future<Connection> connectOrRedirect(MSSQLConnectOptions options, Contex
7777

7878
private MSSQLSocketConnection createSocketConnection(NetSocket so, MSSQLConnectOptions options, ContextInternal context) {
7979
VertxMetrics vertxMetrics = vertx.metricsSPI();
80-
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", tcpOptions.getMetricsName()) : null;
80+
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", options.getMetricsName()) : null;
8181
MSSQLSocketConnection conn = new MSSQLSocketConnection((NetSocketInternal) so, sslContextManager, metrics, options, false, 0, sql -> true, 1, context);
8282
conn.init();
8383
return conn;

vertx-mssql-client/src/test/java/io/vertx/mssqlclient/tck/MSSQLMetricsTest.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@
1111

1212
package io.vertx.mssqlclient.tck;
1313

14-
import io.vertx.core.Vertx;
1514
import io.vertx.mssqlclient.MSSQLBuilder;
1615
import io.vertx.mssqlclient.junit.MSSQLRule;
16+
import io.vertx.sqlclient.ClientBuilder;
1717
import io.vertx.sqlclient.Pool;
18+
import io.vertx.sqlclient.SqlConnectOptions;
1819
import io.vertx.sqlclient.tck.MetricsTestBase;
1920
import org.junit.ClassRule;
2021

@@ -24,8 +25,13 @@ public class MSSQLMetricsTest extends MetricsTestBase {
2425
public static MSSQLRule rule = MSSQLRule.SHARED_INSTANCE;
2526

2627
@Override
27-
protected Pool createPool(Vertx vertx) {
28-
return MSSQLBuilder.pool(builder -> builder.connectingTo(rule.options()).using(vertx));
28+
protected SqlConnectOptions connectOptions() {
29+
return rule.options();
30+
}
31+
32+
@Override
33+
protected ClientBuilder<Pool> poolBuilder() {
34+
return MSSQLBuilder.pool();
2935
}
3036

3137
@Override

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/MySQLConnectOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ protected void init() {
408408
this.setUser(DEFAULT_USER);
409409
this.setPassword(DEFAULT_PASSWORD);
410410
this.setDatabase(DEFAULT_SCHEMA);
411+
this.setMetricsName(DEFAULT_METRICS_NAME);
411412
this.setProperties(new HashMap<>(DEFAULT_CONNECTION_ATTRIBUTES));
412413
}
413414

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ private Future<Connection> doConnect(MySQLConnectOptions options, SslMode sslMod
134134
Future<NetSocket> fut = client.connect(connectOptions);
135135
return fut.flatMap(so -> {
136136
VertxMetrics vertxMetrics = vertx.metricsSPI();
137-
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", tcpOptions.getMetricsName()) : null;
137+
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(options.getSocketAddress(), "sql", options.getMetricsName()) : null;
138138
MySQLSocketConnection conn = new MySQLSocketConnection((NetSocketInternal) so, metrics, options, cachePreparedStatements, preparedStatementCacheMaxSize, preparedStatementCacheSqlFilter, pipeliningLimit, context);
139139
conn.init();
140140
return Future.future(promise -> conn.sendStartupMessage(username, password, database, collation, serverRsaPublicKey, properties, sslMode, sslOptions, initialCapabilitiesFlags, charsetEncoding, authenticationPlugin, promise));

0 commit comments

Comments
 (0)