[#60] Use gRPC interceptor from observability package
All checks were successful
/ Vulncheck (pull_request) Successful in 1m25s
/ Lint (pull_request) Successful in 3m11s
/ Tests (1.19) (pull_request) Successful in 3m0s
/ Tests (1.20) (pull_request) Successful in 2m46s
/ DCO (pull_request) Successful in 1m19s
/ Builds (1.19) (pull_request) Successful in 2m48s
/ Builds (1.20) (pull_request) Successful in 4m33s
All checks were successful
/ Vulncheck (pull_request) Successful in 1m25s
/ Lint (pull_request) Successful in 3m11s
/ Tests (1.19) (pull_request) Successful in 3m0s
/ Tests (1.20) (pull_request) Successful in 2m46s
/ DCO (pull_request) Successful in 1m19s
/ Builds (1.19) (pull_request) Successful in 2m48s
/ Builds (1.20) (pull_request) Successful in 4m33s
Previous SDK implementation had implicit gRPC interceptor for tracing. Now pool constructors allow any dial options, so gateway should manually pass tracing interceptors from observability package. Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
parent
2ccb43bc8c
commit
6f64557a4b
1 changed files with 14 additions and 1 deletions
15
settings.go
15
settings.go
|
@ -13,6 +13,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-http-gw/resolver"
|
"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"
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool"
|
||||||
treepool "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool/tree"
|
treepool "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool/tree"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
"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)
|
prm.SetLogger(logger)
|
||||||
prmTree.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)
|
p, err := pool.NewPool(prm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Fatal("failed to create connection pool", zap.Error(err))
|
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))
|
logger.Fatal("failed to dial connection pool", zap.Error(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
prmTree.SetGRPCDialOptions(grpc.WithTransportCredentials(insecure.NewCredentials()))
|
|
||||||
treePool, err := treepool.NewPool(prmTree)
|
treePool, err := treepool.NewPool(prmTree)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Fatal("failed to create tree pool", zap.Error(err))
|
logger.Fatal("failed to create tree pool", zap.Error(err))
|
||||||
|
|
Loading…
Reference in a new issue