@@ -27,22 +27,22 @@ import (
2727 grpc_recovery "github.com/grpc-ecosystem/go-grpc-middleware/recovery"
2828 grpc_validator "github.com/grpc-ecosystem/go-grpc-middleware/validator"
2929 grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
30+ "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
3031 "google.golang.org/grpc"
3132)
3233
33- var defaultServerOptions = []grpc.ServerOption {
34- grpc .StreamInterceptor (grpc_middleware .ChainStreamServer (
35- grpc_validator .StreamServerInterceptor (),
36- grpc_recovery .StreamServerInterceptor (),
37- grpc_prometheus .StreamServerInterceptor ,
38- grpc_zap .StreamServerInterceptor (logger .GrpcLogger .Desugar ()),
39- )),
40- grpc .UnaryInterceptor (grpc_middleware .ChainUnaryServer (
41- grpc_validator .UnaryServerInterceptor (),
42- grpc_recovery .UnaryServerInterceptor (),
43- grpc_prometheus .UnaryServerInterceptor ,
44- grpc_zap .UnaryServerInterceptor (logger .GrpcLogger .Desugar ()),
45- )),
34+ var defaultStreamMiddleWares = []grpc.StreamServerInterceptor {
35+ grpc_validator .StreamServerInterceptor (),
36+ grpc_recovery .StreamServerInterceptor (),
37+ grpc_prometheus .StreamServerInterceptor ,
38+ grpc_zap .StreamServerInterceptor (logger .GrpcLogger .Desugar ()),
39+ }
40+
41+ var defaultUnaryMiddleWares = []grpc.UnaryServerInterceptor {
42+ grpc_validator .UnaryServerInterceptor (),
43+ grpc_recovery .UnaryServerInterceptor (),
44+ grpc_prometheus .UnaryServerInterceptor ,
45+ grpc_zap .UnaryServerInterceptor (logger .GrpcLogger .Desugar ()),
4646}
4747
4848// ManagerServer is the server API for Manager service.
@@ -66,8 +66,17 @@ type proxy struct {
6666 manager.UnimplementedManagerServer
6767}
6868
69- func New (managerServer ManagerServer , opts ... grpc.ServerOption ) * grpc.Server {
70- grpcServer := grpc .NewServer (append (defaultServerOptions , opts ... )... )
69+ func New (managerServer ManagerServer , jaeger bool , opts ... grpc.ServerOption ) * grpc.Server {
70+ if jaeger {
71+ defaultStreamMiddleWares = append (defaultStreamMiddleWares , otelgrpc .StreamServerInterceptor ())
72+ defaultUnaryMiddleWares = append (defaultUnaryMiddleWares , otelgrpc .UnaryServerInterceptor ())
73+ }
74+
75+ grpcServer := grpc .NewServer (append ([]grpc.ServerOption {
76+ grpc .StreamInterceptor (grpc_middleware .ChainStreamServer (defaultStreamMiddleWares ... )),
77+ grpc .UnaryInterceptor (grpc_middleware .ChainUnaryServer (defaultUnaryMiddleWares ... )),
78+ }, opts ... )... )
79+
7180 manager .RegisterManagerServer (grpcServer , & proxy {server : managerServer })
7281 return grpcServer
7382}
0 commit comments