m/n/core/rpc: do not log RPC traces from NodeManagement.Logs
Change-Id: I3106d7fe66a8cdd047e08af62844b20d11636bf5
Reviewed-on: https://review.monogon.dev/c/monogon/+/1438
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/rpc/server_authentication.go b/metropolis/node/core/rpc/server_authentication.go
index 5543b83..516883a 100644
--- a/metropolis/node/core/rpc/server_authentication.go
+++ b/metropolis/node/core/rpc/server_authentication.go
@@ -56,7 +56,11 @@
func (s *ServerSecurity) streamInterceptor(logger logtree.LeveledLogger) grpc.StreamServerInterceptor {
return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
var span *logtreeSpan
- if logger != nil {
+ // HACK: Do not log any log retrieval methods into the log, otherwise logs blow up
+ // on retrieval.
+ //
+ // TOOD(q3k): make this more generic
+ if logger != nil && info.FullMethod != "/metropolis.proto.api.NodeManagement/Logs" {
span = newLogtreeSpan(logger)
span.Printf("RPC invoked: streaming request: %s", info.FullMethod)
ss = &spanServerStream{