aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-05-30 12:13:43 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-05-30 12:13:43 +0200
commit05ca0bbe97694a99572f75d87787a0fd85ebbd6c (patch)
tree5a5e9dfb7862688158607edfe633e45efc30e754 /container-core/src/main/java/com/yahoo/jdisc
parentf7b4da0a647a82b488c3b1ea81e74d6de3ba389a (diff)
Add SSL bytes to connection log
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyConnectionLogger.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyConnectionLogger.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyConnectionLogger.java
index 6406125dcc3..b1037d63196 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyConnectionLogger.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyConnectionLogger.java
@@ -42,7 +42,6 @@ import java.util.List;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
-import java.util.stream.Collectors;
/**
* Jetty integration for jdisc connection log ({@link ConnectionLog}).
@@ -136,6 +135,8 @@ class JettyConnectionLogger extends AbstractLifeCycle implements Connection.List
if (info == null) return; // Closed connection already handled
if (connection instanceof HttpConnection) {
info.setHttpBytes(connection.getBytesIn(), connection.getBytesOut());
+ } else if (connection instanceof SslConnection) {
+ info.setSslBytes(connection.getBytesIn(), connection.getBytesOut());
}
if (!endpoint.isOpen()) {
info.setClosedAt(System.currentTimeMillis());
@@ -258,6 +259,8 @@ class JettyConnectionLogger extends AbstractLifeCycle implements Connection.List
private List<String> sslSubjectAlternativeNames;
private String proxyProtocolVersion;
private String httpProtocol;
+ private long sslBytesReceived = 0;
+ private long sslBytesSent = 0;
private ConnectionInfo(UUID uuid, long createdAt, InetSocketAddress localAddress, InetSocketAddress peerAddress) {
this.uuid = uuid;
@@ -330,6 +333,12 @@ class JettyConnectionLogger extends AbstractLifeCycle implements Connection.List
synchronized ConnectionInfo setProxyProtocolVersion(String version) { this.proxyProtocolVersion = version; return this; }
+ synchronized ConnectionInfo setSslBytes(long received, long sent) {
+ this.sslBytesReceived = received;
+ this.sslBytesSent = sent;
+ return this;
+ }
+
synchronized ConnectionLogEntry toLogEntry() {
ConnectionLogEntry.Builder builder = ConnectionLogEntry.builder(uuid, Instant.ofEpochMilli(createdAt));
if (closedAt > 0) {
@@ -400,6 +409,12 @@ class JettyConnectionLogger extends AbstractLifeCycle implements Connection.List
if (proxyProtocolVersion != null) {
builder.withProxyProtocolVersion(proxyProtocolVersion);
}
+ if (sslBytesReceived > 0) {
+ builder.withSslBytesReceived(sslBytesReceived);
+ }
+ if (sslBytesSent > 0) {
+ builder.withSslBytesSent(sslBytesSent);
+ }
return builder.build();
}