package grpcli

import (
	"context"

	"go.uber.org/zap"
	"google.golang.org/grpc"

	"github.com/tidbcloud/metrics-integration/global/pkg/log"
	tigrpc "github.com/tidbcloud/tiinf/transport/tigrpc/client"
)

func MustBuildGrpcClientConnection(ctx context.Context, addr string) *grpc.ClientConn {
	logger := log.GetLogger(ctx)
	opts := []tigrpc.Option{tigrpc.WithDefault()}
	logger.Info("initializing client", zap.String("addr", addr))
	conn, err := tigrpc.NewClientConn(addr, opts...)
	if err != nil {
		logger.Fatal("initialize client failed", zap.String("addr", addr), zap.Error(err))
	}
	return conn
}
