From f746dea18fecf3a93c38a93ed6661fbe6ca6b2e3 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Mon, 28 Mar 2022 14:11:23 -0700 Subject: [PATCH 1/7] Upgrade go.opentelemetry.io/proto to v0.15.0 --- example/otel-collector/go.sum | 4 ++-- exporters/otlp/otlpmetric/go.mod | 2 +- exporters/otlp/otlpmetric/go.sum | 4 ++-- exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod | 2 +- exporters/otlp/otlpmetric/otlpmetricgrpc/go.sum | 4 ++-- exporters/otlp/otlpmetric/otlpmetrichttp/go.mod | 2 +- exporters/otlp/otlpmetric/otlpmetrichttp/go.sum | 4 ++-- exporters/otlp/otlptrace/go.mod | 2 +- exporters/otlp/otlptrace/go.sum | 4 ++-- exporters/otlp/otlptrace/otlptracegrpc/go.mod | 2 +- exporters/otlp/otlptrace/otlptracegrpc/go.sum | 4 ++-- exporters/otlp/otlptrace/otlptracehttp/go.mod | 2 +- exporters/otlp/otlptrace/otlptracehttp/go.sum | 4 ++-- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/example/otel-collector/go.sum b/example/otel-collector/go.sum index 89018ef5d58..1360dc0941e 100644 --- a/example/otel-collector/go.sum +++ b/example/otel-collector/go.sum @@ -160,8 +160,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= diff --git a/exporters/otlp/otlpmetric/go.mod b/exporters/otlp/otlpmetric/go.mod index 18d26170af7..fdab05efd87 100644 --- a/exporters/otlp/otlpmetric/go.mod +++ b/exporters/otlp/otlpmetric/go.mod @@ -10,7 +10,7 @@ require ( go.opentelemetry.io/otel/metric v0.28.0 go.opentelemetry.io/otel/sdk v1.6.1 go.opentelemetry.io/otel/sdk/metric v0.28.0 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.28.0 ) diff --git a/exporters/otlp/otlpmetric/go.sum b/exporters/otlp/otlpmetric/go.sum index 2c77b390846..98fd383612f 100644 --- a/exporters/otlp/otlpmetric/go.sum +++ b/exporters/otlp/otlpmetric/go.sum @@ -163,8 +163,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod b/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod index d354381acc9..d643ecf73b9 100644 --- a/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod +++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod @@ -10,7 +10,7 @@ require ( go.opentelemetry.io/otel/metric v0.28.0 go.opentelemetry.io/otel/sdk v1.6.1 go.opentelemetry.io/otel/sdk/metric v0.28.0 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.28.0 diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/go.sum b/exporters/otlp/otlpmetric/otlpmetricgrpc/go.sum index 2c77b390846..98fd383612f 100644 --- a/exporters/otlp/otlpmetric/otlpmetricgrpc/go.sum +++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/go.sum @@ -163,8 +163,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod b/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod index 3cdee92b241..4b3c46a3f37 100644 --- a/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod +++ b/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod @@ -7,7 +7,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1 go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.28.0 go.opentelemetry.io/otel/sdk v1.6.1 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 google.golang.org/protobuf v1.28.0 ) diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/go.sum b/exporters/otlp/otlpmetric/otlpmetrichttp/go.sum index 2c77b390846..98fd383612f 100644 --- a/exporters/otlp/otlpmetric/otlpmetrichttp/go.sum +++ b/exporters/otlp/otlpmetric/otlpmetrichttp/go.sum @@ -163,8 +163,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= diff --git a/exporters/otlp/otlptrace/go.mod b/exporters/otlp/otlptrace/go.mod index b7a02218c69..54c622e3ea1 100644 --- a/exporters/otlp/otlptrace/go.mod +++ b/exporters/otlp/otlptrace/go.mod @@ -9,7 +9,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1 go.opentelemetry.io/otel/sdk v1.6.1 go.opentelemetry.io/otel/trace v1.6.1 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 google.golang.org/grpc v1.45.0 google.golang.org/protobuf v1.28.0 ) diff --git a/exporters/otlp/otlptrace/go.sum b/exporters/otlp/otlptrace/go.sum index a195bb61171..7f886d05d81 100644 --- a/exporters/otlp/otlptrace/go.sum +++ b/exporters/otlp/otlptrace/go.sum @@ -161,8 +161,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= diff --git a/exporters/otlp/otlptrace/otlptracegrpc/go.mod b/exporters/otlp/otlptrace/otlptracegrpc/go.mod index 22a9ea67b6d..35939459f37 100644 --- a/exporters/otlp/otlptrace/otlptracegrpc/go.mod +++ b/exporters/otlp/otlptrace/otlptracegrpc/go.mod @@ -8,7 +8,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1 go.opentelemetry.io/otel/sdk v1.6.1 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 go.uber.org/goleak v1.1.12 google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1 google.golang.org/grpc v1.45.0 diff --git a/exporters/otlp/otlptrace/otlptracegrpc/go.sum b/exporters/otlp/otlptrace/otlptracegrpc/go.sum index 936ae6ac805..ae12aff51b9 100644 --- a/exporters/otlp/otlptrace/otlptracegrpc/go.sum +++ b/exporters/otlp/otlptrace/otlptracegrpc/go.sum @@ -162,8 +162,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= diff --git a/exporters/otlp/otlptrace/otlptracehttp/go.mod b/exporters/otlp/otlptrace/otlptracehttp/go.mod index b3963de7e32..0e57f0a444d 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/go.mod +++ b/exporters/otlp/otlptrace/otlptracehttp/go.mod @@ -9,7 +9,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1 go.opentelemetry.io/otel/sdk v1.6.1 go.opentelemetry.io/otel/trace v1.6.1 - go.opentelemetry.io/proto/otlp v0.12.1 + go.opentelemetry.io/proto/otlp v0.15.0 google.golang.org/protobuf v1.28.0 ) diff --git a/exporters/otlp/otlptrace/otlptracehttp/go.sum b/exporters/otlp/otlptrace/otlptracehttp/go.sum index a195bb61171..7f886d05d81 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/go.sum +++ b/exporters/otlp/otlptrace/otlptracehttp/go.sum @@ -161,8 +161,8 @@ 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/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.12.1 h1:kfx2sboxOGFvGJcH2C408CiVo2wVHC2av2XHNqj4vEg= -go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= From 34b4f1ce8fc7ce4eba07c43cf1c05c6b1d139288 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Mon, 28 Mar 2022 14:13:56 -0700 Subject: [PATCH 2/7] Fix otlpmetric exporter test --- exporters/otlp/otlpmetric/exporter_test.go | 10 ++++++---- .../otlp/otlpmetric/internal/metrictransform/metric.go | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/exporters/otlp/otlpmetric/exporter_test.go b/exporters/otlp/otlpmetric/exporter_test.go index 2517d91d201..88dbee4fd7d 100644 --- a/exporters/otlp/otlpmetric/exporter_test.go +++ b/exporters/otlp/otlpmetric/exporter_test.go @@ -233,6 +233,7 @@ func TestHistogramInt64MetricGroupingExport(t *testing.T) { append(baseKeyValues, cpuKey.Int(1)), testLibName, ) + sum := 11.0 expected := []*metricpb.ResourceMetrics{ { Resource: nil, @@ -250,14 +251,14 @@ func TestHistogramInt64MetricGroupingExport(t *testing.T) { StartTimeUnixNano: startTime(), TimeUnixNano: pointTime(), Count: 2, - Sum: 11, + Sum: &sum, ExplicitBounds: testHistogramBoundaries, BucketCounts: []uint64{1, 0, 0, 1}, }, { Attributes: cpu1Labels, Count: 2, - Sum: 11, + Sum: &sum, ExplicitBounds: testHistogramBoundaries, BucketCounts: []uint64{1, 0, 0, 1}, StartTimeUnixNano: startTime(), @@ -283,6 +284,7 @@ func TestHistogramFloat64MetricGroupingExport(t *testing.T) { append(baseKeyValues, cpuKey.Int(1)), testLibName, ) + sum := 11.0 expected := []*metricpb.ResourceMetrics{ { Resource: nil, @@ -300,14 +302,14 @@ func TestHistogramFloat64MetricGroupingExport(t *testing.T) { StartTimeUnixNano: startTime(), TimeUnixNano: pointTime(), Count: 2, - Sum: 11.0, + Sum: &sum, ExplicitBounds: testHistogramBoundaries, BucketCounts: []uint64{1, 0, 0, 1}, }, { Attributes: cpu1Labels, Count: 2, - Sum: 11.0, + Sum: &sum, ExplicitBounds: testHistogramBoundaries, BucketCounts: []uint64{1, 0, 0, 1}, StartTimeUnixNano: startTime(), diff --git a/exporters/otlp/otlpmetric/internal/metrictransform/metric.go b/exporters/otlp/otlpmetric/internal/metrictransform/metric.go index 002bb64a997..065f45c9d10 100644 --- a/exporters/otlp/otlpmetric/internal/metrictransform/metric.go +++ b/exporters/otlp/otlpmetric/internal/metrictransform/metric.go @@ -415,6 +415,7 @@ func histogramPoint(record export.Record, temporality aggregation.Temporality, a return nil, err } + sumFloat64 := sum.CoerceToFloat64(desc.NumberKind()) m := &metricpb.Metric{ Name: desc.Name(), Description: desc.Description(), @@ -424,7 +425,7 @@ func histogramPoint(record export.Record, temporality aggregation.Temporality, a AggregationTemporality: sdkTemporalityToTemporality(temporality), DataPoints: []*metricpb.HistogramDataPoint{ { - Sum: sum.CoerceToFloat64(desc.NumberKind()), + Sum: &sumFloat64, Attributes: Iterator(labels.Iter()), StartTimeUnixNano: toNanos(record.StartTime()), TimeUnixNano: toNanos(record.EndTime()), From 683ccf705a0783ae8a9c548726913446e03e1e92 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 29 Mar 2022 08:49:51 -0700 Subject: [PATCH 3/7] Fix lint in otlpmetric --- exporters/otlp/otlpmetric/exporter_test.go | 48 +++++++++---------- .../internal/metrictransform/metric.go | 14 +++--- .../internal/otlpmetrictest/collector.go | 4 +- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/exporters/otlp/otlpmetric/exporter_test.go b/exporters/otlp/otlpmetric/exporter_test.go index 88dbee4fd7d..2ecde6acde7 100644 --- a/exporters/otlp/otlpmetric/exporter_test.go +++ b/exporters/otlp/otlpmetric/exporter_test.go @@ -191,7 +191,7 @@ func TestNoGroupingExport(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: nil, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -237,7 +237,7 @@ func TestHistogramInt64MetricGroupingExport(t *testing.T) { expected := []*metricpb.ResourceMetrics{ { Resource: nil, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -288,7 +288,7 @@ func TestHistogramFloat64MetricGroupingExport(t *testing.T) { expected := []*metricpb.ResourceMetrics{ { Resource: nil, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -343,7 +343,7 @@ func TestCountInt64MetricGroupingExport(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: nil, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -393,7 +393,7 @@ func TestCountFloat64MetricGroupingExport(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: nil, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -465,7 +465,7 @@ func TestResourceMetricGroupingExport(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: testerAResourcePb, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -566,9 +566,9 @@ func TestResourceInstLibMetricGroupingExport(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: testerAResourcePb, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { - InstrumentationLibrary: &commonpb.InstrumentationLibrary{ + Scope: &commonpb.InstrumentationScope{ Name: "counting-lib", Version: "v1", }, @@ -605,7 +605,7 @@ func TestResourceInstLibMetricGroupingExport(t *testing.T) { }, }, { - InstrumentationLibrary: &commonpb.InstrumentationLibrary{ + Scope: &commonpb.InstrumentationScope{ Name: "counting-lib", Version: "v2", }, @@ -630,7 +630,7 @@ func TestResourceInstLibMetricGroupingExport(t *testing.T) { }, }, { - InstrumentationLibrary: &commonpb.InstrumentationLibrary{ + Scope: &commonpb.InstrumentationScope{ Name: "summing-lib", }, SchemaUrl: "schurl", @@ -695,7 +695,7 @@ func TestStatelessAggregationTemporality(t *testing.T) { []*metricpb.ResourceMetrics{ { Resource: testerAResourcePb, - InstrumentationLibraryMetrics: []*metricpb.InstrumentationLibraryMetrics{ + ScopeMetrics: []*metricpb.ScopeMetrics{ { Metrics: []*metricpb.Metric{ { @@ -782,34 +782,34 @@ func runMetricExportTests(t *testing.T, opts []otlpmetric.Option, res *resource. // assert.ElementsMatch does not equate nested slices of different order, // therefore this requires the top level slice to be broken down. - // Build a map of Resource/InstrumentationLibrary pairs to Metrics, from - // that validate the metric elements match for all expected pairs. Finally, - // make we saw all expected pairs. - keyFor := func(ilm *metricpb.InstrumentationLibraryMetrics) string { - return fmt.Sprintf("%s/%s/%s", ilm.GetInstrumentationLibrary().GetName(), ilm.GetInstrumentationLibrary().GetVersion(), ilm.GetSchemaUrl()) + // Build a map of Resource/Scope pairs to Metrics, from that validate the + // metric elements match for all expected pairs. Finally, make we saw all + // expected pairs. + keyFor := func(sm *metricpb.ScopeMetrics) string { + return fmt.Sprintf("%s/%s/%s", sm.GetScope().GetName(), sm.GetScope().GetVersion(), sm.GetSchemaUrl()) } got := map[string][]*metricpb.Metric{} for _, rm := range driver.rm { - for _, ilm := range rm.InstrumentationLibraryMetrics { - k := keyFor(ilm) - got[k] = append(got[k], ilm.GetMetrics()...) + for _, sm := range rm.ScopeMetrics { + k := keyFor(sm) + got[k] = append(got[k], sm.GetMetrics()...) } } seen := map[string]struct{}{} for _, rm := range expected { - for _, ilm := range rm.InstrumentationLibraryMetrics { - k := keyFor(ilm) + for _, sm := range rm.ScopeMetrics { + k := keyFor(sm) seen[k] = struct{}{} g, ok := got[k] if !ok { - t.Errorf("missing metrics for:\n\tInstrumentationLibrary: %q\n", k) + t.Errorf("missing metrics for:\n\tInstrumentationScope: %q\n", k) continue } - if !assert.Len(t, g, len(ilm.GetMetrics())) { + if !assert.Len(t, g, len(sm.GetMetrics())) { continue } - for i, expected := range ilm.GetMetrics() { + for i, expected := range sm.GetMetrics() { assert.Equal(t, "", cmp.Diff(expected, g[i], protocmp.Transform())) } } diff --git a/exporters/otlp/otlpmetric/internal/metrictransform/metric.go b/exporters/otlp/otlpmetric/internal/metrictransform/metric.go index 065f45c9d10..03a3d250ab0 100644 --- a/exporters/otlp/otlpmetric/internal/metrictransform/metric.go +++ b/exporters/otlp/otlpmetric/internal/metrictransform/metric.go @@ -72,7 +72,7 @@ func toNanos(t time.Time) uint64 { // InstrumentationLibraryReader transforms all records contained in a checkpoint into // batched OTLP ResourceMetrics. func InstrumentationLibraryReader(ctx context.Context, temporalitySelector aggregation.TemporalitySelector, res *resource.Resource, ilmr export.InstrumentationLibraryReader, numWorkers uint) (*metricpb.ResourceMetrics, error) { - var ilms []*metricpb.InstrumentationLibraryMetrics + var sms []*metricpb.ScopeMetrics err := ilmr.ForEach(func(lib instrumentation.Library, mr export.Reader) error { @@ -107,24 +107,24 @@ func InstrumentationLibraryReader(ctx context.Context, temporalitySelector aggre return nil } - ilms = append(ilms, &metricpb.InstrumentationLibraryMetrics{ + sms = append(sms, &metricpb.ScopeMetrics{ Metrics: ms, SchemaUrl: lib.SchemaURL, - InstrumentationLibrary: &commonpb.InstrumentationLibrary{ + Scope: &commonpb.InstrumentationScope{ Name: lib.Name, Version: lib.Version, }, }) return nil }) - if len(ilms) == 0 { + if len(sms) == 0 { return nil, err } rms := &metricpb.ResourceMetrics{ - Resource: Resource(res), - SchemaUrl: res.SchemaURL(), - InstrumentationLibraryMetrics: ilms, + Resource: Resource(res), + SchemaUrl: res.SchemaURL(), + ScopeMetrics: sms, } return rms, err diff --git a/exporters/otlp/otlpmetric/internal/otlpmetrictest/collector.go b/exporters/otlp/otlpmetric/internal/otlpmetrictest/collector.go index 73b54b9bf2c..20915724a53 100644 --- a/exporters/otlp/otlpmetric/internal/otlpmetrictest/collector.go +++ b/exporters/otlp/otlpmetric/internal/otlpmetrictest/collector.go @@ -41,8 +41,8 @@ func NewMetricsStorage() MetricsStorage { func (s *MetricsStorage) AddMetrics(request *collectormetricpb.ExportMetricsServiceRequest) { for _, rm := range request.GetResourceMetrics() { // TODO (rghetia) handle multiple resource and library info. - if len(rm.InstrumentationLibraryMetrics) > 0 { - s.metrics = append(s.metrics, rm.InstrumentationLibraryMetrics[0].Metrics...) + if len(rm.ScopeMetrics) > 0 { + s.metrics = append(s.metrics, rm.ScopeMetrics[0].Metrics...) } } } From 3a78b25775e82f66eae22e1610c48c2735527b8f Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 29 Mar 2022 09:46:30 -0700 Subject: [PATCH 4/7] Update otlptrace --- .../internal/otlptracetest/collector.go | 16 +++++----- .../internal/otlptracetest/otlptest.go | 8 ++--- .../tracetransform/instrumentation.go | 4 +-- .../otlptrace/internal/tracetransform/span.go | 30 +++++++++---------- .../internal/tracetransform/span_test.go | 16 +++++----- 5 files changed, 38 insertions(+), 36 deletions(-) diff --git a/exporters/otlp/otlptrace/internal/otlptracetest/collector.go b/exporters/otlp/otlptrace/internal/otlptracetest/collector.go index 992f9de2eab..28f6b13d8b2 100644 --- a/exporters/otlp/otlptrace/internal/otlptracetest/collector.go +++ b/exporters/otlp/otlptrace/internal/otlptracetest/collector.go @@ -50,19 +50,19 @@ func (s *SpansStorage) AddSpans(request *collectortracepb.ExportTraceServiceRequ if existingRs, ok := s.rsm[rstr]; !ok { s.rsm[rstr] = rs // TODO (rghetia): Add support for library Info. - if len(rs.InstrumentationLibrarySpans) == 0 { - rs.InstrumentationLibrarySpans = []*tracepb.InstrumentationLibrarySpans{ + if len(rs.ScopeSpans) == 0 { + rs.ScopeSpans = []*tracepb.ScopeSpans{ { Spans: []*tracepb.Span{}, }, } } - s.spanCount += len(rs.InstrumentationLibrarySpans[0].Spans) + s.spanCount += len(rs.ScopeSpans[0].Spans) } else { - if len(rs.InstrumentationLibrarySpans) > 0 { - newSpans := rs.InstrumentationLibrarySpans[0].GetSpans() - existingRs.InstrumentationLibrarySpans[0].Spans = - append(existingRs.InstrumentationLibrarySpans[0].Spans, + if len(rs.ScopeSpans) > 0 { + newSpans := rs.ScopeSpans[0].GetSpans() + existingRs.ScopeSpans[0].Spans = + append(existingRs.ScopeSpans[0].Spans, newSpans...) s.spanCount += len(newSpans) } @@ -74,7 +74,7 @@ func (s *SpansStorage) AddSpans(request *collectortracepb.ExportTraceServiceRequ func (s *SpansStorage) GetSpans() []*tracepb.Span { spans := make([]*tracepb.Span, 0, s.spanCount) for _, rs := range s.rsm { - spans = append(spans, rs.InstrumentationLibrarySpans[0].Spans...) + spans = append(spans, rs.ScopeSpans[0].Spans...) } return spans } diff --git a/exporters/otlp/otlptrace/internal/otlptracetest/otlptest.go b/exporters/otlp/otlptrace/internal/otlptracetest/otlptest.go index 812b7b42902..91c098d1539 100644 --- a/exporters/otlp/otlptrace/internal/otlptracetest/otlptest.go +++ b/exporters/otlp/otlptrace/internal/otlptracetest/otlptest.go @@ -99,14 +99,14 @@ func RunEndToEndTest(ctx context.Context, t *testing.T, exp *otlptrace.Exporter, // Now verify spans and attributes for each resource span. for _, rs := range rss { - if len(rs.InstrumentationLibrarySpans) == 0 { - t.Fatalf("zero Instrumentation Library Spans") + if len(rs.ScopeSpans) == 0 { + t.Fatalf("zero ScopeSpans") } - if got, want := len(rs.InstrumentationLibrarySpans[0].Spans), m; got != want { + if got, want := len(rs.ScopeSpans[0].Spans), m; got != want { t.Fatalf("span counts: got %d, want %d", got, want) } attrMap := map[int64]bool{} - for _, s := range rs.InstrumentationLibrarySpans[0].Spans { + for _, s := range rs.ScopeSpans[0].Spans { if gotName, want := s.Name, "AlwaysSample"; gotName != want { t.Fatalf("span name: got %s, want %s", gotName, want) } diff --git a/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go b/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go index 6246b17f578..213f9f92a4e 100644 --- a/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go +++ b/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go @@ -19,11 +19,11 @@ import ( commonpb "go.opentelemetry.io/proto/otlp/common/v1" ) -func InstrumentationLibrary(il instrumentation.Library) *commonpb.InstrumentationLibrary { +func InstrumentationScope(il instrumentation.Library) *commonpb.InstrumentationScope { if il == (instrumentation.Library{}) { return nil } - return &commonpb.InstrumentationLibrary{ + return &commonpb.InstrumentationScope{ Name: il.Name, Version: il.Version, } diff --git a/exporters/otlp/otlptrace/internal/tracetransform/span.go b/exporters/otlp/otlptrace/internal/tracetransform/span.go index 88c05912f0d..0e8d00a0494 100644 --- a/exporters/otlp/otlptrace/internal/tracetransform/span.go +++ b/exporters/otlp/otlptrace/internal/tracetransform/span.go @@ -32,11 +32,11 @@ func Spans(sdl []tracesdk.ReadOnlySpan) []*tracepb.ResourceSpans { rsm := make(map[attribute.Distinct]*tracepb.ResourceSpans) - type ilsKey struct { + type key struct { r attribute.Distinct il instrumentation.Library } - ilsm := make(map[ilsKey]*tracepb.InstrumentationLibrarySpans) + ssm := make(map[key]*tracepb.ScopeSpans) var resources int for _, sd := range sdl { @@ -45,30 +45,30 @@ func Spans(sdl []tracesdk.ReadOnlySpan) []*tracepb.ResourceSpans { } rKey := sd.Resource().Equivalent() - iKey := ilsKey{ + k := key{ r: rKey, il: sd.InstrumentationLibrary(), } - ils, iOk := ilsm[iKey] + scopeSpan, iOk := ssm[k] if !iOk { // Either the resource or instrumentation library were unknown. - ils = &tracepb.InstrumentationLibrarySpans{ - InstrumentationLibrary: InstrumentationLibrary(sd.InstrumentationLibrary()), - Spans: []*tracepb.Span{}, - SchemaUrl: sd.InstrumentationLibrary().SchemaURL, + scopeSpan = &tracepb.ScopeSpans{ + Scope: InstrumentationScope(sd.InstrumentationLibrary()), + Spans: []*tracepb.Span{}, + SchemaUrl: sd.InstrumentationLibrary().SchemaURL, } } - ils.Spans = append(ils.Spans, span(sd)) - ilsm[iKey] = ils + scopeSpan.Spans = append(scopeSpan.Spans, span(sd)) + ssm[k] = scopeSpan rs, rOk := rsm[rKey] if !rOk { resources++ // The resource was unknown. rs = &tracepb.ResourceSpans{ - Resource: Resource(sd.Resource()), - InstrumentationLibrarySpans: []*tracepb.InstrumentationLibrarySpans{ils}, - SchemaUrl: sd.Resource().SchemaURL(), + Resource: Resource(sd.Resource()), + ScopeSpans: []*tracepb.ScopeSpans{scopeSpan}, + SchemaUrl: sd.Resource().SchemaURL(), } rsm[rKey] = rs continue @@ -78,9 +78,9 @@ func Spans(sdl []tracesdk.ReadOnlySpan) []*tracepb.ResourceSpans { // library lookup was unknown because if so we need to add it to the // ResourceSpans. Otherwise, the instrumentation library has already // been seen and the append we did above will be included it in the - // InstrumentationLibrarySpans reference. + // ScopeSpans reference. if !iOk { - rs.InstrumentationLibrarySpans = append(rs.InstrumentationLibrarySpans, ils) + rs.ScopeSpans = append(rs.ScopeSpans, scopeSpan) } } diff --git a/exporters/otlp/otlptrace/internal/tracetransform/span_test.go b/exporters/otlp/otlptrace/internal/tracetransform/span_test.go index 37860d2e047..8f27033b14e 100644 --- a/exporters/otlp/otlptrace/internal/tracetransform/span_test.go +++ b/exporters/otlp/otlptrace/internal/tracetransform/span_test.go @@ -298,12 +298,12 @@ func TestSpanData(t *testing.T) { assert.Equal(t, got[0].GetResource(), Resource(spanData.Resource)) assert.Equal(t, got[0].SchemaUrl, spanData.Resource.SchemaURL()) - ilSpans := got[0].GetInstrumentationLibrarySpans() - require.Len(t, ilSpans, 1) - assert.Equal(t, ilSpans[0].SchemaUrl, spanData.InstrumentationLibrary.SchemaURL) - assert.Equal(t, ilSpans[0].GetInstrumentationLibrary(), InstrumentationLibrary(spanData.InstrumentationLibrary)) - require.Len(t, ilSpans[0].Spans, 1) - actualSpan := ilSpans[0].Spans[0] + scopeSpans := got[0].GetScopeSpans() + require.Len(t, scopeSpans, 1) + assert.Equal(t, scopeSpans[0].SchemaUrl, spanData.InstrumentationLibrary.SchemaURL) + assert.Equal(t, scopeSpans[0].GetScope(), InstrumentationScope(spanData.InstrumentationLibrary)) + require.Len(t, scopeSpans[0].Spans, 1) + actualSpan := scopeSpans[0].Spans[0] if diff := cmp.Diff(expectedSpan, actualSpan, cmp.Comparer(proto.Equal)); diff != "" { t.Fatalf("transformed span differs %v\n", diff) @@ -315,7 +315,9 @@ func TestRootSpanData(t *testing.T) { sd := Spans(tracetest.SpanStubs{{}}.Snapshots()) require.Len(t, sd, 1) rs := sd[0] - got := rs.GetInstrumentationLibrarySpans()[0].GetSpans()[0].GetParentSpanId() + scopeSpans := rs.GetScopeSpans() + require.Len(t, scopeSpans, 1) + got := scopeSpans[0].GetSpans()[0].GetParentSpanId() // Empty means root span. assert.Nil(t, got, "incorrect transform of root parent span ID") From 977014097c9da5c381d8a57085557f7f30fd215a Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 29 Mar 2022 09:49:30 -0700 Subject: [PATCH 5/7] Clean new line breaks --- exporters/otlp/otlptrace/internal/otlptracetest/collector.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/exporters/otlp/otlptrace/internal/otlptracetest/collector.go b/exporters/otlp/otlptrace/internal/otlptracetest/collector.go index 28f6b13d8b2..865fabba27d 100644 --- a/exporters/otlp/otlptrace/internal/otlptracetest/collector.go +++ b/exporters/otlp/otlptrace/internal/otlptracetest/collector.go @@ -61,9 +61,7 @@ func (s *SpansStorage) AddSpans(request *collectortracepb.ExportTraceServiceRequ } else { if len(rs.ScopeSpans) > 0 { newSpans := rs.ScopeSpans[0].GetSpans() - existingRs.ScopeSpans[0].Spans = - append(existingRs.ScopeSpans[0].Spans, - newSpans...) + existingRs.ScopeSpans[0].Spans = append(existingRs.ScopeSpans[0].Spans, newSpans...) s.spanCount += len(newSpans) } } From 2501a08d5514fdf2e9884a5d677c166638dea8fa Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 29 Mar 2022 09:52:26 -0700 Subject: [PATCH 6/7] Fix comment in otlpmetric exporter_test.go --- exporters/otlp/otlpmetric/exporter_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlpmetric/exporter_test.go b/exporters/otlp/otlpmetric/exporter_test.go index 2ecde6acde7..242079a20c7 100644 --- a/exporters/otlp/otlpmetric/exporter_test.go +++ b/exporters/otlp/otlpmetric/exporter_test.go @@ -816,7 +816,7 @@ func runMetricExportTests(t *testing.T, opts []otlpmetric.Option, res *resource. } for k := range got { if _, ok := seen[k]; !ok { - t.Errorf("did not expect metrics for:\n\tInstrumentationLibrary: %s\n", k) + t.Errorf("did not expect metrics for:\n\tInstrumentationScope: %s\n", k) } } } From 05ee0b68fe7cd4cb44b8e74fc5769533a672cace Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 29 Mar 2022 09:58:03 -0700 Subject: [PATCH 7/7] Add changes to changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c38fd62ad69..c8012c656bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,13 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## [Unreleased] +### Changed + +- Upgrade `go.opentelemetry.io/proto/otlp` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric` from `v0.12.1` to `v0.15.0`. + This replaces the use of the now deprecated `InstrumentationLibrary` and `InstrumentationLibraryMetrics` types and fields in the proto library with the equivalent `InstrumentationScope` and `ScopeMetrics`. (#2748) +- Upgrade `go.opentelemetry.io/proto/otlp` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from `v0.12.1` to `v0.15.0`. + This replaces the use of the now deprecated `InstrumentationLibrary` and `InstrumentationLibrarySpans` types and fields in the proto library with the equivalent `InstrumentationScope` and `ScopeSpans`. (#2748) + ### Removed - Removed module the `go.opentelemetry.io/otel/sdk/export/metric`.