Skip to content

Commit da37fcd

Browse files
authored
Merge pull request kubernetes#92424 from serathius/optimize
Improve performance of http access logs
2 parents ca372d3 + 303e1c1 commit da37fcd

File tree

1 file changed

+19
-11
lines changed
  • staging/src/k8s.io/apiserver/pkg/server/httplog

1 file changed

+19
-11
lines changed

staging/src/k8s.io/apiserver/pkg/server/httplog/httplog.go

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ func WithLogging(handler http.Handler, pred StacktracePred) http.Handler {
8585
rl := newLogged(req, w).StacktraceWhen(pred)
8686
req = req.WithContext(context.WithValue(ctx, respLoggerContextKey, rl))
8787

88-
defer func() { klog.V(3).InfoS("Received HTTP request", rl.LogArgs()...) }()
88+
if klog.V(3).Enabled() {
89+
defer func() { klog.InfoS("HTTP", rl.LogArgs()...) }()
90+
}
8991
handler.ServeHTTP(rl, req)
9092
})
9193
}
@@ -155,24 +157,30 @@ func (rl *respLogger) Addf(format string, data ...interface{}) {
155157

156158
func (rl *respLogger) LogArgs() []interface{} {
157159
latency := time.Since(rl.startTime)
160+
if rl.hijacked {
161+
return []interface{}{
162+
"verb", rl.req.Method,
163+
"URI", rl.req.RequestURI,
164+
"latency", latency,
165+
"userAgent", rl.req.UserAgent(),
166+
"srcIP", rl.req.RemoteAddr,
167+
"hijacked", true,
168+
}
169+
}
158170
args := []interface{}{
159171
"verb", rl.req.Method,
160172
"URI", rl.req.RequestURI,
161173
"latency", latency,
162174
"userAgent", rl.req.UserAgent(),
163175
"srcIP", rl.req.RemoteAddr,
176+
"resp", rl.status,
177+
}
178+
if len(rl.statusStack) > 0 {
179+
args = append(args, "statusStack", rl.statusStack)
164180
}
165-
if rl.hijacked {
166-
args = append(args, "hijacked", true)
167-
} else {
168-
args = append(args, "resp", rl.status)
169-
if len(rl.statusStack) > 0 {
170-
args = append(args, "statusStack", rl.statusStack)
171-
}
172181

173-
if len(rl.addedInfo) > 0 {
174-
args = append(args, "addedInfo", rl.addedInfo)
175-
}
182+
if len(rl.addedInfo) > 0 {
183+
args = append(args, "addedInfo", rl.addedInfo)
176184
}
177185
return args
178186
}

0 commit comments

Comments
 (0)