diff --git a/settings.go b/settings.go index eec014c..3b2cba9 100644 --- a/settings.go +++ b/settings.go @@ -13,6 +13,7 @@ import ( "time" "git.frostfs.info/TrueCloudLab/frostfs-http-gw/resolver" + grpctracing "git.frostfs.info/TrueCloudLab/frostfs-observability/tracing/grpc" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool" treepool "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool/tree" "github.com/nspcc-dev/neo-go/pkg/crypto/keys" @@ -454,6 +455,19 @@ func getPools(ctx context.Context, logger *zap.Logger, cfg *viper.Viper) (*pool. prm.SetLogger(logger) prmTree.SetLogger(logger) + var apiGRPCDialOpts []grpc.DialOption + var treeGRPCDialOpts = []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())} + if cfg.GetBool(cfgTracingEnabled) { + interceptors := []grpc.DialOption{ + grpc.WithUnaryInterceptor(grpctracing.NewUnaryClientInteceptor()), + grpc.WithStreamInterceptor(grpctracing.NewStreamClientInterceptor()), + } + treeGRPCDialOpts = append(treeGRPCDialOpts, interceptors...) + apiGRPCDialOpts = append(apiGRPCDialOpts, interceptors...) + } + prm.SetGRPCDialOptions(apiGRPCDialOpts...) + prmTree.SetGRPCDialOptions(treeGRPCDialOpts...) + p, err := pool.NewPool(prm) if err != nil { logger.Fatal("failed to create connection pool", zap.Error(err)) @@ -463,7 +477,6 @@ func getPools(ctx context.Context, logger *zap.Logger, cfg *viper.Viper) (*pool. logger.Fatal("failed to dial connection pool", zap.Error(err)) } - prmTree.SetGRPCDialOptions(grpc.WithTransportCredentials(insecure.NewCredentials())) treePool, err := treepool.NewPool(prmTree) if err != nil { logger.Fatal("failed to create tree pool", zap.Error(err))