diff --git a/Makefile b/Makefile index df15bd39f3a0..1f6c48fb240f 100644 --- a/Makefile +++ b/Makefile @@ -250,32 +250,6 @@ genpdata: $(GOCMD) run pdata/internal/cmd/pdatagen/main.go $(MAKE) fmt -# The source directory for configuration schema. -OPENTELEMETRY_JSONSCHEMA_SRC_DIR=service/internal/proctelemetry/opentelememetry-configuration - -# The SHA matching the current version of the configuration schema to use -OPENTELEMETRY_JSONSCHEMA_VERSION=main - -# Cleanup temporary directory -genjsonschema-cleanup: - rm -Rf ${OPENTELEMETRY_JSONSCHEMA_SRC_DIR} - -# Generate structs for configuration from configuration schema -genjsonschema: genjsonschema-cleanup $(GOJSONSCHEMA) - mkdir -p ${OPENTELEMETRY_JSONSCHEMA_SRC_DIR} - curl -sSL https://api.github.com/repos/open-telemetry/opentelemetry-configuration/tarball/${OPENTELEMETRY_JSONSCHEMA_VERSION} | tar xz --strip 1 -C ${OPENTELEMETRY_JSONSCHEMA_SRC_DIR} - $(GOJSONSCHEMA) \ - --package telemetry \ - --tags mapstructure \ - --output ./service/telemetry/generated_config.go \ - --schema-package=https://opentelemetry.io/otelconfig/opentelemetry_configuration.json=github.com/open-telemetry/opentelemetry-collector/schema \ - ${OPENTELEMETRY_JSONSCHEMA_SRC_DIR}/schema/opentelemetry_configuration.json - @echo Modify jsonschema generated files. - sed -f $(TOOLS_MOD_DIR)/jsonschema_patch.sed service/telemetry/generated_config.go > service/telemetry/generated_config_tmp.go - mv service/telemetry/generated_config_tmp.go service/telemetry/generated_config.go - $(MAKE) fmt - $(MAKE) genjsonschema-cleanup - # Generate semantic convention constants. Requires a clone of the opentelemetry-specification repo gensemconv: @[ "${SPECPATH}" ] || ( echo ">> env var SPECPATH is not set"; exit 1 ) diff --git a/cmd/otelcorecol/go.mod b/cmd/otelcorecol/go.mod index 49590ba5ef45..657b21bfb1f6 100644 --- a/cmd/otelcorecol/go.mod +++ b/cmd/otelcorecol/go.mod @@ -92,6 +92,7 @@ require ( go.opentelemetry.io/collector/pdata v1.0.0-rcv0015 // indirect go.opentelemetry.io/collector/semconv v0.86.0 // indirect go.opentelemetry.io/collector/service v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.19.0 // indirect diff --git a/cmd/otelcorecol/go.sum b/cmd/otelcorecol/go.sum index 18779ca7a991..3a5c71ff1dbc 100644 --- a/cmd/otelcorecol/go.sum +++ b/cmd/otelcorecol/go.sum @@ -916,6 +916,8 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= diff --git a/exporter/otlpexporter/go.mod b/exporter/otlpexporter/go.mod index d33aa3a7ae4a..fb3a36c0b500 100644 --- a/exporter/otlpexporter/go.mod +++ b/exporter/otlpexporter/go.mod @@ -49,11 +49,10 @@ require ( go.opentelemetry.io/collector/extension v0.86.0 // indirect go.opentelemetry.io/collector/extension/auth v0.86.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0015 // indirect - go.opentelemetry.io/collector/service v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 // indirect go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/sdk v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect diff --git a/exporter/otlpexporter/go.sum b/exporter/otlpexporter/go.sum index 6265bd7a04ad..60fab06f6ec0 100644 --- a/exporter/otlpexporter/go.sum +++ b/exporter/otlpexporter/go.sum @@ -110,6 +110,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= @@ -118,7 +120,6 @@ go.opentelemetry.io/otel/exporters/prometheus v0.42.0 h1:jwV9iQdvp38fxXi8ZC+lNpx go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= diff --git a/exporter/otlphttpexporter/go.mod b/exporter/otlphttpexporter/go.mod index b38902c82635..b24ccbf0a67c 100644 --- a/exporter/otlphttpexporter/go.mod +++ b/exporter/otlphttpexporter/go.mod @@ -54,12 +54,11 @@ require ( go.opentelemetry.io/collector/extension v0.86.0 // indirect go.opentelemetry.io/collector/extension/auth v0.86.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0015 // indirect - go.opentelemetry.io/collector/service v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/sdk v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.15.0 // indirect diff --git a/exporter/otlphttpexporter/go.sum b/exporter/otlphttpexporter/go.sum index 68808f9b1082..0eefc4a956b3 100644 --- a/exporter/otlphttpexporter/go.sum +++ b/exporter/otlphttpexporter/go.sum @@ -817,6 +817,8 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= @@ -827,7 +829,6 @@ go.opentelemetry.io/otel/exporters/prometheus v0.42.0 h1:jwV9iQdvp38fxXi8ZC+lNpx go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= diff --git a/extension/zpagesextension/go.mod b/extension/zpagesextension/go.mod index e72d5f31f03b..985437289275 100644 --- a/extension/zpagesextension/go.mod +++ b/extension/zpagesextension/go.mod @@ -28,11 +28,10 @@ require ( github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/collector/config/configtelemetry v0.86.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0015 // indirect go.opentelemetry.io/collector/pdata v1.0.0-rcv0015 // indirect - go.opentelemetry.io/collector/service v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect go.uber.org/multierr v1.11.0 // indirect diff --git a/extension/zpagesextension/go.sum b/extension/zpagesextension/go.sum index 087b79ec78ef..3130bdeefb2e 100644 --- a/extension/zpagesextension/go.sum +++ b/extension/zpagesextension/go.sum @@ -1,15 +1,5 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -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.1-0.20191026205805-5f8ba28d4473/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= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -17,31 +7,11 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= @@ -60,20 +30,13 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= 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/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/zpages v0.45.0 h1:jIwHHGoWzJoZdbIUtWdErjL85Gni6BignnAFqDtMRL4= go.opentelemetry.io/contrib/zpages v0.45.0/go.mod h1:4mIdA5hqH6hEx9sZgV50qKfQO8aIYolUZboHmz+G7vw= go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= @@ -92,30 +55,17 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -126,10 +76,6 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -137,37 +83,15 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -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= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/go.mod b/go.mod index 0ddcd3e8497a..422aa52b6845 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/collector/pdata v1.0.0-rcv0015 go.opentelemetry.io/collector/processor v0.86.0 go.opentelemetry.io/collector/receiver v0.86.0 - go.opentelemetry.io/collector/service v0.86.0 + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 go.opentelemetry.io/otel v1.19.0 go.opentelemetry.io/otel/exporters/prometheus v0.42.0 go.opentelemetry.io/otel/sdk v1.19.0 diff --git a/go.sum b/go.sum index 40c128b3aa55..c6c1129089fa 100644 --- a/go.sum +++ b/go.sum @@ -280,6 +280,8 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= go.opentelemetry.io/otel/exporters/prometheus v0.42.0 h1:jwV9iQdvp38fxXi8ZC+lNpxjK16MRcZlpDYvbuO1FiA= diff --git a/internal/testutil/testutil.go b/internal/testutil/testutil.go index 427e51d2e196..b8d9923869c2 100644 --- a/internal/testutil/testutil.go +++ b/internal/testutil/testutil.go @@ -13,8 +13,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - - "go.opentelemetry.io/collector/service/telemetry" + "go.opentelemetry.io/contrib/config" ) type portpair struct { @@ -57,7 +56,7 @@ func GetAvailableLocalAddress(t testing.TB) string { return endpoint } -func GetAvailableLocalAddressPrometheus(t testing.TB) *telemetry.Prometheus { +func GetAvailableLocalAddressPrometheus(t testing.TB) *config.Prometheus { address := GetAvailableLocalAddress(t) host, port, err := net.SplitHostPort(address) if err != nil { @@ -67,7 +66,7 @@ func GetAvailableLocalAddressPrometheus(t testing.TB) *telemetry.Prometheus { if err != nil { return nil } - return &telemetry.Prometheus{ + return &config.Prometheus{ Host: &host, Port: &portInt, } diff --git a/internal/tools/go.mod b/internal/tools/go.mod index bd50a1b290a1..b1af30fcf22f 100644 --- a/internal/tools/go.mod +++ b/internal/tools/go.mod @@ -1,10 +1,11 @@ module go.opentelemetry.io/collector/internal/tools -go 1.20 +go 1.21 + +toolchain go1.21.2 require ( github.com/a8m/envsubst v1.4.2 - github.com/atombender/go-jsonschema v0.13.0 github.com/client9/misspell v0.3.4 github.com/golangci/golangci-lint v1.54.2 github.com/google/addlicense v1.1.1 @@ -16,8 +17,8 @@ require ( go.opentelemetry.io/build-tools/crosslink v0.12.0 go.opentelemetry.io/build-tools/multimod v0.12.0 go.opentelemetry.io/build-tools/semconvgen v0.12.0 - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 - golang.org/x/tools v0.13.0 + golang.org/x/exp v0.0.0-20231006140011-7918f672742d + golang.org/x/tools v0.14.0 golang.org/x/vuln v1.0.1 ) @@ -139,7 +140,6 @@ require ( github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.3.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect github.com/moricho/tparallel v0.3.1 // indirect github.com/nakabonne/nestif v0.3.1 // indirect @@ -149,7 +149,6 @@ require ( github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/pelletier/go-toml/v2 v2.1.0 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v1.4.4 // indirect github.com/prometheus/client_golang v1.17.0 // indirect @@ -162,7 +161,6 @@ require ( github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect - github.com/sanity-io/litter v1.5.5 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.24.0 // indirect @@ -207,12 +205,12 @@ require ( go.tmz.dev/musttag v0.7.2 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.13.0 // indirect + golang.org/x/crypto v0.14.0 // indirect golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.15.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/mod v0.13.0 // indirect + golang.org/x/net v0.16.0 // indirect + golang.org/x/sync v0.4.0 // indirect + golang.org/x/sys v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/protobuf v1.31.0 // indirect diff --git a/internal/tools/go.sum b/internal/tools/go.sum index 7a31fb0d4806..ffc747c1a744 100644 --- a/internal/tools/go.sum +++ b/internal/tools/go.sum @@ -72,9 +72,11 @@ github.com/a8m/envsubst v1.4.2/go.mod h1:MVUTQNGQ3tsjOOtKCNd+fl8RzhsXcDvvAEzkhGt github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= +github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/participle/v2 v2.1.0 h1:z7dElHRrOEEq45F2TG5cbQihMtNTv8vwldytDj7Wrz4= github.com/alecthomas/participle/v2 v2.1.0/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= +github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -87,13 +89,13 @@ github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cv github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY= github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/atombender/go-jsonschema v0.13.0 h1:SpVRG/r9BKscjgNPyJtQ6OwNqP/QPIKqzj1p+WlNFVE= -github.com/atombender/go-jsonschema v0.13.0/go.mod h1:PCP4Hq2nvh6fzL6IcnXF9SvasRCqEO/xXuhwl3UoB8M= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -143,7 +145,6 @@ github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53E github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/daixiang0/gci v0.11.0 h1:XeQbFKkCRxvVyn06EOuNY6LPGBLVuB/W130c8FrnX6A= github.com/daixiang0/gci v0.11.0/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= -github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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= @@ -152,6 +153,7 @@ github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYB github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/elliotchance/orderedmap v1.5.0 h1:1IsExUsjv5XNBD3ZdC7jkAAqLWOOKdbPTmkHx63OsBg= github.com/elliotchance/orderedmap v1.5.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= @@ -173,11 +175,13 @@ github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4 github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-critic/go-critic v0.9.0 h1:Pmys9qvU3pSML/3GEQ2Xd9RZ/ip+aXHKILuxczKGV/U= github.com/go-critic/go-critic v0.9.0/go.mod h1:5P8tdXL7m/6qnyG6oRAlYLORvoXH0WDypYgAEmagT40= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -185,6 +189,7 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmS github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY= github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -197,11 +202,10 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s= @@ -214,6 +218,7 @@ github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlN github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA= github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk= +github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw= github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= @@ -286,6 +291,7 @@ github.com/google/addlicense v1.1.1/go.mod h1:Sm/DHu7Jk+T5miFHHehdIjbi4M5+dJDRS3 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmdtest v0.4.1-0.20220921163831-55ab3332a786 h1:rcv+Ippz6RAtvaGgKxc+8FQIpxHgsF+HBzPyYL2cyVU= +github.com/google/go-cmdtest v0.4.1-0.20220921163831-55ab3332a786/go.mod h1:apVn/GCasLZUVpAJ6oWAuyP7Ne7CEsQbTnc0plM3m+o= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -315,6 +321,7 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -334,6 +341,7 @@ github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= +github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= @@ -388,9 +396,11 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.8 h1:Ul2KsqtzFxTlSU7IP0JusWlLiNqQaloB9vguyjbE558= @@ -401,7 +411,6 @@ github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUc github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSioo= github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= @@ -435,8 +444,6 @@ github.com/mikefarah/yq/v4 v4.35.2 h1:WAvRpJNytw13x1arsRprZcdOb3WxDIJ539NG4oshzF github.com/mikefarah/yq/v4 v4.35.2/go.mod h1:7nyFSLbxP+nXJNoPXUbYTlJDDn/d9K/SMtKbOqQLbwM= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmLKZf+SjVanKKhCgf3bg+511DmU9eDQTen7LLbY= github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -459,9 +466,12 @@ github.com/nunnatsa/ginkgolinter v0.13.5/go.mod h1:OBHy4536xtuX3102NM63XRtOyxqZO github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= +github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/copy v1.12.0 h1:cLMgSQnXBs1eehF0Wy/FAGsgDTDmAqFR7rQylBb1nDY= +github.com/otiai10/copy v1.12.0/go.mod h1:rSaLseMUsZFFbsFGc7wCJnnkTAvdc5L6VWxPE4308Ww= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= @@ -473,12 +483,12 @@ github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdU github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 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/polyfloyd/go-errorlint v1.4.4 h1:A9gytp+p6TYqeALTYRoxJESYP8wJRETRX2xzGWFsEBU= @@ -519,13 +529,12 @@ github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4l github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= -github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= -github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= @@ -579,7 +588,6 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -637,6 +645,7 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t gitlab.com/bosi/decorder v0.4.0 h1:HWuxAhSxIvsITcXeP+iIRg9d1cVfvVkmlF7M68GaoDY= gitlab.com/bosi/decorder v0.4.0/go.mod h1:xarnteyUoJiOTEldDysquWKTVDCKo2TOIOIibSuWqOg= go-simpler.org/assert v0.6.0 h1:QxSrXa4oRuo/1eHMXSBFHKvJIpWABayzKldqZyugG7E= +go-simpler.org/assert v0.6.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -658,6 +667,7 @@ go.opentelemetry.io/build-tools/semconvgen v0.12.0/go.mod h1:SRmou8pp+7gBmf1Avdx go.tmz.dev/musttag v0.7.2 h1:1J6S9ipDbalBSODNT5jCep8dhZyMr4ttnjQagmGYR5s= go.tmz.dev/musttag v0.7.2/go.mod h1:m6q5NiiSKMnQYokefa2xGoyoXnrswCbJ0AWYzf4Zs28= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= +go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= @@ -675,8 +685,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -687,8 +697,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 h1:jWGQJV4niP+CCmFW9ekjA9Zx8vYORzOUH2/Nl5WPuLQ= @@ -723,8 +733,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -768,8 +778,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos= +golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -793,8 +803,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -856,8 +866,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -865,7 +875,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -951,8 +962,8 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= +golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/vuln v1.0.1 h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU= golang.org/x/vuln v1.0.1/go.mod h1:bb2hMwln/tqxg32BNY4CcxHWtHXuYa3SbIBmtsyjxtM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1058,6 +1069,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/internal/tools/tools.go b/internal/tools/tools.go index 1cc59069724f..07b2eaf7c54f 100644 --- a/internal/tools/tools.go +++ b/internal/tools/tools.go @@ -13,7 +13,6 @@ package tools // import "go.opentelemetry.io/collector/internal/tools" import ( _ "github.com/a8m/envsubst/cmd/envsubst" - _ "github.com/atombender/go-jsonschema/cmd/gojsonschema" _ "github.com/client9/misspell/cmd/misspell" _ "github.com/golangci/golangci-lint/cmd/golangci-lint" _ "github.com/google/addlicense" diff --git a/otelcol/go.mod b/otelcol/go.mod index 05e1bfba47d7..4b88d778ae6a 100644 --- a/otelcol/go.mod +++ b/otelcol/go.mod @@ -68,6 +68,7 @@ require ( go.opentelemetry.io/collector/consumer v0.86.0 // indirect go.opentelemetry.io/collector/pdata v1.0.0-rcv0015 // indirect go.opentelemetry.io/collector/semconv v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.19.0 // indirect go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/bridge/opencensus v0.42.0 // indirect diff --git a/otelcol/go.sum b/otelcol/go.sum index 93c7fdc0d771..68fe97e1e2e8 100644 --- a/otelcol/go.sum +++ b/otelcol/go.sum @@ -295,6 +295,8 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/propagators/b3 v1.19.0 h1:ulz44cpm6V5oAeg5Aw9HyqGFMS6XM7untlMEhD7YzzA= go.opentelemetry.io/contrib/propagators/b3 v1.19.0/go.mod h1:OzCmE2IVS+asTI+odXQstRGVfXQ4bXv9nMBRK0nNyqQ= go.opentelemetry.io/contrib/zpages v0.45.0 h1:jIwHHGoWzJoZdbIUtWdErjL85Gni6BignnAFqDtMRL4= diff --git a/receiver/otlpreceiver/go.mod b/receiver/otlpreceiver/go.mod index 4628c978c0dd..251c321df5fa 100644 --- a/receiver/otlpreceiver/go.mod +++ b/receiver/otlpreceiver/go.mod @@ -65,7 +65,7 @@ require ( go.opentelemetry.io/collector/extension v0.86.0 // indirect go.opentelemetry.io/collector/extension/auth v0.86.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0015 // indirect - go.opentelemetry.io/collector/service v0.86.0 // indirect + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect go.opentelemetry.io/otel v1.19.0 // indirect diff --git a/receiver/otlpreceiver/go.sum b/receiver/otlpreceiver/go.sum index 075d38204c86..c162f68e97cc 100644 --- a/receiver/otlpreceiver/go.sum +++ b/receiver/otlpreceiver/go.sum @@ -279,6 +279,8 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= diff --git a/service/go.mod b/service/go.mod index b0cd8079d493..33d9ea796ba6 100644 --- a/service/go.mod +++ b/service/go.mod @@ -26,6 +26,7 @@ require ( go.opentelemetry.io/collector/processor v0.86.0 go.opentelemetry.io/collector/receiver v0.86.0 go.opentelemetry.io/collector/semconv v0.86.0 + go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 go.opentelemetry.io/contrib/propagators/b3 v1.19.0 go.opentelemetry.io/otel v1.19.0 go.opentelemetry.io/otel/bridge/opencensus v0.42.0 diff --git a/service/go.sum b/service/go.sum index 634b925ca2d7..ff99692b7a31 100644 --- a/service/go.sum +++ b/service/go.sum @@ -287,6 +287,8 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1 h1:pMLXfZH56nffCKDTja2/kQE/fqP6fXpoIWZ9TlpFOiQ= +go.opentelemetry.io/contrib/config v0.0.0-20231010181927-c8c6d7571ef1/go.mod h1:qKXBHgegWLUm7O+tb8KQ+SWZ+08b5/6Pnze39ZVNagM= go.opentelemetry.io/contrib/propagators/b3 v1.19.0 h1:ulz44cpm6V5oAeg5Aw9HyqGFMS6XM7untlMEhD7YzzA= go.opentelemetry.io/contrib/propagators/b3 v1.19.0/go.mod h1:OzCmE2IVS+asTI+odXQstRGVfXQ4bXv9nMBRK0nNyqQ= go.opentelemetry.io/contrib/zpages v0.45.0 h1:jIwHHGoWzJoZdbIUtWdErjL85Gni6BignnAFqDtMRL4= diff --git a/service/internal/proctelemetry/config.go b/service/internal/proctelemetry/config.go index 4590b02d4811..dad1ea9ef42d 100644 --- a/service/internal/proctelemetry/config.go +++ b/service/internal/proctelemetry/config.go @@ -16,6 +16,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" + "go.opentelemetry.io/contrib/config" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/bridge/opencensus" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" @@ -32,7 +33,6 @@ import ( "go.opentelemetry.io/collector/processor/processorhelper" semconv "go.opentelemetry.io/collector/semconv/v1.18.0" - "go.opentelemetry.io/collector/service/telemetry" ) const ( @@ -66,7 +66,7 @@ var ( errNoValidSpanExporter = errors.New("no valid span exporter") ) -func InitMetricReader(ctx context.Context, reader telemetry.MetricReader, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { +func InitMetricReader(ctx context.Context, reader config.MetricReader, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { if reader.Pull != nil { return initPullExporter(reader.Pull.Exporter, asyncErrorChannel) } @@ -84,7 +84,7 @@ func InitMetricReader(ctx context.Context, reader telemetry.MetricReader, asyncE return nil, nil, fmt.Errorf("unsupported metric reader type %v", reader) } -func InitSpanProcessor(ctx context.Context, processor telemetry.SpanProcessor) (sdktrace.SpanProcessor, error) { +func InitSpanProcessor(ctx context.Context, processor config.SpanProcessor) (sdktrace.SpanProcessor, error) { if processor.Batch != nil { if processor.Batch.Exporter.Console != nil { exp, err := stdouttrace.New( @@ -95,16 +95,16 @@ func InitSpanProcessor(ctx context.Context, processor telemetry.SpanProcessor) ( } return initBatchSpanProcessor(processor.Batch, exp) } - if processor.Batch.Exporter.Otlp != nil { + if processor.Batch.Exporter.OTLP != nil { var err error var exp sdktrace.SpanExporter - switch processor.Batch.Exporter.Otlp.Protocol { + switch processor.Batch.Exporter.OTLP.Protocol { case protocolProtobufHTTP: - exp, err = initOTLPHTTPSpanExporter(ctx, processor.Batch.Exporter.Otlp) + exp, err = initOTLPHTTPSpanExporter(ctx, processor.Batch.Exporter.OTLP) case protocolProtobufGRPC: - exp, err = initOTLPgRPCSpanExporter(ctx, processor.Batch.Exporter.Otlp) + exp, err = initOTLPgRPCSpanExporter(ctx, processor.Batch.Exporter.OTLP) default: - return nil, fmt.Errorf("unsupported protocol %q", processor.Batch.Exporter.Otlp.Protocol) + return nil, fmt.Errorf("unsupported protocol %q", processor.Batch.Exporter.OTLP.Protocol) } if err != nil { return nil, err @@ -195,7 +195,7 @@ func cardinalityFilter(kvs ...attribute.KeyValue) attribute.Filter { } } -func initPrometheusExporter(prometheusConfig *telemetry.Prometheus, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { +func initPrometheusExporter(prometheusConfig *config.Prometheus, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { promRegistry := prometheus.NewRegistry() if prometheusConfig.Host == nil { return nil, nil, fmt.Errorf("host must be specified") @@ -218,14 +218,14 @@ func initPrometheusExporter(prometheusConfig *telemetry.Prometheus, asyncErrorCh return exporter, InitPrometheusServer(promRegistry, fmt.Sprintf("%s:%d", *prometheusConfig.Host, *prometheusConfig.Port), asyncErrorChannel), nil } -func initPullExporter(exporter telemetry.MetricExporter, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { +func initPullExporter(exporter config.MetricExporter, asyncErrorChannel chan error) (sdkmetric.Reader, *http.Server, error) { if exporter.Prometheus != nil { return initPrometheusExporter(exporter.Prometheus, asyncErrorChannel) } return nil, nil, errNoValidMetricExporter } -func initPeriodicExporter(ctx context.Context, exporter telemetry.MetricExporter, opts ...sdkmetric.PeriodicReaderOption) (sdkmetric.Reader, *http.Server, error) { +func initPeriodicExporter(ctx context.Context, exporter config.MetricExporter, opts ...sdkmetric.PeriodicReaderOption) (sdkmetric.Reader, *http.Server, error) { if exporter.Console != nil { enc := json.NewEncoder(os.Stdout) enc.SetIndent("", " ") @@ -238,16 +238,16 @@ func initPeriodicExporter(ctx context.Context, exporter telemetry.MetricExporter } return sdkmetric.NewPeriodicReader(exp, opts...), nil, nil } - if exporter.Otlp != nil { + if exporter.OTLP != nil { var err error var exp sdkmetric.Exporter - switch exporter.Otlp.Protocol { + switch exporter.OTLP.Protocol { case protocolProtobufHTTP: - exp, err = initOTLPHTTPExporter(ctx, exporter.Otlp) + exp, err = initOTLPHTTPExporter(ctx, exporter.OTLP) case protocolProtobufGRPC: - exp, err = initOTLPgRPCExporter(ctx, exporter.Otlp) + exp, err = initOTLPgRPCExporter(ctx, exporter.OTLP) default: - return nil, nil, fmt.Errorf("unsupported protocol %s", exporter.Otlp.Protocol) + return nil, nil, fmt.Errorf("unsupported protocol %s", exporter.OTLP.Protocol) } if err != nil { return nil, nil, err @@ -264,7 +264,7 @@ func normalizeEndpoint(endpoint string) string { return endpoint } -func initOTLPgRPCExporter(ctx context.Context, otlpConfig *telemetry.OtlpMetric) (sdkmetric.Exporter, error) { +func initOTLPgRPCExporter(ctx context.Context, otlpConfig *config.OTLPMetric) (sdkmetric.Exporter, error) { opts := []otlpmetricgrpc.Option{} if len(otlpConfig.Endpoint) > 0 { @@ -298,7 +298,7 @@ func initOTLPgRPCExporter(ctx context.Context, otlpConfig *telemetry.OtlpMetric) return otlpmetricgrpc.New(ctx, opts...) } -func initOTLPHTTPExporter(ctx context.Context, otlpConfig *telemetry.OtlpMetric) (sdkmetric.Exporter, error) { +func initOTLPHTTPExporter(ctx context.Context, otlpConfig *config.OTLPMetric) (sdkmetric.Exporter, error) { opts := []otlpmetrichttp.Option{} if len(otlpConfig.Endpoint) > 0 { @@ -335,7 +335,7 @@ func initOTLPHTTPExporter(ctx context.Context, otlpConfig *telemetry.OtlpMetric) return otlpmetrichttp.New(ctx, opts...) } -func initOTLPgRPCSpanExporter(ctx context.Context, otlpConfig *telemetry.Otlp) (sdktrace.SpanExporter, error) { +func initOTLPgRPCSpanExporter(ctx context.Context, otlpConfig *config.OTLP) (sdktrace.SpanExporter, error) { opts := []otlptracegrpc.Option{} if len(otlpConfig.Endpoint) > 0 { @@ -369,7 +369,7 @@ func initOTLPgRPCSpanExporter(ctx context.Context, otlpConfig *telemetry.Otlp) ( return otlptracegrpc.New(ctx, opts...) } -func initOTLPHTTPSpanExporter(ctx context.Context, otlpConfig *telemetry.Otlp) (sdktrace.SpanExporter, error) { +func initOTLPHTTPSpanExporter(ctx context.Context, otlpConfig *config.OTLP) (sdktrace.SpanExporter, error) { opts := []otlptracehttp.Option{} if len(otlpConfig.Endpoint) > 0 { @@ -406,7 +406,7 @@ func initOTLPHTTPSpanExporter(ctx context.Context, otlpConfig *telemetry.Otlp) ( return otlptracehttp.New(ctx, opts...) } -func initBatchSpanProcessor(bsp *telemetry.BatchSpanProcessor, exp sdktrace.SpanExporter) (sdktrace.SpanProcessor, error) { +func initBatchSpanProcessor(bsp *config.BatchSpanProcessor, exp sdktrace.SpanExporter) (sdktrace.SpanProcessor, error) { opts := []sdktrace.BatchSpanProcessorOption{} if bsp.ExportTimeout != nil { if *bsp.ExportTimeout < 0 { diff --git a/service/internal/proctelemetry/config_test.go b/service/internal/proctelemetry/config_test.go index cb09754e52c0..7e36bdda35e8 100644 --- a/service/internal/proctelemetry/config_test.go +++ b/service/internal/proctelemetry/config_test.go @@ -10,8 +10,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - - "go.opentelemetry.io/collector/service/telemetry" + "go.opentelemetry.io/contrib/config" ) func strPtr(s string) *string { @@ -25,7 +24,7 @@ func intPtr(i int) *int { func TestMetricReader(t *testing.T) { testCases := []struct { name string - reader telemetry.MetricReader + reader config.MetricReader args any err error }{ @@ -35,10 +34,10 @@ func TestMetricReader(t *testing.T) { }, { name: "pull prometheus invalid exporter", - reader: telemetry.MetricReader{ - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{}, + reader: config.MetricReader{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{}, }, }, }, @@ -46,10 +45,10 @@ func TestMetricReader(t *testing.T) { }, { name: "pull/prometheus-invalid-config-no-host", - reader: telemetry.MetricReader{ - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ - Prometheus: &telemetry.Prometheus{}, + reader: config.MetricReader{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ + Prometheus: &config.Prometheus{}, }, }, }, @@ -57,10 +56,10 @@ func TestMetricReader(t *testing.T) { }, { name: "pull/prometheus-invalid-config-no-port", - reader: telemetry.MetricReader{ - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ - Prometheus: &telemetry.Prometheus{ + reader: config.MetricReader{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ + Prometheus: &config.Prometheus{ Host: strPtr("locahost"), }, }, @@ -70,10 +69,10 @@ func TestMetricReader(t *testing.T) { }, { name: "pull/prometheus-invalid-config-no-port", - reader: telemetry.MetricReader{ - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ - Prometheus: &telemetry.Prometheus{ + reader: config.MetricReader{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ + Prometheus: &config.Prometheus{ Host: strPtr("locahost"), Port: intPtr(8080), }, @@ -83,10 +82,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/invalid-exporter", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Prometheus: &telemetry.Prometheus{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + Prometheus: &config.Prometheus{ Host: strPtr("locahost"), Port: intPtr(8080), }, @@ -97,39 +96,39 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/no-exporter", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{}, + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{}, }, err: errNoValidMetricExporter, }, { name: "periodic/console-exporter", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Console: telemetry.Console{}, + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + Console: config.Console{}, }, }, }, }, { name: "periodic/console-exporter-with-timeout-interval", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ Interval: intPtr(10), Timeout: intPtr(5), - Exporter: telemetry.MetricExporter{ - Console: telemetry.Console{}, + Exporter: config.MetricExporter{ + Console: config.Console{}, }, }, }, }, { name: "periodic/otlp-exporter-invalid-protocol", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: *strPtr("http/invalid"), }, }, @@ -139,10 +138,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-grpc-exporter-no-endpoint", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "grpc/protobuf", Compression: strPtr("gzip"), Timeout: intPtr(1000), @@ -156,10 +155,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-grpc-exporter", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "grpc/protobuf", Endpoint: "http://localhost:4317", Compression: strPtr("none"), @@ -174,10 +173,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-grpc-exporter-no-scheme", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "grpc/protobuf", Endpoint: "localhost:4317", Compression: strPtr("gzip"), @@ -192,10 +191,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-grpc-invalid-endpoint", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "grpc/protobuf", Endpoint: " ", Compression: strPtr("gzip"), @@ -211,10 +210,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-grpc-invalid-compression", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "grpc/protobuf", Endpoint: "localhost:4317", Compression: strPtr("invalid"), @@ -230,10 +229,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-exporter", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Endpoint: "http://localhost:4318", Compression: strPtr("gzip"), @@ -248,10 +247,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-exporter-with-path", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Endpoint: "http://localhost:4318/path/123", Compression: strPtr("none"), @@ -266,10 +265,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-exporter-no-endpoint", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Compression: strPtr("gzip"), Timeout: intPtr(1000), @@ -283,10 +282,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-exporter-no-scheme", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Endpoint: "localhost:4318", Compression: strPtr("gzip"), @@ -301,10 +300,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-invalid-endpoint", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Endpoint: " ", Compression: strPtr("gzip"), @@ -320,10 +319,10 @@ func TestMetricReader(t *testing.T) { }, { name: "periodic/otlp-http-invalid-compression", - reader: telemetry.MetricReader{ - Periodic: &telemetry.PeriodicMetricReader{ - Exporter: telemetry.MetricExporter{ - Otlp: &telemetry.OtlpMetric{ + reader: config.MetricReader{ + Periodic: &config.PeriodicMetricReader{ + Exporter: config.MetricExporter{ + OTLP: &config.OTLPMetric{ Protocol: "http/protobuf", Endpoint: "localhost:4318", Compression: strPtr("invalid"), @@ -349,7 +348,7 @@ func TestMetricReader(t *testing.T) { func TestSpanProcessor(t *testing.T) { testCases := []struct { name string - processor telemetry.SpanProcessor + processor config.SpanProcessor args any err error }{ @@ -359,20 +358,20 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch processor invalid exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ - Exporter: telemetry.SpanExporter{}, + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ + Exporter: config.SpanExporter{}, }, }, err: errNoValidSpanExporter, }, { name: "batch processor invalid batch size console exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(-1), - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, @@ -380,11 +379,11 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch processor invalid export timeout console exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ ExportTimeout: intPtr(-2), - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, @@ -392,11 +391,11 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch processor invalid queue size console exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxQueueSize: intPtr(-3), - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, @@ -404,11 +403,11 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch processor invalid schedule delay console exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ ScheduleDelay: intPtr(-4), - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, @@ -416,28 +415,28 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch processor console exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, }, { name: "batch/otlp-exporter-invalid-protocol", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: *strPtr("http/invalid"), }, }, @@ -447,14 +446,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-grpc-exporter-no-endpoint", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "grpc/protobuf", Compression: strPtr("gzip"), Timeout: intPtr(1000), @@ -468,14 +467,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-grpc-exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "grpc/protobuf", Endpoint: "http://localhost:4317", Compression: strPtr("gzip"), @@ -490,14 +489,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-grpc-exporter-no-scheme", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "grpc/protobuf", Endpoint: "localhost:4317", Compression: strPtr("gzip"), @@ -512,14 +511,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-grpc-invalid-endpoint", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "grpc/protobuf", Endpoint: " ", Compression: strPtr("gzip"), @@ -535,14 +534,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-grpc-invalid-compression", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "grpc/protobuf", Endpoint: "localhost:4317", Compression: strPtr("invalid"), @@ -558,14 +557,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-exporter", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Endpoint: "http://localhost:4318", Compression: strPtr("gzip"), @@ -580,14 +579,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-exporter-with-path", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Endpoint: "http://localhost:4318/path/123", Compression: strPtr("none"), @@ -602,14 +601,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-exporter-no-endpoint", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Compression: strPtr("gzip"), Timeout: intPtr(1000), @@ -623,14 +622,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-exporter-no-scheme", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Endpoint: "localhost:4318", Compression: strPtr("gzip"), @@ -645,14 +644,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-invalid-endpoint", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Endpoint: " ", Compression: strPtr("gzip"), @@ -668,14 +667,14 @@ func TestSpanProcessor(t *testing.T) { }, { name: "batch/otlp-http-invalid-compression", - processor: telemetry.SpanProcessor{ - Batch: &telemetry.BatchSpanProcessor{ + processor: config.SpanProcessor{ + Batch: &config.BatchSpanProcessor{ MaxExportBatchSize: intPtr(0), ExportTimeout: intPtr(0), MaxQueueSize: intPtr(0), ScheduleDelay: intPtr(0), - Exporter: telemetry.SpanExporter{ - Otlp: &telemetry.Otlp{ + Exporter: config.SpanExporter{ + OTLP: &config.OTLP{ Protocol: "http/protobuf", Endpoint: "localhost:4318", Compression: strPtr("invalid"), diff --git a/service/telemetry.go b/service/telemetry.go index bec39c8adf73..b3bb91410e45 100644 --- a/service/telemetry.go +++ b/service/telemetry.go @@ -17,6 +17,7 @@ import ( ocmetric "go.opencensus.io/metric" "go.opencensus.io/metric/metricproducer" "go.opencensus.io/stats/view" + "go.opentelemetry.io/contrib/config" "go.opentelemetry.io/contrib/propagators/b3" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/metric" @@ -130,12 +131,12 @@ func (tel *telemetryInitializer) initMetrics(res *resource.Resource, logger *zap return err } if cfg.Metrics.Readers == nil { - cfg.Metrics.Readers = []telemetry.MetricReader{} + cfg.Metrics.Readers = []config.MetricReader{} } - cfg.Metrics.Readers = append(cfg.Metrics.Readers, telemetry.MetricReader{ - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ - Prometheus: &telemetry.Prometheus{ + cfg.Metrics.Readers = append(cfg.Metrics.Readers, config.MetricReader{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ + Prometheus: &config.Prometheus{ Host: &host, Port: &portInt, }, diff --git a/service/telemetry/config.go b/service/telemetry/config.go index becc1b11e38e..19d9f58f18f8 100644 --- a/service/telemetry/config.go +++ b/service/telemetry/config.go @@ -10,8 +10,6 @@ import ( "go.uber.org/zap/zapcore" "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/internal/obsreportconfig" ) // Config defines the configurable settings for service telemetry. @@ -149,71 +147,3 @@ func (c *Config) Validate() error { return nil } - -func (sp *SpanProcessor) Unmarshal(conf *confmap.Conf) error { - if !obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate.IsEnabled() { - // only unmarshal if feature gate is enabled - return nil - } - - if conf == nil { - return nil - } - - if err := conf.Unmarshal(sp); err != nil { - return fmt.Errorf("invalid span processor configuration: %w", err) - } - - if sp.Batch != nil { - return sp.Batch.Exporter.Validate() - } - return fmt.Errorf("unsupported span processor type %s", conf.AllKeys()) -} - -// Validate checks for valid exporters to be configured for the SpanExporter -func (se *SpanExporter) Validate() error { - if se.Console == nil && se.Otlp == nil { - return fmt.Errorf("invalid exporter configuration") - } - return nil -} - -func (mr *MetricReader) Unmarshal(conf *confmap.Conf) error { - if !obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate.IsEnabled() { - // only unmarshal if feature gate is enabled - return nil - } - - if conf == nil { - return nil - } - - if err := conf.Unmarshal(mr); err != nil { - return fmt.Errorf("invalid metric reader configuration: %w", err) - } - - if mr.Pull != nil { - return mr.Pull.Validate() - } - if mr.Periodic != nil { - return mr.Periodic.Validate() - } - - return fmt.Errorf("unsupported metric reader type %s", conf.AllKeys()) -} - -// Validate checks for valid exporters to be configured for the PullMetricReader -func (pmr *PullMetricReader) Validate() error { - if pmr.Exporter.Prometheus == nil { - return fmt.Errorf("invalid exporter configuration") - } - return nil -} - -// Validate checks for valid exporters to be configured for the PeriodicMetricReader -func (pmr *PeriodicMetricReader) Validate() error { - if pmr.Exporter.Otlp == nil && pmr.Exporter.Console == nil { - return fmt.Errorf("invalid exporter configuration") - } - return nil -} diff --git a/service/telemetry/config_test.go b/service/telemetry/config_test.go index 8af1616fb92b..6007b32704cc 100644 --- a/service/telemetry/config_test.go +++ b/service/telemetry/config_test.go @@ -7,12 +7,8 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/featuregate" - "go.opentelemetry.io/collector/internal/obsreportconfig" ) func TestLoadConfig(t *testing.T) { @@ -67,177 +63,178 @@ func TestLoadConfig(t *testing.T) { } } +// TODO: review where unmarshal tests should live // Force the state of feature gate for a test -func setFeatureGateForTest(t testing.TB, gate *featuregate.Gate, enabled bool) func() { - originalValue := gate.IsEnabled() - require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), enabled)) - return func() { - require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), originalValue)) - } -} +// func setFeatureGateForTest(t testing.TB, gate *featuregate.Gate, enabled bool) func() { +// originalValue := gate.IsEnabled() +// require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), enabled)) +// return func() { +// require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), originalValue)) +// } +// } -func TestUnmarshalMetricReaderWithGateOff(t *testing.T) { - defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, false)() - reader := MetricReader{} - assert.NoError(t, reader.Unmarshal(confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}))) -} +// func TestUnmarshalMetricReaderWithGateOff(t *testing.T) { +// defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, false)() +// reader := MetricReader{} +// assert.NoError(t, reader.Unmarshal(confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}))) +// } -func TestUnmarshalMetricReader(t *testing.T) { - defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, true)() - tests := []struct { - name string - cfg *confmap.Conf - err string - }{ - { - name: "invalid config", - cfg: confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}), - err: "unsupported metric reader type [invalid]", - }, - { - name: "nil config, nothing to do", - }, - { - name: "invalid pull reader type with valid prometheus exporter", - cfg: confmap.NewFromStringMap(map[string]any{"pull/prometheus1": PullMetricReader{ - Exporter: MetricExporter{ - Prometheus: &Prometheus{}, - }, - }}), - err: "unsupported metric reader type [pull/prometheus1]", - }, - { - name: "valid reader type, invalid config", - cfg: confmap.NewFromStringMap(map[string]any{"pull": "garbage"}), - err: "invalid metric reader configuration", - }, - { - name: "valid pull reader type, no exporter", - cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{}}), - err: "invalid exporter configuration", - }, - { - name: "valid pull reader type, invalid exporter", - cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{ - Exporter: MetricExporter{ - Prometheus: nil, - }, - }}), - err: "invalid exporter configuration", - }, - { - name: "valid pull reader type, valid prometheus exporter", - cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{ - Exporter: MetricExporter{ - Prometheus: &Prometheus{}, - }, - }}), - }, - { - name: "valid periodic reader type, valid console exporter", - cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ - Exporter: MetricExporter{ - Console: Console{}, - }, - }}), - }, - { - name: "valid periodic reader type, invalid console exporter", - cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ - Exporter: MetricExporter{ - Prometheus: &Prometheus{}, - }, - }}), - err: "invalid exporter configuration", - }, - { - name: "valid periodic reader type, valid otlp exporter", - cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ - Exporter: MetricExporter{ - Otlp: &OtlpMetric{}, - }, - }}), - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - reader := MetricReader{} - err := reader.Unmarshal(tt.cfg) - if len(tt.err) > 0 { - assert.ErrorContains(t, err, tt.err) - } else { - assert.NoError(t, err) - } - }) - } -} +// func TestUnmarshalMetricReader(t *testing.T) { +// defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, true)() +// tests := []struct { +// name string +// cfg *confmap.Conf +// err string +// }{ +// { +// name: "invalid config", +// cfg: confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}), +// err: "unsupported metric reader type [invalid]", +// }, +// { +// name: "nil config, nothing to do", +// }, +// { +// name: "invalid pull reader type with valid prometheus exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"pull/prometheus1": PullMetricReader{ +// Exporter: MetricExporter{ +// Prometheus: &Prometheus{}, +// }, +// }}), +// err: "unsupported metric reader type [pull/prometheus1]", +// }, +// { +// name: "valid reader type, invalid config", +// cfg: confmap.NewFromStringMap(map[string]any{"pull": "garbage"}), +// err: "invalid metric reader configuration", +// }, +// { +// name: "valid pull reader type, no exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{}}), +// err: "invalid exporter configuration", +// }, +// { +// name: "valid pull reader type, invalid exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{ +// Exporter: MetricExporter{ +// Prometheus: nil, +// }, +// }}), +// err: "invalid exporter configuration", +// }, +// { +// name: "valid pull reader type, valid prometheus exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"pull": PullMetricReader{ +// Exporter: MetricExporter{ +// Prometheus: &Prometheus{}, +// }, +// }}), +// }, +// { +// name: "valid periodic reader type, valid console exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ +// Exporter: MetricExporter{ +// Console: Console{}, +// }, +// }}), +// }, +// { +// name: "valid periodic reader type, invalid console exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ +// Exporter: MetricExporter{ +// Prometheus: &Prometheus{}, +// }, +// }}), +// err: "invalid exporter configuration", +// }, +// { +// name: "valid periodic reader type, valid otlp exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"periodic": PeriodicMetricReader{ +// Exporter: MetricExporter{ +// OTLP: &OTLPMetric{}, +// }, +// }}), +// }, +// } +// for _, tt := range tests { +// t.Run(tt.name, func(t *testing.T) { +// reader := MetricReader{} +// err := reader.Unmarshal(tt.cfg) +// if len(tt.err) > 0 { +// assert.ErrorContains(t, err, tt.err) +// } else { +// assert.NoError(t, err) +// } +// }) +// } +// } -func TestUnmarshalSpanProcessorWithGateOff(t *testing.T) { - defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, false)() - sp := SpanProcessor{} - assert.NoError(t, sp.Unmarshal(confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}))) -} +// func TestUnmarshalSpanProcessorWithGateOff(t *testing.T) { +// defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, false)() +// sp := SpanProcessor{} +// assert.NoError(t, sp.Unmarshal(confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}))) +// } -func TestUnmarshalSpanProcessor(t *testing.T) { - defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, true)() - tests := []struct { - name string - cfg *confmap.Conf - err string - }{ - { - name: "invalid config", - cfg: confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}), - err: "unsupported span processor type [invalid]", - }, - { - name: "nil config, nothing to do", - }, - { - name: "invalid batch processor type with valid console exporter", - cfg: confmap.NewFromStringMap(map[string]any{"thing": BatchSpanProcessor{ - Exporter: SpanExporter{ - Console: Console{}, - }, - }}), - err: "unsupported span processor type [thing]", - }, - { - name: "valid batch processor, invalid config", - cfg: confmap.NewFromStringMap(map[string]any{"batch": "garbage"}), - err: "invalid span processor configuration", - }, - { - name: "valid batch processor, no exporter", - cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{}}), - err: "invalid exporter configuration", - }, - { - name: "valid batch processor, valid console exporter", - cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{ - Exporter: SpanExporter{ - Console: Console{}, - }, - }}), - }, - { - name: "valid batch processor type, valid otlp exporter", - cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{ - Exporter: SpanExporter{ - Otlp: &Otlp{}, - }, - }}), - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - processor := SpanProcessor{} - err := processor.Unmarshal(tt.cfg) - if len(tt.err) > 0 { - assert.ErrorContains(t, err, tt.err) - } else { - assert.NoError(t, err) - } - }) - } -} +// func TestUnmarshalSpanProcessor(t *testing.T) { +// defer setFeatureGateForTest(t, obsreportconfig.UseOtelWithSDKConfigurationForInternalTelemetryFeatureGate, true)() +// tests := []struct { +// name string +// cfg *confmap.Conf +// err string +// }{ +// { +// name: "invalid config", +// cfg: confmap.NewFromStringMap(map[string]any{"invalid": "invalid"}), +// err: "unsupported span processor type [invalid]", +// }, +// { +// name: "nil config, nothing to do", +// }, +// { +// name: "invalid batch processor type with valid console exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"thing": BatchSpanProcessor{ +// Exporter: SpanExporter{ +// Console: Console{}, +// }, +// }}), +// err: "unsupported span processor type [thing]", +// }, +// { +// name: "valid batch processor, invalid config", +// cfg: confmap.NewFromStringMap(map[string]any{"batch": "garbage"}), +// err: "invalid span processor configuration", +// }, +// { +// name: "valid batch processor, no exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{}}), +// err: "invalid exporter configuration", +// }, +// { +// name: "valid batch processor, valid console exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{ +// Exporter: SpanExporter{ +// Console: Console{}, +// }, +// }}), +// }, +// { +// name: "valid batch processor type, valid otlp exporter", +// cfg: confmap.NewFromStringMap(map[string]any{"batch": BatchSpanProcessor{ +// Exporter: SpanExporter{ +// Otlp: &Otlp{}, +// }, +// }}), +// }, +// } +// for _, tt := range tests { +// t.Run(tt.name, func(t *testing.T) { +// processor := SpanProcessor{} +// err := processor.Unmarshal(tt.cfg) +// if len(tt.err) > 0 { +// assert.ErrorContains(t, err, tt.err) +// } else { +// assert.NoError(t, err) +// } +// }) +// } +// } diff --git a/service/telemetry/generated_config.go b/service/telemetry/generated_config.go index 340d9aac7662..95622aa727cf 100644 --- a/service/telemetry/generated_config.go +++ b/service/telemetry/generated_config.go @@ -3,575 +3,116 @@ package telemetry import ( - "encoding/json" - "fmt" + "go.opentelemetry.io/contrib/config" ) -type Attributes struct { - // ServiceName corresponds to the JSON schema field "service.name". - ServiceName *string `mapstructure:"service.name,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Attributes instead. +type Attributes = config.Attributes -type BatchLogRecordProcessor struct { - // ExportTimeout corresponds to the JSON schema field "export_timeout". - ExportTimeout *int `mapstructure:"export_timeout,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".BatchLogRecordProcessor instead. +type BatchLogRecordProcessor = config.BatchLogRecordProcessor - // Exporter corresponds to the JSON schema field "exporter". - Exporter LogRecordExporter `mapstructure:"exporter"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".BatchSpanProcessor instead. +type BatchSpanProcessor = config.BatchSpanProcessor - // MaxExportBatchSize corresponds to the JSON schema field - // "max_export_batch_size". - MaxExportBatchSize *int `mapstructure:"max_export_batch_size,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Common instead. +type CommonJson = config.Common - // MaxQueueSize corresponds to the JSON schema field "max_queue_size". - MaxQueueSize *int `mapstructure:"max_queue_size,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Console instead. +type Console = config.Console - // ScheduleDelay corresponds to the JSON schema field "schedule_delay". - ScheduleDelay *int `mapstructure:"schedule_delay,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Headers instead. +type Headers = config.Headers -type BatchSpanProcessor struct { - // ExportTimeout corresponds to the JSON schema field "export_timeout". - ExportTimeout *int `mapstructure:"export_timeout,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".LogRecordExporter instead. +type LogRecordExporter = config.LogRecordExporter - // Exporter corresponds to the JSON schema field "exporter". - Exporter SpanExporter `mapstructure:"exporter"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".LogRecordLimits instead. +type LogRecordLimits = config.LogRecordLimits - // MaxExportBatchSize corresponds to the JSON schema field - // "max_export_batch_size". - MaxExportBatchSize *int `mapstructure:"max_export_batch_size,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".LogRecordProcessor instead. +type LogRecordProcessor = config.LogRecordProcessor - // MaxQueueSize corresponds to the JSON schema field "max_queue_size". - MaxQueueSize *int `mapstructure:"max_queue_size,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".LoggerProvider instead. +type LoggerProviderJson = config.LoggerProvider - // ScheduleDelay corresponds to the JSON schema field "schedule_delay". - ScheduleDelay *int `mapstructure:"schedule_delay,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".MeterProvider instead. +type MeterProviderJson = config.MeterProvider -type CommonJson map[string]interface{} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".MetricExporter instead. +type MetricExporter = config.MetricExporter -type Console map[string]interface{} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".MetricReader instead. +type MetricReader = config.MetricReader -type Headers map[string]string +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".OTLP instead. +type Otlp = config.OTLP -type LogRecordExporter struct { - // Otlp corresponds to the JSON schema field "otlp". - Otlp *Otlp `mapstructure:"otlp,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".OTLPMetric instead. +type OtlpMetric = config.OTLPMetric -type LogRecordLimits struct { - // AttributeCountLimit corresponds to the JSON schema field - // "attribute_count_limit". - AttributeCountLimit *int `mapstructure:"attribute_count_limit,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".PeriodicMetricReader instead. +type PeriodicMetricReader = config.PeriodicMetricReader - // AttributeValueLengthLimit corresponds to the JSON schema field - // "attribute_value_length_limit". - AttributeValueLengthLimit *int `mapstructure:"attribute_value_length_limit,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Prometheus instead. +type Prometheus = config.Prometheus -type LogRecordProcessor struct { - // Batch corresponds to the JSON schema field "batch". - Batch *BatchLogRecordProcessor `mapstructure:"batch,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".PullMetricReader instead. +type PullMetricReader = config.PullMetricReader - // Simple corresponds to the JSON schema field "simple". - Simple *SimpleLogRecordProcessor `mapstructure:"simple,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Resource instead. +type ResourceJson = config.Resource -type LoggerProviderJson struct { - // Limits corresponds to the JSON schema field "limits". - Limits *LogRecordLimits `mapstructure:"limits,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".Sampler instead. +type Sampler = config.Sampler - // Processors corresponds to the JSON schema field "processors". - Processors []LogRecordProcessor `mapstructure:"processors,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SamplerAlwaysOff instead. +type SamplerAlwaysOff = config.SamplerAlwaysOff -type MeterProviderJson struct { - // Readers corresponds to the JSON schema field "readers". - Readers []MetricReader `mapstructure:"readers,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SamplerAlwaysOn instead. +type SamplerAlwaysOn = config.SamplerAlwaysOn - // Views corresponds to the JSON schema field "views". - Views []View `mapstructure:"views,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".ViewStreamAggregationExplicitBucketHistogram instead. +type ViewStreamAggregationExplicitBucketHistogram = config.ViewStreamAggregationExplicitBucketHistogram -type MetricExporter struct { - // Console corresponds to the JSON schema field "console". - Console Console `mapstructure:"console,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".ViewStreamAggregationBase2ExponentialBucketHistogram instead. +type ViewStreamAggregationExponentialBucketHistogram = config.ViewStreamAggregationBase2ExponentialBucketHistogram - // Otlp corresponds to the JSON schema field "otlp". - Otlp *OtlpMetric `mapstructure:"otlp,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".ViewStreamAggregation instead. +type ViewStreamAggregation = config.ViewStreamAggregation - // Prometheus corresponds to the JSON schema field "prometheus". - Prometheus *Prometheus `mapstructure:"prometheus,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".ViewStream instead. +type ViewStream = config.ViewStream -type MetricReader struct { - // Periodic corresponds to the JSON schema field "periodic". - Periodic *PeriodicMetricReader `mapstructure:"periodic,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".View instead. +type View = config.View - // Pull corresponds to the JSON schema field "pull". - Pull *PullMetricReader `mapstructure:"pull,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SpanExporter instead. +type SpanExporter = config.SpanExporter -type Otlp struct { - // Certificate corresponds to the JSON schema field "certificate". - Certificate *string `mapstructure:"certificate,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".ViewSelector instead. +type ViewSelector = config.ViewSelector - // ClientCertificate corresponds to the JSON schema field "client_certificate". - ClientCertificate *string `mapstructure:"client_certificate,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SimpleLogRecordProcessor instead. +type SimpleLogRecordProcessor = config.SimpleLogRecordProcessor - // ClientKey corresponds to the JSON schema field "client_key". - ClientKey *string `mapstructure:"client_key,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SamplerJaegerRemote instead. +type SamplerJaegerRemote = config.SamplerJaegerRemote - // Compression corresponds to the JSON schema field "compression". - Compression *string `mapstructure:"compression,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SamplerParentBased instead. +type SamplerParentBased = config.SamplerParentBased - // Endpoint corresponds to the JSON schema field "endpoint". - Endpoint string `mapstructure:"endpoint"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SamplerTraceIDRatioBased instead. +type SamplerTraceIdRatioBased = config.SamplerTraceIDRatioBased - // Headers corresponds to the JSON schema field "headers". - Headers Headers `mapstructure:"headers,omitempty"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SimpleSpanProcessor instead. +type SimpleSpanProcessor = config.SimpleSpanProcessor - // Protocol corresponds to the JSON schema field "protocol". - Protocol string `mapstructure:"protocol"` +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SpanLimits instead. +type SpanLimits = config.SpanLimits - // Timeout corresponds to the JSON schema field "timeout". - Timeout *int `mapstructure:"timeout,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".SpanProcessor instead. +type SpanProcessor = config.SpanProcessor -type OtlpMetric struct { - // Certificate corresponds to the JSON schema field "certificate". - Certificate *string `mapstructure:"certificate,omitempty"` - - // ClientCertificate corresponds to the JSON schema field "client_certificate". - ClientCertificate *string `mapstructure:"client_certificate,omitempty"` - - // ClientKey corresponds to the JSON schema field "client_key". - ClientKey *string `mapstructure:"client_key,omitempty"` - - // Compression corresponds to the JSON schema field "compression". - Compression *string `mapstructure:"compression,omitempty"` - - // DefaultHistogramAggregation corresponds to the JSON schema field - // "default_histogram_aggregation". - DefaultHistogramAggregation *string `mapstructure:"default_histogram_aggregation,omitempty"` - - // Endpoint corresponds to the JSON schema field "endpoint". - Endpoint string `mapstructure:"endpoint"` - - // Headers corresponds to the JSON schema field "headers". - Headers Headers `mapstructure:"headers,omitempty"` - - // Protocol corresponds to the JSON schema field "protocol". - Protocol string `mapstructure:"protocol"` - - // TemporalityPreference corresponds to the JSON schema field - // "temporality_preference". - TemporalityPreference *string `mapstructure:"temporality_preference,omitempty"` - - // Timeout corresponds to the JSON schema field "timeout". - Timeout *int `mapstructure:"timeout,omitempty"` -} - -type PeriodicMetricReader struct { - // Exporter corresponds to the JSON schema field "exporter". - Exporter MetricExporter `mapstructure:"exporter"` - - // Interval corresponds to the JSON schema field "interval". - Interval *int `mapstructure:"interval,omitempty"` - - // Timeout corresponds to the JSON schema field "timeout". - Timeout *int `mapstructure:"timeout,omitempty"` -} - -type Prometheus struct { - // Host corresponds to the JSON schema field "host". - Host *string `mapstructure:"host,omitempty"` - - // Port corresponds to the JSON schema field "port". - Port *int `mapstructure:"port,omitempty"` -} - -type PullMetricReader struct { - // Exporter corresponds to the JSON schema field "exporter". - Exporter MetricExporter `mapstructure:"exporter"` -} - -type ResourceJson struct { - // Attributes corresponds to the JSON schema field "attributes". - Attributes *Attributes `mapstructure:"attributes,omitempty"` -} - -type Sampler struct { - // AlwaysOff corresponds to the JSON schema field "always_off". - AlwaysOff SamplerAlwaysOff `mapstructure:"always_off,omitempty"` - - // AlwaysOn corresponds to the JSON schema field "always_on". - AlwaysOn SamplerAlwaysOn `mapstructure:"always_on,omitempty"` - - // JaegerRemote corresponds to the JSON schema field "jaeger_remote". - JaegerRemote *SamplerJaegerRemote `mapstructure:"jaeger_remote,omitempty"` - - // ParentBased corresponds to the JSON schema field "parent_based". - ParentBased *SamplerParentBased `mapstructure:"parent_based,omitempty"` - - // TraceIdRatioBased corresponds to the JSON schema field "trace_id_ratio_based". - TraceIdRatioBased *SamplerTraceIdRatioBased `mapstructure:"trace_id_ratio_based,omitempty"` -} - -type SamplerAlwaysOff map[string]interface{} - -type SamplerAlwaysOn map[string]interface{} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *BatchSpanProcessor) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in BatchSpanProcessor: required") - } - type Plain BatchSpanProcessor - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = BatchSpanProcessor(plain) - return nil -} - -type ViewStreamAggregationExplicitBucketHistogram struct { - // Boundaries corresponds to the JSON schema field "boundaries". - Boundaries []float64 `mapstructure:"boundaries,omitempty"` - - // RecordMinMax corresponds to the JSON schema field "record_min_max". - RecordMinMax *bool `mapstructure:"record_min_max,omitempty"` -} - -type ViewStreamAggregationExponentialBucketHistogram struct { - // MaxScale corresponds to the JSON schema field "max_scale". - MaxScale *int `mapstructure:"max_scale,omitempty"` - - // MaxSize corresponds to the JSON schema field "max_size". - MaxSize *int `mapstructure:"max_size,omitempty"` - - // RecordMinMax corresponds to the JSON schema field "record_min_max". - RecordMinMax *bool `mapstructure:"record_min_max,omitempty"` -} - -type ViewStreamAggregation struct { - // Default corresponds to the JSON schema field "default". - Default interface{} `mapstructure:"default,omitempty"` - - // Drop corresponds to the JSON schema field "drop". - Drop interface{} `mapstructure:"drop,omitempty"` - - // ExplicitBucketHistogram corresponds to the JSON schema field - // "explicit_bucket_histogram". - ExplicitBucketHistogram *ViewStreamAggregationExplicitBucketHistogram `mapstructure:"explicit_bucket_histogram,omitempty"` - - // ExponentialBucketHistogram corresponds to the JSON schema field - // "exponential_bucket_histogram". - ExponentialBucketHistogram *ViewStreamAggregationExponentialBucketHistogram `mapstructure:"exponential_bucket_histogram,omitempty"` - - // LastValue corresponds to the JSON schema field "last_value". - LastValue interface{} `mapstructure:"last_value,omitempty"` - - // Sum corresponds to the JSON schema field "sum". - Sum interface{} `mapstructure:"sum,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *ViewStreamAggregation) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - type Plain ViewStreamAggregation - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.Default != nil { - return fmt.Errorf("field %s: must be null", "default") - } - if plain.Drop != nil { - return fmt.Errorf("field %s: must be null", "drop") - } - if plain.LastValue != nil { - return fmt.Errorf("field %s: must be null", "last_value") - } - if plain.Sum != nil { - return fmt.Errorf("field %s: must be null", "sum") - } - *j = ViewStreamAggregation(plain) - return nil -} - -type ViewStream struct { - // Aggregation corresponds to the JSON schema field "aggregation". - Aggregation *ViewStreamAggregation `mapstructure:"aggregation,omitempty"` - - // AttributeKeys corresponds to the JSON schema field "attribute_keys". - AttributeKeys []string `mapstructure:"attribute_keys,omitempty"` - - // Description corresponds to the JSON schema field "description". - Description *string `mapstructure:"description,omitempty"` - - // Name corresponds to the JSON schema field "name". - Name *string `mapstructure:"name,omitempty"` -} - -type View struct { - // Selector corresponds to the JSON schema field "selector". - Selector *ViewSelector `mapstructure:"selector,omitempty"` - - // Stream corresponds to the JSON schema field "stream". - Stream *ViewStream `mapstructure:"stream,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *PullMetricReader) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in PullMetricReader: required") - } - type Plain PullMetricReader - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = PullMetricReader(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *Otlp) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["endpoint"]; !ok || v == nil { - return fmt.Errorf("field endpoint in Otlp: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in Otlp: required") - } - type Plain Otlp - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = Otlp(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *PeriodicMetricReader) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in PeriodicMetricReader: required") - } - type Plain PeriodicMetricReader - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = PeriodicMetricReader(plain) - return nil -} - -type SpanExporter struct { - // Console corresponds to the JSON schema field "console". - Console Console `mapstructure:"console,omitempty"` - - // Otlp corresponds to the JSON schema field "otlp". - Otlp *Otlp `mapstructure:"otlp,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *OtlpMetric) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["endpoint"]; !ok || v == nil { - return fmt.Errorf("field endpoint in OtlpMetric: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in OtlpMetric: required") - } - type Plain OtlpMetric - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = OtlpMetric(plain) - return nil -} - -type ViewSelector struct { - // InstrumentName corresponds to the JSON schema field "instrument_name". - InstrumentName *string `mapstructure:"instrument_name,omitempty"` - - // InstrumentType corresponds to the JSON schema field "instrument_type". - InstrumentType *string `mapstructure:"instrument_type,omitempty"` - - // MeterName corresponds to the JSON schema field "meter_name". - MeterName *string `mapstructure:"meter_name,omitempty"` - - // MeterSchemaUrl corresponds to the JSON schema field "meter_schema_url". - MeterSchemaUrl *string `mapstructure:"meter_schema_url,omitempty"` - - // MeterVersion corresponds to the JSON schema field "meter_version". - MeterVersion *string `mapstructure:"meter_version,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *BatchLogRecordProcessor) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in BatchLogRecordProcessor: required") - } - type Plain BatchLogRecordProcessor - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = BatchLogRecordProcessor(plain) - return nil -} - -type SimpleLogRecordProcessor struct { - // Exporter corresponds to the JSON schema field "exporter". - Exporter LogRecordExporter `mapstructure:"exporter"` -} - -type SamplerJaegerRemote struct { - // Endpoint corresponds to the JSON schema field "endpoint". - Endpoint *string `mapstructure:"endpoint,omitempty"` - - // InitialSampler corresponds to the JSON schema field "initial_sampler". - InitialSampler *Sampler `mapstructure:"initial_sampler,omitempty"` - - // Interval corresponds to the JSON schema field "interval". - Interval *int `mapstructure:"interval,omitempty"` -} - -type SamplerParentBased struct { - // LocalParentNotSampled corresponds to the JSON schema field - // "local_parent_not_sampled". - LocalParentNotSampled *Sampler `mapstructure:"local_parent_not_sampled,omitempty"` - - // LocalParentSampled corresponds to the JSON schema field "local_parent_sampled". - LocalParentSampled *Sampler `mapstructure:"local_parent_sampled,omitempty"` - - // RemoteParentNotSampled corresponds to the JSON schema field - // "remote_parent_not_sampled". - RemoteParentNotSampled *Sampler `mapstructure:"remote_parent_not_sampled,omitempty"` - - // RemoteParentSampled corresponds to the JSON schema field - // "remote_parent_sampled". - RemoteParentSampled *Sampler `mapstructure:"remote_parent_sampled,omitempty"` - - // Root corresponds to the JSON schema field "root". - Root *Sampler `mapstructure:"root,omitempty"` -} - -type SamplerTraceIdRatioBased struct { - // Ratio corresponds to the JSON schema field "ratio". - Ratio *float64 `mapstructure:"ratio,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SimpleLogRecordProcessor) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in SimpleLogRecordProcessor: required") - } - type Plain SimpleLogRecordProcessor - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SimpleLogRecordProcessor(plain) - return nil -} - -type SimpleSpanProcessor struct { - // Exporter corresponds to the JSON schema field "exporter". - Exporter SpanExporter `mapstructure:"exporter"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SimpleSpanProcessor) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["exporter"]; !ok || v == nil { - return fmt.Errorf("field exporter in SimpleSpanProcessor: required") - } - type Plain SimpleSpanProcessor - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SimpleSpanProcessor(plain) - return nil -} - -type SpanLimits struct { - // AttributeCountLimit corresponds to the JSON schema field - // "attribute_count_limit". - AttributeCountLimit *int `mapstructure:"attribute_count_limit,omitempty"` - - // AttributeValueLengthLimit corresponds to the JSON schema field - // "attribute_value_length_limit". - AttributeValueLengthLimit *int `mapstructure:"attribute_value_length_limit,omitempty"` - - // EventAttributeCountLimit corresponds to the JSON schema field - // "event_attribute_count_limit". - EventAttributeCountLimit *int `mapstructure:"event_attribute_count_limit,omitempty"` - - // EventCountLimit corresponds to the JSON schema field "event_count_limit". - EventCountLimit *int `mapstructure:"event_count_limit,omitempty"` - - // LinkAttributeCountLimit corresponds to the JSON schema field - // "link_attribute_count_limit". - LinkAttributeCountLimit *int `mapstructure:"link_attribute_count_limit,omitempty"` - - // LinkCountLimit corresponds to the JSON schema field "link_count_limit". - LinkCountLimit *int `mapstructure:"link_count_limit,omitempty"` -} - -type SpanProcessor struct { - // Batch corresponds to the JSON schema field "batch". - Batch *BatchSpanProcessor `mapstructure:"batch,omitempty"` - - // Simple corresponds to the JSON schema field "simple". - Simple *SimpleSpanProcessor `mapstructure:"simple,omitempty"` -} - -type TracerProviderJson struct { - // Limits corresponds to the JSON schema field "limits". - Limits *SpanLimits `mapstructure:"limits,omitempty"` - - // Processors corresponds to the JSON schema field "processors". - Processors []SpanProcessor `mapstructure:"processors,omitempty"` - - // Sampler corresponds to the JSON schema field "sampler". - Sampler *Sampler `mapstructure:"sampler,omitempty"` -} +// Deprecated: [v0.87.0] Use "go.opentelemetry.io/contrib/config".TracerProvider instead. +type TracerProviderJson = config.TracerProvider \ No newline at end of file diff --git a/service/telemetry_test.go b/service/telemetry_test.go index e22c7c88fd41..c7169190b58d 100644 --- a/service/telemetry_test.go +++ b/service/telemetry_test.go @@ -15,6 +15,7 @@ import ( "github.com/stretchr/testify/require" "go.opencensus.io/stats" "go.opencensus.io/stats/view" + "go.opentelemetry.io/contrib/config" "go.opentelemetry.io/otel/metric" "go.uber.org/zap" @@ -197,11 +198,11 @@ func TestTelemetryInit(t *testing.T) { Level: configtelemetry.LevelDetailed, }, Traces: telemetry.TracesConfig{ - Processors: []telemetry.SpanProcessor{ + Processors: []config.SpanProcessor{ { - Batch: &telemetry.BatchSpanProcessor{ - Exporter: telemetry.SpanExporter{ - Console: telemetry.Console{}, + Batch: &config.BatchSpanProcessor{ + Exporter: config.SpanExporter{ + Console: config.Console{}, }, }, }, @@ -250,10 +251,10 @@ func TestTelemetryInit(t *testing.T) { tel := newColTelemetry(tc.useOtel, tc.disableHighCard, tc.extendedConfig) buildInfo := component.NewDefaultBuildInfo() if tc.extendedConfig { - tc.cfg.Metrics.Readers = []telemetry.MetricReader{ + tc.cfg.Metrics.Readers = []config.MetricReader{ { - Pull: &telemetry.PullMetricReader{ - Exporter: telemetry.MetricExporter{ + Pull: &config.PullMetricReader{ + Exporter: config.MetricExporter{ Prometheus: testutil.GetAvailableLocalAddressPrometheus(t), }, },