add compression & metadata logging
This commit is contained in:
parent
bc61ba9c6e
commit
9d402178c2
|
@ -22,6 +22,8 @@ import (
|
|||
"google.golang.org/genproto/googleapis/rpc/errdetails"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/encoding/gzip"
|
||||
"google.golang.org/grpc/metadata"
|
||||
"google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
|
@ -138,11 +140,24 @@ func newTransportCredentials() (credentials.TransportCredentials, error) {
|
|||
func sayHello(ctx context.Context, client proto.GreeterClient, logger *zap.Logger) {
|
||||
name := uuid.NewString()
|
||||
logger.Info("sending request", zap.String("name", name))
|
||||
reply, err := client.SayHello(ctx, &proto.HelloRequest{Name: name})
|
||||
headers := metadata.New(nil)
|
||||
trailer := metadata.New(nil)
|
||||
reply, err := client.SayHello(
|
||||
metadata.NewOutgoingContext(ctx, metadata.Pairs("k1", "v1")),
|
||||
&proto.HelloRequest{Name: name},
|
||||
grpc.UseCompressor(gzip.Name),
|
||||
grpc.Header(&headers),
|
||||
grpc.Trailer(&trailer),
|
||||
)
|
||||
if err != nil {
|
||||
logger.Fatal("something went wrong while calling SayHello", zap.Error(err))
|
||||
}
|
||||
logger.Info("reply received", zap.String("message", reply.GetMessage()))
|
||||
logger.Info(
|
||||
"reply received",
|
||||
zap.String("message", reply.GetMessage()),
|
||||
zap.Any("headers", headers),
|
||||
zap.Any("trailer", trailer),
|
||||
)
|
||||
}
|
||||
|
||||
func sayHelloToJames(ctx context.Context, client proto.GreeterClient, logger *zap.Logger) {
|
||||
|
|
|
@ -23,6 +23,8 @@ import (
|
|||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/credentials"
|
||||
_ "google.golang.org/grpc/encoding/gzip"
|
||||
"google.golang.org/grpc/metadata"
|
||||
"google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
|
@ -99,7 +101,9 @@ func newServer(address string, logger *zap.Logger) (*server, error) {
|
|||
),
|
||||
)
|
||||
|
||||
proto.RegisterGreeterServer(srv, &greeterServer{})
|
||||
proto.RegisterGreeterServer(srv, &greeterServer{
|
||||
logger: logger,
|
||||
})
|
||||
|
||||
return &server{
|
||||
lis: lis,
|
||||
|
@ -149,9 +153,14 @@ func createPanicHandler(logger *zap.Logger) grpc_recovery.RecoveryHandlerFunc {
|
|||
|
||||
type greeterServer struct {
|
||||
proto.UnimplementedGreeterServer
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
func (g *greeterServer) SayHello(_ context.Context, r *proto.HelloRequest) (*proto.HelloReply, error) {
|
||||
func (g *greeterServer) SayHello(ctx context.Context, r *proto.HelloRequest) (*proto.HelloReply, error) {
|
||||
md, ok := metadata.FromIncomingContext(ctx)
|
||||
if ok {
|
||||
g.logger.Debug("received metadata", zap.Any("metadata", md))
|
||||
}
|
||||
return &proto.HelloReply{
|
||||
Message: buildHelloMsg(r.GetName()),
|
||||
}, nil
|
||||
|
|
Loading…
Reference in New Issue