Skip to content

Commit

Permalink
Update google.golang.org/grpc/otelgrpc instrumentation to not accept …
Browse files Browse the repository at this point in the history
…Tracer (#373)

* Update google.golang.org/grpc/otelgrpc

* Add changes to changelog

* Update example

* Clean unused const in benchmark_test.go
  • Loading branch information
MrAlias committed Oct 6, 2020
1 parent 8244cc7 commit a59885b
Show file tree
Hide file tree
Showing 12 changed files with 132 additions and 85 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## Changed

- The `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc` package instrumentation no longer accepts a `Tracer` as an argument to the interceptor function.
Instead, a new `WithTracerProvider` option is added to configure the `TracerProvider` used when creating the `Tracer` for the instrumentation. (#373)
- Remove `go.opentelemetry.io/otel/sdk` dependency from instrumentation. (#381)

### Fixed
Expand Down
23 changes: 14 additions & 9 deletions instrumentation/google.golang.org/grpc/otelgrpc/benchmark_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,9 @@ import (
"go.opentelemetry.io/otel/api/trace/tracetest"
)

const (
bufSize = 2048
instName = "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
)
const bufSize = 2048

var tracer = tracetest.NewTracerProvider().Tracer(instName)
var tracerProvider = tracetest.NewTracerProvider()

func benchmark(b *testing.B, cOpt []grpc.DialOption, sOpt []grpc.ServerOption) {
l := bufconn.Listen(bufSize)
Expand Down Expand Up @@ -85,24 +82,32 @@ func BenchmarkNoInstrumentation(b *testing.B) {

func BenchmarkUnaryServerInterceptor(b *testing.B) {
benchmark(b, nil, []grpc.ServerOption{
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor(tracer)),
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor(
otelgrpc.WithTracerProvider(tracerProvider),
)),
})
}

func BenchmarkStreamServerInterceptor(b *testing.B) {
benchmark(b, nil, []grpc.ServerOption{
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor(tracer)),
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor(
otelgrpc.WithTracerProvider(tracerProvider),
)),
})
}

func BenchmarkUnaryClientInterceptor(b *testing.B) {
benchmark(b, []grpc.DialOption{
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(tracer)),
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(
otelgrpc.WithTracerProvider(tracerProvider),
)),
}, nil)
}

func BenchmarkStreamClientInterceptor(b *testing.B) {
benchmark(b, []grpc.DialOption{
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(tracer)),
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(
otelgrpc.WithTracerProvider(tracerProvider),
)),
}, nil)
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import (

"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example/api"
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example/config"
"go.opentelemetry.io/otel/api/global"

"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"

Expand All @@ -35,8 +34,8 @@ func main() {

var conn *grpc.ClientConn
conn, err := grpc.Dial(":7777", grpc.WithInsecure(),
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(global.Tracer(""))),
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(global.Tracer(""))),
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),
)

if err != nil {
Expand Down
11 changes: 11 additions & 0 deletions instrumentation/google.golang.org/grpc/otelgrpc/example/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
Expand All @@ -33,12 +35,19 @@ github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
go.opentelemetry.io/contrib v0.12.0 h1:vLtYifaYQD8i9ncT07vLqUmo2RivECfpNJ2kv3YKnK0=
go.opentelemetry.io/contrib v0.12.0/go.mod h1:onlxH6TKFRkW2Xgc5IO37kPYz3v7wMzh/FrBxsQxCt4=
go.opentelemetry.io/otel v0.12.0 h1:bwWaPd/h2q+U6KdKaAiOS5GLwOMd1LDt9iNaeyIoAI8=
go.opentelemetry.io/otel v0.12.0/go.mod h1:dlSNewoRYikTkotEnxdmuBHgzT+k/idJSfDv/FxEnOY=
go.opentelemetry.io/otel/exporters/stdout v0.12.0 h1:ji9VVPmKg+oONcqwULcO0AHZseGU6CFOIdvwKCxNZ9Y=
Expand Down Expand Up @@ -96,6 +105,8 @@ google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyz
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import (

"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example/api"
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example/config"
"go.opentelemetry.io/otel/api/global"

"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"

Expand Down Expand Up @@ -118,8 +117,8 @@ func main() {
}

s := grpc.NewServer(
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor(global.Tracer(""))),
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor(global.Tracer(""))),
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor()),
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor()),
)

api.RegisterHelloServiceServer(s, &server{})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,20 @@ package otelgrpc

import (
"google.golang.org/grpc"

"go.opentelemetry.io/otel/api/global"
)

func ExampleStreamClientInterceptor() {
tracer := global.Tracer("client-instrumentation")
_, _ = grpc.Dial(
"localhost",
grpc.WithStreamInterceptor(StreamClientInterceptor(tracer)),
)
_, _ = grpc.Dial("localhost", grpc.WithStreamInterceptor(StreamClientInterceptor()))
}

func ExampleUnaryClientInterceptor() {
tracer := global.Tracer("client-instrumentation")
_, _ = grpc.Dial(
"localhost",
grpc.WithUnaryInterceptor(UnaryClientInterceptor(tracer)),
)
_, _ = grpc.Dial("localhost", grpc.WithUnaryInterceptor(UnaryClientInterceptor()))
}

func ExampleStreamServerInterceptor() {
tracer := global.Tracer("server-instrumentation")
_ = grpc.NewServer(
grpc.StreamInterceptor(StreamServerInterceptor(tracer)),
)
_ = grpc.NewServer(grpc.StreamInterceptor(StreamServerInterceptor()))
}

func ExampleUnaryServerInterceptor() {
tracer := global.Tracer("server-instrumentation")
_ = grpc.NewServer(
grpc.UnaryInterceptor(UnaryServerInterceptor(tracer)),
)
_ = grpc.NewServer(grpc.UnaryInterceptor(UnaryServerInterceptor()))
}
3 changes: 3 additions & 0 deletions instrumentation/google.golang.org/grpc/otelgrpc/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ module go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgr

go 1.14

replace go.opentelemetry.io/contrib => ../../../../

require (
github.com/golang/protobuf v1.4.2
github.com/stretchr/testify v1.6.1
go.opentelemetry.io/contrib v0.12.0
go.opentelemetry.io/otel v0.12.0
google.golang.org/grpc v1.32.0
)
9 changes: 9 additions & 0 deletions instrumentation/google.golang.org/grpc/otelgrpc/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
Expand All @@ -27,6 +29,11 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
Expand Down Expand Up @@ -81,6 +88,8 @@ google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyz
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
43 changes: 16 additions & 27 deletions instrumentation/google.golang.org/grpc/otelgrpc/grpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import (
"google.golang.org/grpc/test/bufconn"

"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
"go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/api/trace/tracetest"
"go.opentelemetry.io/otel/label"
"go.opentelemetry.io/otel/semconv"
Expand Down Expand Up @@ -73,51 +72,50 @@ func doCalls(cOpt []grpc.DialOption, sOpt []grpc.ServerOption) error {

func TestInterceptors(t *testing.T) {
clientUnarySR := new(tracetest.StandardSpanRecorder)
clientUnaryTracer := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(clientUnarySR)).Tracer("TestUnaryClientInterceptor")
clientUnaryTP := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(clientUnarySR))

clientStreamSR := new(tracetest.StandardSpanRecorder)
clientStreamTracer := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(clientStreamSR)).Tracer("TestStreamClientInterceptor")
clientStreamTP := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(clientStreamSR))

serverUnarySR := new(tracetest.StandardSpanRecorder)
serverUnaryTracer := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(serverUnarySR)).Tracer("TestUnaryServerInterceptor")
serverUnaryTP := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(serverUnarySR))

serverStreamSR := new(tracetest.StandardSpanRecorder)
serverStreamTracer := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(serverStreamSR)).Tracer("TestStreamServerInterceptor")
serverStreamTP := tracetest.NewTracerProvider(tracetest.WithSpanRecorder(serverStreamSR))

assert.NoError(t, doCalls(
[]grpc.DialOption{
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(clientUnaryTracer)),
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(clientStreamTracer)),
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(otelgrpc.WithTracerProvider(clientUnaryTP))),
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(otelgrpc.WithTracerProvider(clientStreamTP))),
},
[]grpc.ServerOption{
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor(serverUnaryTracer)),
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor(serverStreamTracer)),
grpc.UnaryInterceptor(otelgrpc.UnaryServerInterceptor(otelgrpc.WithTracerProvider(serverUnaryTP))),
grpc.StreamInterceptor(otelgrpc.StreamServerInterceptor(otelgrpc.WithTracerProvider(serverStreamTP))),
},
))

t.Run("UnaryClientSpans", func(t *testing.T) {
checkUnaryClientSpans(t, clientUnaryTracer, clientUnarySR.Completed())
checkUnaryClientSpans(t, clientUnarySR.Completed())
})

t.Run("StreamClientSpans", func(t *testing.T) {
checkStreamClientSpans(t, clientStreamTracer, clientStreamSR.Completed())
checkStreamClientSpans(t, clientStreamSR.Completed())
})

t.Run("UnaryServerSpans", func(t *testing.T) {
checkUnaryServerSpans(t, serverUnaryTracer, serverUnarySR.Completed())
checkUnaryServerSpans(t, serverUnarySR.Completed())
})

t.Run("StreamServerSpans", func(t *testing.T) {
checkStreamServerSpans(t, serverStreamTracer, serverStreamSR.Completed())
checkStreamServerSpans(t, serverStreamSR.Completed())
})
}

func checkUnaryClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest.Span) {
func checkUnaryClientSpans(t *testing.T, spans []*tracetest.Span) {
require.Len(t, spans, 2)

emptySpan := spans[0]
assert.True(t, emptySpan.Ended())
assert.Equal(t, tracer, emptySpan.Tracer())
assert.Equal(t, "grpc.testing.TestService/EmptyCall", emptySpan.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down Expand Up @@ -145,7 +143,6 @@ func checkUnaryClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest

largeSpan := spans[1]
assert.True(t, largeSpan.Ended())
assert.Equal(t, tracer, largeSpan.Tracer())
assert.Equal(t, "grpc.testing.TestService/UnaryCall", largeSpan.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down Expand Up @@ -174,12 +171,11 @@ func checkUnaryClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest
}, largeSpan.Attributes())
}

func checkStreamClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest.Span) {
func checkStreamClientSpans(t *testing.T, spans []*tracetest.Span) {
require.Len(t, spans, 3)

streamInput := spans[0]
assert.True(t, streamInput.Ended())
assert.Equal(t, tracer, streamInput.Tracer())
assert.Equal(t, "grpc.testing.TestService/StreamingInputCall", streamInput.Name())
// sizes from reqSizes in "google.golang.org/grpc/interop".
assert.Equal(t, []tracetest.Event{
Expand Down Expand Up @@ -225,7 +221,6 @@ func checkStreamClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes

streamOutput := spans[1]
assert.True(t, streamOutput.Ended())
assert.Equal(t, tracer, streamOutput.Tracer())
assert.Equal(t, "grpc.testing.TestService/StreamingOutputCall", streamOutput.Name())
// sizes from respSizes in "google.golang.org/grpc/interop".
assert.Equal(t, []tracetest.Event{
Expand Down Expand Up @@ -278,7 +273,6 @@ func checkStreamClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes

pingPong := spans[2]
assert.True(t, pingPong.Ended())
assert.Equal(t, tracer, pingPong.Tracer())
assert.Equal(t, "grpc.testing.TestService/FullDuplexCall", pingPong.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down Expand Up @@ -353,12 +347,11 @@ func checkStreamClientSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes
}, pingPong.Attributes())
}

func checkStreamServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest.Span) {
func checkStreamServerSpans(t *testing.T, spans []*tracetest.Span) {
require.Len(t, spans, 3)

streamInput := spans[0]
assert.True(t, streamInput.Ended())
assert.Equal(t, tracer, streamInput.Tracer())
assert.Equal(t, "grpc.testing.TestService/StreamingInputCall", streamInput.Name())
// sizes from reqSizes in "google.golang.org/grpc/interop".
assert.Equal(t, []tracetest.Event{
Expand Down Expand Up @@ -411,7 +404,6 @@ func checkStreamServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes

streamOutput := spans[1]
assert.True(t, streamOutput.Ended())
assert.Equal(t, tracer, streamOutput.Tracer())
assert.Equal(t, "grpc.testing.TestService/StreamingOutputCall", streamOutput.Name())
// sizes from respSizes in "google.golang.org/grpc/interop".
assert.Equal(t, []tracetest.Event{
Expand Down Expand Up @@ -464,7 +456,6 @@ func checkStreamServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes

pingPong := spans[2]
assert.True(t, pingPong.Ended())
assert.Equal(t, tracer, pingPong.Tracer())
assert.Equal(t, "grpc.testing.TestService/FullDuplexCall", pingPong.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down Expand Up @@ -539,12 +530,11 @@ func checkStreamServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetes
}, pingPong.Attributes())
}

func checkUnaryServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest.Span) {
func checkUnaryServerSpans(t *testing.T, spans []*tracetest.Span) {
require.Len(t, spans, 2)

emptySpan := spans[0]
assert.True(t, emptySpan.Ended())
assert.Equal(t, tracer, emptySpan.Tracer())
assert.Equal(t, "grpc.testing.TestService/EmptyCall", emptySpan.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down Expand Up @@ -572,7 +562,6 @@ func checkUnaryServerSpans(t *testing.T, tracer trace.Tracer, spans []*tracetest

largeSpan := spans[1]
assert.True(t, largeSpan.Ended())
assert.Equal(t, tracer, largeSpan.Tracer())
assert.Equal(t, "grpc.testing.TestService/UnaryCall", largeSpan.Name())
assert.Equal(t, []tracetest.Event{
{
Expand Down
Loading

0 comments on commit a59885b

Please sign in to comment.