summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-09-30 16:20:53 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-09-30 16:20:53 +0200
commitc134dffcc8c8276828cbc21df97d7cfa0e7fbe84 (patch)
treed143edde6fe98d3ede262a05a2b64bd6673741ba /container-core
parent84735c5c71ce231f8e05a3f6931d4290275b85c0 (diff)
Scale queue size for access/connection log locally
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java8
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java8
2 files changed, 14 insertions, 2 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java b/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
index f14479899f5..55c3ad2ca8e 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
@@ -13,13 +13,19 @@ class AccessLogHandler {
AccessLogHandler(AccessLogConfig.FileHandler config, LogWriter<RequestLogEntry> logWriter) {
logFileHandler = new LogFileHandler<>(
toCompression(config), config.bufferSize(), config.pattern(), config.rotation(),
- config.symlink(), config.queueSize(), "request-logger", logWriter);
+ config.symlink(), queueSize(config), "request-logger", logWriter);
+ }
+
+ private static int queueSize(AccessLogConfig.FileHandler config) {
+ if (config.queueSize() != -1) return config.queueSize();
+ return Math.max(4096, Runtime.getRuntime().availableProcessors() * 256);
}
public void log(RequestLogEntry entry) {
logFileHandler.publish(entry);
}
+
private LogFileHandler.Compression toCompression(AccessLogConfig.FileHandler config) {
if (!config.compressOnRotation()) return LogFileHandler.Compression.NONE;
switch (config.compressionFormat()) {
diff --git a/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java b/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
index 749426d3da9..273d562d048 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
@@ -14,7 +14,13 @@ public class FileConnectionLog extends AbstractComponent implements ConnectionLo
@Inject
public FileConnectionLog(ConnectionLogConfig config) {
- logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.bufferSize(), config.cluster(), config.queueSize(), new JsonConnectionLogWriter());
+ logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.bufferSize(), config.cluster(),
+ queueSize(config), new JsonConnectionLogWriter());
+ }
+
+ private static int queueSize(ConnectionLogConfig config) {
+ if (config.queueSize() != -1) return config.queueSize();
+ return Math.max(4096, Runtime.getRuntime().availableProcessors() * 512);
}
@Override