package grpc import ( "context" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace" "google.golang.org/grpc" "gitea.libretechconsulting.com/rmcguire/go-app/pkg/srv/grpc/opts" ) type AppGRPCServer struct { ctx context.Context tracer trace.Tracer meter metric.Meter } func InitGRPCServer(ctx context.Context, opts *opts.GRPCOpts) { server := grpc.NewServer() stats := otelgrpc.NewServerHandler(otelgrpc.WithTracerProvider(sdktrace.T)) for _, service := range opts.Services { server.RegisterService(service.Type, service.Service) } }