Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/main/java/io/cryostat/agent/Agent.java
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ public void accept(AgentArgs args) {
case REFRESHING:
case REFRESHED:
case PUBLISHED:
case COOLDOWN:
log.debug("Registration state: {}", evt.state);
break;
default:
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/io/cryostat/agent/ConfigModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,11 @@ public abstract class ConfigModule {
public static final String CRYOSTAT_AGENT_CREDENTIAL_CLEANUP_MAX_RETRIES =
"cryostat.agent.credential.cleanup.max-retries";

public static final String CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_TOTAL =
"cryostat.agent.webclient.connection-pool.max-total";
public static final String CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_PER_ROUTE =
"cryostat.agent.webclient.connection-pool.max-per-route";

@Provides
@Singleton
public static SmallRyeConfig provideConfig() {
Expand Down Expand Up @@ -1167,6 +1172,20 @@ public static int provideCryostatAgentCredentialCleanupMaxRetries(SmallRyeConfig
return config.getValue(CRYOSTAT_AGENT_CREDENTIAL_CLEANUP_MAX_RETRIES, int.class);
}

@Provides
@Singleton
@Named(CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_TOTAL)
public static int provideConnectionPoolMaxTotal(SmallRyeConfig config) {
return config.getValue(CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_TOTAL, int.class);
}

@Provides
@Singleton
@Named(CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_PER_ROUTE)
public static int provideConnectionPoolMaxPerRoute(SmallRyeConfig config) {
return config.getValue(CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_PER_ROUTE, int.class);
}

public enum URIRange {
LOOPBACK(u -> check(u, u2 -> true, InetAddress::isLoopbackAddress)),
LINK_LOCAL(
Expand Down
14 changes: 9 additions & 5 deletions src/main/java/io/cryostat/agent/MainModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,7 @@
import org.apache.hc.client5.http.impl.DefaultHttpRequestRetryStrategy;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager;
import org.apache.hc.client5.http.io.HttpClientConnectionManager;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
import org.apache.hc.client5.http.socket.ConnectionSocketFactory;
import org.apache.hc.client5.http.socket.PlainConnectionSocketFactory;
import org.apache.hc.client5.http.ssl.DefaultHostnameVerifier;
Expand Down Expand Up @@ -661,7 +660,10 @@ public static HttpClient provideHttpClient(
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_RESPONSE_TIMEOUT_MS) int responseTimeout,
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_RESPONSE_RETRY_COUNT) int retryCount,
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_RESPONSE_RETRY_TIME) int retryTime,
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_TLS_REQUIRED) boolean tlsRequired) {
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_TLS_REQUIRED) boolean tlsRequired,
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_TOTAL) int maxTotal,
@Named(ConfigModule.CRYOSTAT_AGENT_WEBCLIENT_CONNECTION_POOL_MAX_PER_ROUTE)
int maxPerRoute) {
SSLConnectionSocketFactory sslSocketFactory =
new SSLConnectionSocketFactory(
sslContext,
Expand All @@ -675,8 +677,10 @@ public static HttpClient provideHttpClient(
if (!tlsRequired) {
socketFactoryRegistryBuilder.register("http", new PlainConnectionSocketFactory());
}
HttpClientConnectionManager connMan =
new BasicHttpClientConnectionManager(socketFactoryRegistryBuilder.build());
PoolingHttpClientConnectionManager connMan =
new PoolingHttpClientConnectionManager(socketFactoryRegistryBuilder.build());
connMan.setMaxTotal(maxTotal);
connMan.setDefaultMaxPerRoute(maxPerRoute);
HttpClientBuilder builder =
HttpClients.custom()
.setConnectionManager(connMan)
Expand Down
7 changes: 5 additions & 2 deletions src/main/resources/META-INF/microprofile-config.properties
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ cryostat.agent.registration.jmx.use-callback-host=true
cryostat.agent.registration.max-backoff-ms=300000
cryostat.agent.registration.backoff-multiplier=2.0
cryostat.agent.registration.circuit-breaker-threshold=10
cryostat.agent.registration.circuit-breaker-duration=PT5M
cryostat.agent.registration.min-cooldown-ms=300000
cryostat.agent.registration.circuit-breaker-duration=PT30S
cryostat.agent.registration.min-cooldown-ms=30000
cryostat.agent.exit.deregistration.timeout-ms=10000

cryostat.agent.publish.context=
Expand All @@ -101,4 +101,7 @@ cryostat.agent.smart-trigger.evaluation.period-ms=1000
cryostat.agent.credential.cleanup.interval=PT1M
cryostat.agent.credential.cleanup.max-retries=5

cryostat.agent.webclient.connection-pool.max-total=10
cryostat.agent.webclient.connection-pool.max-per-route=5

cryostat.agent.fleet-sampling-ratio=Infinity
Loading