From dd2803c4a6fb720f592aa03d6be0627367bf891a Mon Sep 17 00:00:00 2001 From: Jingyi Hu Date: Fri, 17 Aug 2018 17:06:13 -0700 Subject: [PATCH] etcdserver: add grpc interceptor to log info on incoming request to etcdserver To improve debuggability of etcd v3.1. Added a grpc interceptor to log info on incoming requests to etcd server. The log output includes remote client info, request content (with value field redacted), request handling latency, response size, etc. Dependency on zap logger and grpc_middleware is removed during backporting. Added checking in logging interceptor. If debug level is disabled, skip logUnaryRequestStats() to avoid potential performance degradation. (PR #10021) --- etcdserver/api/v3rpc/interceptor.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/etcdserver/api/v3rpc/interceptor.go b/etcdserver/api/v3rpc/interceptor.go index 315b1d19c..3ea9fad84 100644 --- a/etcdserver/api/v3rpc/interceptor.go +++ b/etcdserver/api/v3rpc/interceptor.go @@ -93,7 +93,7 @@ func logUnaryRequestStats(ctx context.Context, info *grpc.UnaryServerInfo, start reqContent = _req.String() } if _resp != nil { - respCount = _resp.GetCount() + respCount = _resp.Count respSize = _resp.Size() } case *pb.PutResponse: @@ -116,13 +116,13 @@ func logUnaryRequestStats(ctx context.Context, info *grpc.UnaryServerInfo, start reqContent = _req.String() } if _resp != nil { - respCount = _resp.GetDeleted() + respCount = _resp.Deleted respSize = _resp.Size() } case *pb.TxnResponse: _req, ok := req.(*pb.TxnRequest) if ok && _resp != nil { - if _resp.GetSucceeded() { // determine the 'actual' count and size of request based on success or failure + if _resp.Succeeded { // determine the 'actual' count and size of request based on success or failure reqCount = int64(len(_req.GetSuccess())) reqSize = 0 for _, r := range _req.GetSuccess() {