Skip to content

Commit 3005284

Browse files
committed
attempt to remove dependency to go.opencensus.io
1 parent 8937b91 commit 3005284

File tree

6 files changed

+19
-35
lines changed

6 files changed

+19
-35
lines changed

go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ require (
88
github.com/google/uuid v1.3.0
99
github.com/googleapis/enterprise-certificate-proxy v0.1.0
1010
github.com/googleapis/gax-go/v2 v2.4.0
11-
go.opencensus.io v0.23.0
1211
golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e
1312
golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2
1413
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f

go.sum

-2
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2
9494
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
9595
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
9696
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
97-
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
9897
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
9998
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
10099
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
@@ -207,7 +206,6 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
207206
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
208207
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
209208
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
210-
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
211209
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
212210
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
213211
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

transport/grpc/dial.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import (
1717
"strings"
1818

1919
"cloud.google.com/go/compute/metadata"
20-
"go.opencensus.io/plugin/ocgrpc"
2120
"golang.org/x/oauth2"
2221
"google.golang.org/api/internal"
2322
"google.golang.org/api/option"
@@ -203,10 +202,7 @@ func dial(ctx context.Context, insecure bool, o *internal.DialSettings) (*grpc.C
203202
}
204203

205204
func addOCStatsHandler(opts []grpc.DialOption, settings *internal.DialSettings) []grpc.DialOption {
206-
if settings.TelemetryDisabled {
207-
return opts
208-
}
209-
return append(opts, grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
205+
return opts
210206
}
211207

212208
// grpcTokenSource supplies PerRPCCredentials from an oauth.TokenSource.

transport/http/dial.go

+1-9
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@ import (
1515
"net/http"
1616
"time"
1717

18-
"go.opencensus.io/plugin/ochttp"
1918
"golang.org/x/oauth2"
2019
"google.golang.org/api/googleapi/transport"
2120
"google.golang.org/api/internal"
2221
"google.golang.org/api/option"
2322
"google.golang.org/api/transport/cert"
24-
"google.golang.org/api/transport/http/internal/propagation"
2523
"google.golang.org/api/transport/internal/dca"
2624
)
2725

@@ -202,13 +200,7 @@ func fallbackBaseTransport() *http.Transport {
202200
}
203201

204202
func addOCTransport(trans http.RoundTripper, settings *internal.DialSettings) http.RoundTripper {
205-
if settings.TelemetryDisabled {
206-
return trans
207-
}
208-
return &ochttp.Transport{
209-
Base: trans,
210-
Propagation: &propagation.HTTPFormat{},
211-
}
203+
return trans
212204
}
213205

214206
// clonedTransport returns the given RoundTripper as a cloned *http.Transport.

transport/http/internal/propagation/http.go

+14-13
Original file line numberDiff line numberDiff line change
@@ -16,42 +16,43 @@ import (
1616
"net/http"
1717
"strconv"
1818
"strings"
19-
20-
"go.opencensus.io/trace"
21-
"go.opencensus.io/trace/propagation"
2219
)
2320

2421
const (
2522
httpHeaderMaxSize = 200
2623
httpHeader = `X-Cloud-Trace-Context`
2724
)
2825

29-
var _ propagation.HTTPFormat = (*HTTPFormat)(nil)
30-
3126
// HTTPFormat implements propagation.HTTPFormat to propagate
3227
// traces in HTTP headers for Google Cloud Platform and Stackdriver Trace.
3328
type HTTPFormat struct{}
3429

30+
type SpanContext struct {
31+
TraceID [16]byte
32+
SpanID [8]byte
33+
TraceOptions uint32
34+
}
35+
3536
// SpanContextFromRequest extracts a Stackdriver Trace span context from incoming requests.
36-
func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanContext, ok bool) {
37+
func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc SpanContext, ok bool) {
3738
h := req.Header.Get(httpHeader)
3839
// See https://cloud.google.com/trace/docs/faq for the header HTTPFormat.
3940
// Return if the header is empty or missing, or if the header is unreasonably
4041
// large, to avoid making unnecessary copies of a large string.
4142
if h == "" || len(h) > httpHeaderMaxSize {
42-
return trace.SpanContext{}, false
43+
return SpanContext{}, false
4344
}
4445

4546
// Parse the trace id field.
4647
slash := strings.Index(h, `/`)
4748
if slash == -1 {
48-
return trace.SpanContext{}, false
49+
return SpanContext{}, false
4950
}
5051
tid, h := h[:slash], h[slash+1:]
5152

5253
buf, err := hex.DecodeString(tid)
5354
if err != nil {
54-
return trace.SpanContext{}, false
55+
return SpanContext{}, false
5556
}
5657
copy(sc.TraceID[:], buf)
5758

@@ -63,7 +64,7 @@ func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanCon
6364
}
6465
sid, err := strconv.ParseUint(spanstr, 10, 64)
6566
if err != nil {
66-
return trace.SpanContext{}, false
67+
return SpanContext{}, false
6768
}
6869
binary.BigEndian.PutUint64(sc.SpanID[:], sid)
6970

@@ -73,14 +74,14 @@ func (f *HTTPFormat) SpanContextFromRequest(req *http.Request) (sc trace.SpanCon
7374
}
7475
o, err := strconv.ParseUint(h[2:], 10, 64)
7576
if err != nil {
76-
return trace.SpanContext{}, false
77+
return SpanContext{}, false
7778
}
78-
sc.TraceOptions = trace.TraceOptions(o)
79+
sc.TraceOptions = uint32(o)
7980
return sc, true
8081
}
8182

8283
// SpanContextToRequest modifies the given request to include a Stackdriver Trace header.
83-
func (f *HTTPFormat) SpanContextToRequest(sc trace.SpanContext, req *http.Request) {
84+
func (f *HTTPFormat) SpanContextToRequest(sc SpanContext, req *http.Request) {
8485
sid := binary.BigEndian.Uint64(sc.SpanID[:])
8586
header := fmt.Sprintf("%s/%d;o=%d", hex.EncodeToString(sc.TraceID[:]), sid, int64(sc.TraceOptions))
8687
req.Header.Set(httpHeader, header)

transport/http/internal/propagation/http_test.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ import (
1111
"net/http"
1212
"reflect"
1313
"testing"
14-
15-
"go.opencensus.io/trace"
1614
)
1715

1816
func TestHTTPFormat(t *testing.T) {
@@ -22,19 +20,19 @@ func TestHTTPFormat(t *testing.T) {
2220
spanID2 := [8]byte{0, 0, 0, 0, 0, 0, 0, 123}
2321
tests := []struct {
2422
incoming string
25-
wantSpanContext trace.SpanContext
23+
wantSpanContext SpanContext
2624
}{
2725
{
2826
incoming: "105445aa7843bc8bf206b12000100000/18374686479671623803;o=1",
29-
wantSpanContext: trace.SpanContext{
27+
wantSpanContext: SpanContext{
3028
TraceID: traceID,
3129
SpanID: spanID1,
3230
TraceOptions: 1,
3331
},
3432
},
3533
{
3634
incoming: "105445aa7843bc8bf206b12000100000/123;o=0",
37-
wantSpanContext: trace.SpanContext{
35+
wantSpanContext: SpanContext{
3836
TraceID: traceID,
3937
SpanID: spanID2,
4038
TraceOptions: 0,

0 commit comments

Comments
 (0)