From 909e84fe1c6483685c421300a792c241ff65d090 Mon Sep 17 00:00:00 2001 From: SoXX Date: Fri, 30 Aug 2024 15:20:32 +0200 Subject: [PATCH] feat(grpc): added middleware added the ability to receive otel data from clients --- go.mod | 1 + go.sum | 2 ++ pkg/plug/server.go | 5 ++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 0da788a..0eda50c 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( git.anthrove.art/Anthrove/otter-space-sdk/v4 v4.0.0 github.com/matoous/go-nanoid/v2 v2.1.0 github.com/sirupsen/logrus v1.9.3 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 go.opentelemetry.io/otel v1.29.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 go.opentelemetry.io/otel/exporters/prometheus v0.51.0 diff --git a/go.sum b/go.sum index 076e023..3dba3ba 100644 --- a/go.sum +++ b/go.sum @@ -145,6 +145,8 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opentelemetry.io/contrib/bridges/otellogrus v0.3.0 h1:QHEj9AK6bEiEA9S5OdDUE9KAx4xp6pRkYMnybHDmjZU= go.opentelemetry.io/contrib/bridges/otellogrus v0.3.0/go.mod h1:HRlW/1YWrBrbzB6FvHU7jUuz33F74PEvQVBL+b+wUhM= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= diff --git a/pkg/plug/server.go b/pkg/plug/server.go index b8b0682..5c7e575 100644 --- a/pkg/plug/server.go +++ b/pkg/plug/server.go @@ -7,6 +7,7 @@ import ( "git.anthrove.art/Anthrove/otter-space-sdk/v4/pkg/models" pb "git.anthrove.art/Anthrove/plug-sdk/v3/pkg/grpc" log "github.com/sirupsen/logrus" + "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" @@ -68,7 +69,9 @@ func Listen(ctx context.Context, listenAddr string, source models.Source) error return err } - grpcServer := grpc.NewServer() + grpcServer := grpc.NewServer( + grpc.StatsHandler(otelgrpc.NewServerHandler()), + ) pb.RegisterPlugConnectorServer(grpcServer, NewGrpcServer(source, taskExecutionFunction, sendMessageExecution, getMessageExecution))