go-app/pkg/srv/grpc/grpc.go

30 lines
697 B
Go
Raw Normal View History

2025-03-07 08:42:38 -05:00
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)
}
}