diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-16 23:33:00 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-16 23:33:00 +0200 |
commit | 6930d2112dd39b8362df0c9ade7800f3bd3bebda (patch) | |
tree | 936bae9d7e1071d4ed9646b7f2e3ccb5860ecc04 /container-core/src/main/java/com/yahoo | |
parent | 228bbd8020b1922d53ef21f7ce5ae59d142f39c4 (diff) |
- Use 256k buffer for connection log as it is low volume.
- Used 256k buffer accesslog, but 4m for application containers.
Diffstat (limited to 'container-core/src/main/java/com/yahoo')
4 files changed, 15 insertions, 16 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 89aab1513ee..f14479899f5 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 @@ -12,7 +12,7 @@ class AccessLogHandler { AccessLogHandler(AccessLogConfig.FileHandler config, LogWriter<RequestLogEntry> logWriter) { logFileHandler = new LogFileHandler<>( - toCompression(config), config.pattern(), config.rotation(), + toCompression(config), config.bufferSize(), config.pattern(), config.rotation(), config.symlink(), config.queueSize(), "request-logger", logWriter); } diff --git a/container-core/src/main/java/com/yahoo/container/logging/ConnectionLogHandler.java b/container-core/src/main/java/com/yahoo/container/logging/ConnectionLogHandler.java index 7a0e8aca95e..7b130884667 100644 --- a/container-core/src/main/java/com/yahoo/container/logging/ConnectionLogHandler.java +++ b/container-core/src/main/java/com/yahoo/container/logging/ConnectionLogHandler.java @@ -8,9 +8,11 @@ package com.yahoo.container.logging; class ConnectionLogHandler { private final LogFileHandler<ConnectionLogEntry> logFileHandler; - public ConnectionLogHandler(String logDirectoryName, String clusterName, int queueSize, LogWriter<ConnectionLogEntry> logWriter) { + public ConnectionLogHandler(String logDirectoryName, int bufferSize, String clusterName, + int queueSize, LogWriter<ConnectionLogEntry> logWriter) { logFileHandler = new LogFileHandler<>( LogFileHandler.Compression.ZSTD, + bufferSize, String.format("logs/vespa/%s/ConnectionLog.%s.%s", logDirectoryName, clusterName, "%Y%m%d%H%M%S"), "0 60 ...", String.format("ConnectionLog.%s", clusterName), 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 7432c313286..749426d3da9 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,7 @@ public class FileConnectionLog extends AbstractComponent implements ConnectionLo @Inject public FileConnectionLog(ConnectionLogConfig config) { - logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.cluster(), config.queueSize(), new JsonConnectionLogWriter()); + logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.bufferSize(), config.cluster(), config.queueSize(), new JsonConnectionLogWriter()); } @Override diff --git a/container-core/src/main/java/com/yahoo/container/logging/LogFileHandler.java b/container-core/src/main/java/com/yahoo/container/logging/LogFileHandler.java index 0f2a9e42eb8..85c211c0e3a 100644 --- a/container-core/src/main/java/com/yahoo/container/logging/LogFileHandler.java +++ b/container-core/src/main/java/com/yahoo/container/logging/LogFileHandler.java @@ -47,21 +47,15 @@ class LogFileHandler <LOGTYPE> { @FunctionalInterface private interface Pollable<T> { Operation<T> poll() throws InterruptedException; } - LogFileHandler(Compression compression, String filePattern, String rotationTimes, String symlinkName, int queueSize, - String threadName, LogWriter<LOGTYPE> logWriter) { - this(compression, filePattern, calcTimesMinutes(rotationTimes), symlinkName, queueSize, threadName, logWriter); + LogFileHandler(Compression compression, int bufferSize, String filePattern, String rotationTimes, String symlinkName, + int queueSize, String threadName, LogWriter<LOGTYPE> logWriter) { + this(compression, bufferSize, filePattern, calcTimesMinutes(rotationTimes), symlinkName, queueSize, threadName, logWriter); } - LogFileHandler( - Compression compression, - String filePattern, - long[] rotationTimes, - String symlinkName, - int queueSize, - String threadName, - LogWriter<LOGTYPE> logWriter) { + LogFileHandler(Compression compression, int bufferSize, String filePattern, long[] rotationTimes, String symlinkName, + int queueSize, String threadName, LogWriter<LOGTYPE> logWriter) { this.logQueue = new LinkedBlockingQueue<>(queueSize); - this.logThread = new LogThread<>(logWriter, filePattern, compression, rotationTimes, symlinkName, threadName, this::poll); + this.logThread = new LogThread<>(logWriter, filePattern, compression, bufferSize, rotationTimes, symlinkName, threadName, this::poll); this.logThread.start(); } @@ -197,6 +191,7 @@ class LogFileHandler <LOGTYPE> { private volatile String fileName; private final LogWriter<LOGTYPE> logWriter; private final Compression compression; + private final int bufferSize; private final long[] rotationTimes; private final String symlinkName; private final ExecutorService executor = createCompressionTaskExecutor(); @@ -206,6 +201,7 @@ class LogFileHandler <LOGTYPE> { LogThread(LogWriter<LOGTYPE> logWriter, String filePattern, Compression compression, + int bufferSize, long[] rotationTimes, String symlinkName, String threadName, @@ -215,6 +211,7 @@ class LogFileHandler <LOGTYPE> { this.logWriter = logWriter; this.filePattern = filePattern; this.compression = compression; + this.bufferSize = bufferSize; this.rotationTimes = rotationTimes; this.symlinkName = (symlinkName != null && !symlinkName.isBlank()) ? symlinkName : null; this.operationProvider = operationProvider; @@ -360,7 +357,7 @@ class LogFileHandler <LOGTYPE> { internalClose(); try { checkAndCreateDir(fileName); - fileOutput = new PageCacheFriendlyFileOutputStream(nativeIO, Paths.get(fileName), 4 * 1024 * 1024); + fileOutput = new PageCacheFriendlyFileOutputStream(nativeIO, Paths.get(fileName), bufferSize); LogFileDb.nowLoggingTo(fileName); } catch (IOException e) { throw new RuntimeException("Couldn't open log file '" + fileName + "'", e); |