From 7618139dada0b3f01e3ef87bf8c5b4374d8957b4 Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Tue, 31 Aug 2021 12:04:09 +0800 Subject: [PATCH] refactor (#977) --- core/opentelemetry/agent.go | 1 - rest/handler/otelhandler.go | 1 - rest/handler/otelhandler_test.go | 3 +-- tools/goctl/model/sql/command/command_test.go | 3 +-- .../opentracinginterceptor.go | 18 ++++++------------ .../opentracinginterceptor.go | 19 +++++++++---------- 6 files changed, 17 insertions(+), 28 deletions(-) diff --git a/core/opentelemetry/agent.go b/core/opentelemetry/agent.go index 3b230ea7..0e35151a 100644 --- a/core/opentelemetry/agent.go +++ b/core/opentelemetry/agent.go @@ -5,7 +5,6 @@ import ( "github.com/tal-tech/go-zero/core/logx" "github.com/tal-tech/go-zero/core/syncx" - "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/jaeger" "go.opentelemetry.io/otel/propagation" diff --git a/rest/handler/otelhandler.go b/rest/handler/otelhandler.go index 01188b52..8872974f 100644 --- a/rest/handler/otelhandler.go +++ b/rest/handler/otelhandler.go @@ -4,7 +4,6 @@ import ( "net/http" "github.com/tal-tech/go-zero/core/opentelemetry" - "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/propagation" semconv "go.opentelemetry.io/otel/semconv/v1.4.0" diff --git a/rest/handler/otelhandler_test.go b/rest/handler/otelhandler_test.go index 9d245096..30ca9b35 100644 --- a/rest/handler/otelhandler_test.go +++ b/rest/handler/otelhandler_test.go @@ -8,9 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/tal-tech/go-zero/core/opentelemetry" - "go.opentelemetry.io/otel/propagation" - "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/trace" ) diff --git a/tools/goctl/model/sql/command/command_test.go b/tools/goctl/model/sql/command/command_test.go index 8da71a17..72fe7020 100644 --- a/tools/goctl/model/sql/command/command_test.go +++ b/tools/goctl/model/sql/command/command_test.go @@ -6,10 +6,9 @@ import ( "path/filepath" "testing" - "github.com/tal-tech/go-zero/tools/goctl/model/sql/gen" - "github.com/stretchr/testify/assert" "github.com/tal-tech/go-zero/tools/goctl/config" + "github.com/tal-tech/go-zero/tools/goctl/model/sql/gen" "github.com/tal-tech/go-zero/tools/goctl/util" ) diff --git a/zrpc/internal/clientinterceptors/opentracinginterceptor.go b/zrpc/internal/clientinterceptors/opentracinginterceptor.go index 69961a87..13f1ea63 100644 --- a/zrpc/internal/clientinterceptors/opentracinginterceptor.go +++ b/zrpc/internal/clientinterceptors/opentracinginterceptor.go @@ -4,12 +4,11 @@ import ( "context" "github.com/tal-tech/go-zero/core/opentelemetry" - "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" "google.golang.org/grpc" - grpc_codes "google.golang.org/grpc/codes" + gcodes "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) @@ -23,7 +22,6 @@ func OpenTracingInterceptor() grpc.UnaryClientInterceptor { requestMetadata, _ := metadata.FromOutgoingContext(ctx) metadataCopy := requestMetadata.Copy() - tr := otel.Tracer(opentelemetry.TraceName) name, attr := opentelemetry.SpanInfo(method, cc.Target()) @@ -37,22 +35,18 @@ func OpenTracingInterceptor() grpc.UnaryClientInterceptor { opentelemetry.Inject(ctx, propagator, &metadataCopy) ctx = metadata.NewOutgoingContext(ctx, metadataCopy) - opentelemetry.MessageSent.Event(ctx, 1, req) - - err := invoker(ctx, method, req, reply, cc, opts...) - opentelemetry.MessageReceived.Event(ctx, 1, reply) - if err != nil { + if err := invoker(ctx, method, req, reply, cc, opts...); err != nil { s, _ := status.FromError(err) span.SetStatus(codes.Error, s.Message()) span.SetAttributes(opentelemetry.StatusCodeAttr(s.Code())) - } else { - span.SetAttributes(opentelemetry.StatusCodeAttr(grpc_codes.OK)) + return err } - return err + span.SetAttributes(opentelemetry.StatusCodeAttr(gcodes.OK)) + return nil } } @@ -98,7 +92,7 @@ func StreamOpenTracingInterceptor() grpc.StreamClientInterceptor { span.SetStatus(codes.Error, s.Message()) span.SetAttributes(opentelemetry.StatusCodeAttr(s.Code())) } else { - span.SetAttributes(opentelemetry.StatusCodeAttr(grpc_codes.OK)) + span.SetAttributes(opentelemetry.StatusCodeAttr(gcodes.OK)) } span.End() diff --git a/zrpc/internal/serverinterceptors/opentracinginterceptor.go b/zrpc/internal/serverinterceptors/opentracinginterceptor.go index c81946d3..5d8b9ae1 100644 --- a/zrpc/internal/serverinterceptors/opentracinginterceptor.go +++ b/zrpc/internal/serverinterceptors/opentracinginterceptor.go @@ -4,20 +4,20 @@ import ( "context" "github.com/tal-tech/go-zero/core/opentelemetry" - "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/baggage" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" "google.golang.org/grpc" - grpc_codes "google.golang.org/grpc/codes" + gcodes "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) func UnaryOpenTracingInterceptor() grpc.UnaryServerInterceptor { propagator := otel.GetTextMapPropagator() - return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { + return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, + handler grpc.UnaryHandler) (interface{}, error) { if !opentelemetry.Enabled() { return handler(ctx, req) } @@ -41,20 +41,19 @@ func UnaryOpenTracingInterceptor() grpc.UnaryServerInterceptor { defer span.End() opentelemetry.MessageReceived.Event(ctx, 1, req) - resp, err := handler(ctx, req) - if err != nil { s, _ := status.FromError(err) span.SetStatus(codes.Error, s.Message()) span.SetAttributes(opentelemetry.StatusCodeAttr(s.Code())) opentelemetry.MessageSent.Event(ctx, 1, s.Proto()) - } else { - span.SetAttributes(opentelemetry.StatusCodeAttr(grpc_codes.OK)) - opentelemetry.MessageSent.Event(ctx, 1, resp) + return nil, err } - return resp, err + span.SetAttributes(opentelemetry.StatusCodeAttr(gcodes.OK)) + opentelemetry.MessageSent.Event(ctx, 1, resp) + + return resp, nil } } @@ -89,7 +88,7 @@ func StreamOpenTracingInterceptor() grpc.StreamServerInterceptor { span.SetStatus(codes.Error, s.Message()) span.SetAttributes(opentelemetry.StatusCodeAttr(s.Code())) } else { - span.SetAttributes(opentelemetry.StatusCodeAttr(grpc_codes.OK)) + span.SetAttributes(opentelemetry.StatusCodeAttr(gcodes.OK)) } return err