From 083a2e14848cd4ce96b4fe72627e71a0b87a8f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Pablo=20Villaf=C3=A1=C3=B1ez?= Date: Thu, 25 Jul 2024 13:01:26 +0200 Subject: [PATCH] feat: include tracing for grpc openInApp function --- services/collaboration/pkg/command/server.go | 1 + services/collaboration/pkg/server/grpc/server.go | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/services/collaboration/pkg/command/server.go b/services/collaboration/pkg/command/server.go index 799448d4cf..dff0bb4b21 100644 --- a/services/collaboration/pkg/command/server.go +++ b/services/collaboration/pkg/command/server.go @@ -63,6 +63,7 @@ func Server(cfg *config.Config) *cli.Command { grpc.AppURLs(appUrls), grpc.Config(cfg), grpc.Logger(logger), + grpc.TraceProvider(traceProvider), ) defer teardown() if err != nil { diff --git a/services/collaboration/pkg/server/grpc/server.go b/services/collaboration/pkg/server/grpc/server.go index a0be59dcca..43964afe22 100644 --- a/services/collaboration/pkg/server/grpc/server.go +++ b/services/collaboration/pkg/server/grpc/server.go @@ -2,15 +2,25 @@ package grpc import ( appproviderv1beta1 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1" + "github.com/owncloud/ocis/v2/ocis-pkg/tracing" svc "github.com/owncloud/ocis/v2/services/collaboration/pkg/service/grpc/v0" + "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "google.golang.org/grpc" ) // Server initializes a new grpc service ready to run // THIS SERVICE IS REGISTERED AGAINST REVA, NOT GO-MICRO func Server(opts ...Option) (*grpc.Server, func(), error) { - grpcOpts := []grpc.ServerOption{} options := newOptions(opts...) + + grpcOpts := []grpc.ServerOption{ + grpc.StatsHandler( + otelgrpc.NewServerHandler( + otelgrpc.WithTracerProvider(options.TraceProvider), + otelgrpc.WithPropagators(tracing.GetPropagator()), + ), + ), + } grpcServer := grpc.NewServer(grpcOpts...) handle, teardown, err := svc.NewHandler(