From 9a80814cb794576b9548d27b53171f81f4a03542 Mon Sep 17 00:00:00 2001 From: Yas Okada Date: Thu, 1 Oct 2020 11:08:07 +0900 Subject: [PATCH] Update otel to v0.12.0 --- Makefile | 2 +- example/metric/example.go | 2 +- example/metric/go.mod | 4 ++-- example/metric/go.sum | 12 ++++++------ example/trace/http/client/client.go | 8 ++++---- example/trace/http/go.mod | 6 +++--- example/trace/http/go.sum | 24 +++++++++++------------ example/trace/http/server/server.go | 2 +- exporter/metric/go.mod | 5 ++--- exporter/metric/go.sum | 6 ++++++ exporter/metric/metric.go | 2 +- exporter/metric/metric_test.go | 2 +- exporter/trace/cloudtrace.go | 30 +++++++++++++++-------------- exporter/trace/cloudtrace_test.go | 12 ++++++------ exporter/trace/go.mod | 6 +++--- exporter/trace/go.sum | 8 ++++++++ 16 files changed, 73 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index bc16cb7d9..f32a198c4 100644 --- a/Makefile +++ b/Makefile @@ -133,7 +133,7 @@ update-dep: $(MAKE) build $(MAKE) gotidy -OTEL_VERSION=v0.11.0 +OTEL_VERSION=v0.12.0 .PHONY: update-otel update-otel: diff --git a/example/metric/example.go b/example/metric/example.go index 1933cdcc3..d90097962 100644 --- a/example/metric/example.go +++ b/example/metric/example.go @@ -76,7 +76,7 @@ func main() { // Start meter ctx := context.Background() - meter := pusher.Provider().Meter("cloudmonitoring/example") + meter := pusher.MeterProvider().Meter("cloudmonitoring/example") // Register counter value counter := metric.Must(meter).NewInt64Counter("counter-a") diff --git a/example/metric/go.mod b/example/metric/go.mod index 0681a3daa..9677aaf57 100644 --- a/example/metric/go.mod +++ b/example/metric/go.mod @@ -6,6 +6,6 @@ replace github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metr require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.11.0 - go.opentelemetry.io/otel v0.11.0 - go.opentelemetry.io/otel/sdk v0.11.0 + go.opentelemetry.io/otel v0.12.0 + go.opentelemetry.io/otel/sdk v0.12.0 ) diff --git a/example/metric/go.sum b/example/metric/go.sum index 86da3a3b4..8c5f7b351 100644 --- a/example/metric/go.sum +++ b/example/metric/go.sum @@ -143,10 +143,10 @@ go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/otel v0.11.0 h1:IN2tzQa9Gc4ZVKnTaMbPVcHjvzOdg5n9QfnmlqiET7E= -go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0= -go.opentelemetry.io/otel/sdk v0.11.0 h1:bkDMymVj6gIkPfgC5ci5atq0OYbfUHSn8NvsmyfyMq4= -go.opentelemetry.io/otel/sdk v0.11.0/go.mod h1:XbZ6MrzIZ+d+qr7pH0FwHIbCnANMvXYgkq4afL/IUMQ= +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/sdk v0.12.0 h1:YVUyDXsGvFWjhJxGXT4kBcGdfoTbo1vSGjbGRUdRh5U= +go.opentelemetry.io/otel/sdk v0.12.0/go.mod h1:u3joRdxhrS1hUf9xSFH8vgdXdujQ3jxXxZl3loZFSqs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -385,8 +385,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1 h1:SfXqXS5hkufcdZ/mHtYCh53P2b+92WQq/DZcKLgsFRs= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/example/trace/http/client/client.go b/example/trace/http/client/client.go index c442ae503..84b808fe8 100644 --- a/example/trace/http/client/client.go +++ b/example/trace/http/client/client.go @@ -27,8 +27,8 @@ import ( "go.opentelemetry.io/otel/codes" - otelhttp "go.opentelemetry.io/contrib/instrumentation/net/http" - "go.opentelemetry.io/otel/api/correlation" + "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" + "go.opentelemetry.io/otel/api/baggage" "go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/label" @@ -57,10 +57,10 @@ func initTracer() func() { func main() { flush := initTracer() defer flush() - tr := global.TraceProvider().Tracer("cloudtrace/example/client") + tr := global.TracerProvider().Tracer("cloudtrace/example/client") client := http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} - ctx := correlation.NewContext(context.Background(), + ctx := baggage.NewContext(context.Background(), label.String("username", "donuts"), ) diff --git a/example/trace/http/go.mod b/example/trace/http/go.mod index cf4930d72..c6634e7a5 100644 --- a/example/trace/http/go.mod +++ b/example/trace/http/go.mod @@ -6,8 +6,8 @@ replace github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trac require ( github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v0.11.0 - go.opentelemetry.io/contrib/instrumentation/net/http v0.11.0 - go.opentelemetry.io/otel v0.11.0 - go.opentelemetry.io/otel/sdk v0.11.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.12.0 + go.opentelemetry.io/otel v0.12.0 + go.opentelemetry.io/otel/sdk v0.12.0 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 // indirect ) diff --git a/example/trace/http/go.sum b/example/trace/http/go.sum index 64e131dfb..6fa8a7dcc 100644 --- a/example/trace/http/go.sum +++ b/example/trace/http/go.sum @@ -88,8 +88,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k= -github.com/google/go-cmp v0.5.1/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/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -134,14 +134,14 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/contrib v0.11.0 h1:EQOdk+fxs7qp3wVIS5wCinwqNHfhD/DreQRY/VADO8s= -go.opentelemetry.io/contrib v0.11.0/go.mod h1:ZE6zLnhbB+AmcDlcG57gEbtyUasUiaeppcDfBcrZabY= -go.opentelemetry.io/contrib/instrumentation/net/http v0.11.0 h1:ufewgDRmtrrdDpPgm7b4/gr4RXLS7KhDttAhyThtYS4= -go.opentelemetry.io/contrib/instrumentation/net/http v0.11.0/go.mod h1:SBUSwgw/714EVSKHaAttjlJqbBv1YkUi+qdaN1oxMGE= -go.opentelemetry.io/otel v0.11.0 h1:IN2tzQa9Gc4ZVKnTaMbPVcHjvzOdg5n9QfnmlqiET7E= -go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0= -go.opentelemetry.io/otel/sdk v0.11.0 h1:bkDMymVj6gIkPfgC5ci5atq0OYbfUHSn8NvsmyfyMq4= -go.opentelemetry.io/otel/sdk v0.11.0/go.mod h1:XbZ6MrzIZ+d+qr7pH0FwHIbCnANMvXYgkq4afL/IUMQ= +go.opentelemetry.io/contrib v0.12.0 h1:vLtYifaYQD8i9ncT07vLqUmo2RivECfpNJ2kv3YKnK0= +go.opentelemetry.io/contrib v0.12.0/go.mod h1:onlxH6TKFRkW2Xgc5IO37kPYz3v7wMzh/FrBxsQxCt4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.12.0 h1:MlJBwZ+FZYZqrUUr9hUO/8RrGFMT3Aos6k82UwLfBb8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.12.0/go.mod h1:h7OH5woH8YpaEpJkBpGeo9OzNDjT5fYpLdIC7JD1WX4= +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/sdk v0.12.0 h1:YVUyDXsGvFWjhJxGXT4kBcGdfoTbo1vSGjbGRUdRh5U= +go.opentelemetry.io/otel/sdk v0.12.0/go.mod h1:u3joRdxhrS1hUf9xSFH8vgdXdujQ3jxXxZl3loZFSqs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -362,8 +362,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/example/trace/http/server/server.go b/example/trace/http/server/server.go index d97c1b87c..d171f01d1 100644 --- a/example/trace/http/server/server.go +++ b/example/trace/http/server/server.go @@ -20,7 +20,7 @@ import ( "net/http" "os" - otelhttp "go.opentelemetry.io/contrib/instrumentation/net/http" + otelhttp "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.opentelemetry.io/otel/api/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace" diff --git a/exporter/metric/go.mod b/exporter/metric/go.mod index 3357d5e39..20a2f5a79 100644 --- a/exporter/metric/go.mod +++ b/exporter/metric/go.mod @@ -9,12 +9,11 @@ require ( github.com/google/go-cmp v0.5.2 // indirect github.com/googleinterns/cloud-operations-api-mock v0.0.0-20200709193332-a1e58c29bdd3 github.com/stretchr/testify v1.6.1 - go.opentelemetry.io/otel v0.11.0 - go.opentelemetry.io/otel/sdk v0.11.0 + go.opentelemetry.io/otel v0.12.0 + go.opentelemetry.io/otel/sdk v0.12.0 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d golang.org/x/sys v0.0.0-20200828194041-157a740278f4 // indirect google.golang.org/api v0.30.0 google.golang.org/genproto v0.0.0-20200831141814-d751682dd103 - google.golang.org/grpc v1.31.1 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/exporter/metric/go.sum b/exporter/metric/go.sum index b73f20449..b85e9d719 100644 --- a/exporter/metric/go.sum +++ b/exporter/metric/go.sum @@ -151,8 +151,12 @@ go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/otel v0.11.0 h1:IN2tzQa9Gc4ZVKnTaMbPVcHjvzOdg5n9QfnmlqiET7E= go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0= +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/sdk v0.11.0 h1:bkDMymVj6gIkPfgC5ci5atq0OYbfUHSn8NvsmyfyMq4= go.opentelemetry.io/otel/sdk v0.11.0/go.mod h1:XbZ6MrzIZ+d+qr7pH0FwHIbCnANMvXYgkq4afL/IUMQ= +go.opentelemetry.io/otel/sdk v0.12.0 h1:YVUyDXsGvFWjhJxGXT4kBcGdfoTbo1vSGjbGRUdRh5U= +go.opentelemetry.io/otel/sdk v0.12.0/go.mod h1:u3joRdxhrS1hUf9xSFH8vgdXdujQ3jxXxZl3loZFSqs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -406,6 +410,8 @@ google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1 h1:SfXqXS5hkufcdZ/mHtYCh53P2b+92WQq/DZcKLgsFRs= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/exporter/metric/metric.go b/exporter/metric/metric.go index 3b4deda38..36d3eb86f 100644 --- a/exporter/metric/metric.go +++ b/exporter/metric/metric.go @@ -148,7 +148,7 @@ func InstallNewPipeline(opts []Option, popts ...push.Option) (*push.Controller, if err != nil { return nil, err } - global.SetMeterProvider(pusher.Provider()) + global.SetMeterProvider(pusher.MeterProvider()) return pusher, err } diff --git a/exporter/metric/metric_test.go b/exporter/metric/metric_test.go index 54e5d2926..d8de759fa 100644 --- a/exporter/metric/metric_test.go +++ b/exporter/metric/metric_test.go @@ -98,7 +98,7 @@ func TestExportCounter(t *testing.T) { // Start meter ctx := context.Background() - meter := pusher.Provider().Meter("cloudmonitoring/test") + meter := pusher.MeterProvider().Meter("cloudmonitoring/test") // Register counter value counter := metric.Must(meter).NewInt64Counter("counter-a") diff --git a/exporter/trace/cloudtrace.go b/exporter/trace/cloudtrace.go index 48afe4430..8a1197745 100644 --- a/exporter/trace/cloudtrace.go +++ b/exporter/trace/cloudtrace.go @@ -233,26 +233,23 @@ type Exporter struct { } // InstallNewPipeline instantiates a NewExportPipeline and registers it globally. -func InstallNewPipeline(opts []Option, topts ...sdktrace.ProviderOption) (apitrace.Provider, func(), error) { +func InstallNewPipeline(opts []Option, topts ...sdktrace.TracerProviderOption) (apitrace.TracerProvider, func(), error) { tp, flush, err := NewExportPipeline(opts, topts...) if err != nil { return nil, nil, err } - global.SetTraceProvider(tp) + global.SetTracerProvider(tp) return tp, flush, err } // NewExportPipeline sets up a complete export pipeline with the recommended setup // for trace provider. Returns provider, flush function, and errors. -func NewExportPipeline(opts []Option, topts ...sdktrace.ProviderOption) (apitrace.Provider, func(), error) { +func NewExportPipeline(opts []Option, topts ...sdktrace.TracerProviderOption) (apitrace.TracerProvider, func(), error) { exporter, err := NewExporter(opts...) if err != nil { return nil, nil, err } - tp, err := sdktrace.NewProvider(append(topts, sdktrace.WithSyncer(exporter))...) - if err != nil { - return nil, nil, err - } + tp := sdktrace.NewTracerProvider(append(topts, sdktrace.WithSyncer(exporter))...) return tp, exporter.traceExporter.Flush, nil } @@ -292,20 +289,25 @@ func newContextWithTimeout(ctx context.Context, timeout time.Duration) (context. return context.WithTimeout(ctx, timeout) } -// ExportSpan exports a SpanData to Stackdriver Trace. -func (e *Exporter) ExportSpan(ctx context.Context, sd *export.SpanData) { - if len(e.traceExporter.o.DefaultTraceAttributes) > 0 { - sd = e.sdWithDefaultTraceAttributes(sd) +// ExportSpans exports a SpanData to Stackdriver Trace. +func (e *Exporter) ExportSpans(ctx context.Context, spanData []*export.SpanData) error { + for _, sd := range spanData { + if len(e.traceExporter.o.DefaultTraceAttributes) > 0 { + sd = e.sdWithDefaultTraceAttributes(sd) + } + e.traceExporter.ExportSpan(ctx, sd) } - e.traceExporter.ExportSpan(ctx, sd) + + return nil } -// Flush waits for exported data to be uploaded. +// Shutdown waits for exported data to be uploaded. // // This is useful if your program is ending and you do not // want to lose recent spans. -func (e *Exporter) Flush() { +func (e *Exporter) Shutdown(ctx context.Context) error { e.traceExporter.Flush() + return nil } func (e *Exporter) sdWithDefaultTraceAttributes(sd *export.SpanData) *export.SpanData { diff --git a/exporter/trace/cloudtrace_test.go b/exporter/trace/cloudtrace_test.go index cf2c20491..6228db7ce 100644 --- a/exporter/trace/cloudtrace_test.go +++ b/exporter/trace/cloudtrace_test.go @@ -54,12 +54,12 @@ func TestExporter_ExportSpan(t *testing.T) { ) assert.NoError(t, err) - _, span := global.TraceProvider().Tracer("test-tracer").Start(context.Background(), "test-span") + _, span := global.TracerProvider().Tracer("test-tracer").Start(context.Background(), "test-span") span.SetStatus(codes.OK, "Status Message") span.End() assert.True(t, span.SpanContext().IsValid()) - _, span = global.TraceProvider().Tracer("test-tracer").Start(context.Background(), "test-span-with-error-status") + _, span = global.TracerProvider().Tracer("test-tracer").Start(context.Background(), "test-span-with-error-status") span.SetStatus(codes.NotFound, "Error Message") span.End() @@ -93,7 +93,7 @@ func TestExporter_DisplayNameFormatter(t *testing.T) { ) assert.NoError(t, err) - _, span := global.TraceProvider().Tracer("test-tracer").Start(context.Background(), spanName) + _, span := global.TracerProvider().Tracer("test-tracer").Start(context.Background(), spanName) span.End() assert.True(t, span.SpanContext().IsValid()) @@ -127,7 +127,7 @@ func TestExporter_Timeout(t *testing.T) { ) assert.NoError(t, err) - _, span := global.TraceProvider().Tracer("test-tracer").Start(context.Background(), "test-span") + _, span := global.TracerProvider().Tracer("test-tracer").Start(context.Background(), "test-span") span.End() assert.True(t, span.SpanContext().IsValid()) @@ -165,7 +165,7 @@ func TestBundling(t *testing.T) { assert.NoError(t, err) for i := 0; i < 35; i++ { - _, span := global.TraceProvider().Tracer("test-tracer").Start(context.Background(), "test-span") + _, span := global.TracerProvider().Tracer("test-tracer").Start(context.Background(), "test-span") span.End() } @@ -232,7 +232,7 @@ func TestBundling_ConcurrentExports(t *testing.T) { go func() { // Release enough spans to form two bundles for i := 0; i < totalSpans; i++ { - _, span := global.TraceProvider().Tracer("test-tracer").Start(context.Background(), "test-span") + _, span := global.TracerProvider().Tracer("test-tracer").Start(context.Background(), "test-span") expectedSpanIDs = append(expectedSpanIDs, span.SpanContext().SpanID.String()) span.End() } diff --git a/exporter/trace/go.mod b/exporter/trace/go.mod index dd44bb4f7..b8158bdf8 100644 --- a/exporter/trace/go.mod +++ b/exporter/trace/go.mod @@ -7,11 +7,11 @@ require ( github.com/golang/protobuf v1.4.2 github.com/googleinterns/cloud-operations-api-mock v0.0.0-20200709193332-a1e58c29bdd3 github.com/stretchr/testify v1.6.1 - go.opentelemetry.io/otel v0.11.0 - go.opentelemetry.io/otel/sdk v0.11.0 + go.opentelemetry.io/otel v0.12.0 + go.opentelemetry.io/otel/sdk v0.12.0 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d google.golang.org/api v0.29.0 google.golang.org/genproto v0.0.0-20200715011427-11fb19a81f2c - google.golang.org/grpc v1.31.0 + google.golang.org/grpc v1.32.0 google.golang.org/protobuf v1.25.0 ) diff --git a/exporter/trace/go.sum b/exporter/trace/go.sum index d02cfd1ff..bd602d150 100644 --- a/exporter/trace/go.sum +++ b/exporter/trace/go.sum @@ -87,6 +87,8 @@ github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k= github.com/google/go-cmp v0.5.1/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/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -133,8 +135,12 @@ go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/otel v0.11.0 h1:IN2tzQa9Gc4ZVKnTaMbPVcHjvzOdg5n9QfnmlqiET7E= go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0= +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/sdk v0.11.0 h1:bkDMymVj6gIkPfgC5ci5atq0OYbfUHSn8NvsmyfyMq4= go.opentelemetry.io/otel/sdk v0.11.0/go.mod h1:XbZ6MrzIZ+d+qr7pH0FwHIbCnANMvXYgkq4afL/IUMQ= +go.opentelemetry.io/otel/sdk v0.12.0 h1:YVUyDXsGvFWjhJxGXT4kBcGdfoTbo1vSGjbGRUdRh5U= +go.opentelemetry.io/otel/sdk v0.12.0/go.mod h1:u3joRdxhrS1hUf9xSFH8vgdXdujQ3jxXxZl3loZFSqs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -356,6 +362,8 @@ google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=