diff --git a/httpgrpc/server/server.go b/httpgrpc/server/server.go index 7695523e..8f556c3a 100644 --- a/httpgrpc/server/server.go +++ b/httpgrpc/server/server.go @@ -14,7 +14,6 @@ import ( "github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc" "github.com/mwitkow/go-grpc-middleware" "github.com/opentracing/opentracing-go" - "github.com/opentracing/opentracing-go/ext" "github.com/sercand/kuberesolver" "golang.org/x/net/context" "google.golang.org/grpc" @@ -44,18 +43,9 @@ func (s Server) Handle(ctx context.Context, r *httpgrpc.HTTPRequest) (*httpgrpc. return nil, err } toHeader(r.Headers, req.Header) - if tracer := opentracing.GlobalTracer(); tracer != nil { - clientContext, err := tracer.Extract(opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(req.Header)) - if err == nil { - span := tracer.StartSpan("httpgrpc", ext.RPCServerOption(clientContext)) - defer span.Finish() - ctx = opentracing.ContextWithSpan(ctx, span) - } else if err != opentracing.ErrSpanContextNotFound { - logging.Global().Warnf("Failed to extract tracing headers from request: %v", err) - } - } req = req.WithContext(ctx) req.RequestURI = r.Url + recorder := httptest.NewRecorder() s.handler.ServeHTTP(recorder, req) resp := &httpgrpc.HTTPResponse{ diff --git a/httpgrpc/server/server_test.go b/httpgrpc/server/server_test.go index e1fe4361..338a62db 100644 --- a/httpgrpc/server/server_test.go +++ b/httpgrpc/server/server_test.go @@ -14,9 +14,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" jaegercfg "github.com/uber/jaeger-client-go/config" + "google.golang.org/grpc" + "github.com/weaveworks/common/httpgrpc" + "github.com/weaveworks/common/middleware" "github.com/weaveworks/common/user" - "google.golang.org/grpc" ) type testServer struct { @@ -110,10 +112,12 @@ func TestTracePropagation(t *testing.T) { defer closer.Close() require.NoError(t, err) - server, err := newTestServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - span := opentracing.SpanFromContext(r.Context()) - fmt.Fprint(w, span.BaggageItem("name")) - })) + server, err := newTestServer(middleware.Tracer{}.Wrap( + http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + span := opentracing.SpanFromContext(r.Context()) + fmt.Fprint(w, span.BaggageItem("name")) + }), + )) require.NoError(t, err) defer server.grpcServer.GracefulStop()