Closed p0mvn closed 2 months ago
The recent updates introduce OpenTelemetry tracing into the gRPC server functionality within the codebase. This enhancement includes importing necessary OpenTelemetry libraries and incorporating tracing logic into the interceptor
function and StartGRPCServer
function. These changes aim to improve observability and monitoring of gRPC calls by capturing detailed tracing information.
Files | Change Summary |
---|---|
baseapp/grpcserver.go |
Added OpenTelemetry tracing imports, tracerName constant, and modified interceptor function. |
server/grpc/server.go |
Introduced OpenTelemetry instrumentation for gRPC, including otelgrpc.NewServerHandler() . |
sequenceDiagram
participant Client
participant gRPCServer
participant OpenTelemetry
Client->>gRPCServer: Send gRPC request
gRPCServer->>OpenTelemetry: Start trace
gRPCServer->>gRPCServer: Process request
gRPCServer->>OpenTelemetry: End trace
gRPCServer->>Client: Send response
In the code where gRPC roams,
Traces now find their homes.
With OpenTelemetry's might,
Observability takes flight.
Each request, a story told,
In spans of data, bright and bold.
🌟📡🐇
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
This PR wires up OTEL tracing in gprcserver interceptor, allowing tracing requests that originate from external services.
I had to bump up go as 1.20 did not support some of the otel grpc dependencies.
This has led to bumping up go versions of a lot of the CI stuff.
Tested.