diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 16:20:53 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 16:20:53 +0200 |
commit | c134dffcc8c8276828cbc21df97d7cfa0e7fbe84 (patch) | |
tree | d143edde6fe98d3ede262a05a2b64bd6673741ba /container-core/src | |
parent | 84735c5c71ce231f8e05a3f6931d4290275b85c0 (diff) |
Scale queue size for access/connection log locally
Diffstat (limited to 'container-core/src')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java | 8 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java | 8 |
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 |