diff --git a/.chloggen/remove_opencensus_receiver_exporter.yaml b/.chloggen/remove_opencensus_receiver_exporter.yaml new file mode 100644 index 0000000000000..5a5f388e1129f --- /dev/null +++ b/.chloggen/remove_opencensus_receiver_exporter.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: opencensusreceiver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Remove the deprecated opencensus receiver. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [36791] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/.chloggen/remove_opencensus_receiver_exporter2.yaml b/.chloggen/remove_opencensus_receiver_exporter2.yaml new file mode 100644 index 0000000000000..c7648b930b295 --- /dev/null +++ b/.chloggen/remove_opencensus_receiver_exporter2.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: opencensusexporter + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Remove the deprecated opencensus exporter. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [36791] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/.codecov.yml b/.codecov.yml index 9a71f413ee1e8..b60398e8f7c36 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -216,10 +216,6 @@ component_management: name: exporter_mezmo paths: - exporter/mezmoexporter/** - - component_id: exporter_opencensus - name: exporter_opencensus - paths: - - exporter/opencensusexporter/** - component_id: exporter_opensearch name: exporter_opensearch paths: @@ -800,10 +796,6 @@ component_management: name: receiver_ntp paths: - receiver/ntpreceiver/** - - component_id: receiver_opencensus - name: receiver_opencensus - paths: - - receiver/opencensusreceiver/** - component_id: receiver_oracledb name: receiver_oracledb paths: diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7e713398c3891..ebe2963cc3328 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -69,7 +69,6 @@ exporter/loadbalancingexporter/ @open-telemetry exporter/logicmonitorexporter/ @open-telemetry/collector-contrib-approvers @bogdandrutu @khyatigandhi6 @avadhut123pisal exporter/logzioexporter/ @open-telemetry/collector-contrib-approvers @yotamloe exporter/mezmoexporter/ @open-telemetry/collector-contrib-approvers @dashpole @billmeyer @gjanco -exporter/opencensusexporter/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers exporter/opensearchexporter/ @open-telemetry/collector-contrib-approvers @ps48 exporter/otelarrowexporter/ @open-telemetry/collector-contrib-approvers @jmacd @moh-osman3 @lquerel exporter/prometheusexporter/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @dashpole @ArthurSens @@ -282,7 +281,6 @@ receiver/netflowreceiver/ @open-telemetry receiver/nginxreceiver/ @open-telemetry/collector-contrib-approvers @colelaven @ishleenk17 receiver/nsxtreceiver/ @open-telemetry/collector-contrib-approvers @dashpole @schmikei receiver/ntpreceiver/ @open-telemetry/collector-contrib-approvers @atoulme -receiver/opencensusreceiver/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers receiver/oracledbreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @crobert-1 @atoulme receiver/osqueryreceiver/ @open-telemetry/collector-contrib-approvers @nslaughter @smithclay receiver/otelarrowreceiver/ @open-telemetry/collector-contrib-approvers @jmacd @moh-osman3 diff --git a/.github/ISSUE_TEMPLATE/beta_stability.yaml b/.github/ISSUE_TEMPLATE/beta_stability.yaml index ac2405e48ed46..63d60ae87c255 100644 --- a/.github/ISSUE_TEMPLATE/beta_stability.yaml +++ b/.github/ISSUE_TEMPLATE/beta_stability.yaml @@ -68,7 +68,6 @@ body: - exporter/logicmonitor - exporter/logzio - exporter/mezmo - - exporter/opencensus - exporter/opensearch - exporter/otelarrow - exporter/prometheus @@ -286,7 +285,6 @@ body: - receiver/nginx - receiver/nsxt - receiver/ntp - - receiver/opencensus - receiver/oracledb - receiver/osquery - receiver/otelarrow diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index e5270a868e20f..3ad11a71b7018 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -71,7 +71,6 @@ body: - exporter/logicmonitor - exporter/logzio - exporter/mezmo - - exporter/opencensus - exporter/opensearch - exporter/otelarrow - exporter/prometheus @@ -289,7 +288,6 @@ body: - receiver/nginx - receiver/nsxt - receiver/ntp - - receiver/opencensus - receiver/oracledb - receiver/osquery - receiver/otelarrow diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 9fd711a09135e..98c7d9fb7b3d3 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -65,7 +65,6 @@ body: - exporter/logicmonitor - exporter/logzio - exporter/mezmo - - exporter/opencensus - exporter/opensearch - exporter/otelarrow - exporter/prometheus @@ -283,7 +282,6 @@ body: - receiver/nginx - receiver/nsxt - receiver/ntp - - receiver/opencensus - receiver/oracledb - receiver/osquery - receiver/otelarrow diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index d4a750af2b942..ac5e9494c58f9 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -65,7 +65,6 @@ body: - exporter/logicmonitor - exporter/logzio - exporter/mezmo - - exporter/opencensus - exporter/opensearch - exporter/otelarrow - exporter/prometheus @@ -283,7 +282,6 @@ body: - receiver/nginx - receiver/nsxt - receiver/ntp - - receiver/opencensus - receiver/oracledb - receiver/osquery - receiver/otelarrow diff --git a/.github/ISSUE_TEMPLATE/unmaintained.yaml b/.github/ISSUE_TEMPLATE/unmaintained.yaml index 29244e9138fee..05ed2af08b2eb 100644 --- a/.github/ISSUE_TEMPLATE/unmaintained.yaml +++ b/.github/ISSUE_TEMPLATE/unmaintained.yaml @@ -70,7 +70,6 @@ body: - exporter/logicmonitor - exporter/logzio - exporter/mezmo - - exporter/opencensus - exporter/opensearch - exporter/otelarrow - exporter/prometheus @@ -288,7 +287,6 @@ body: - receiver/nginx - receiver/nsxt - receiver/ntp - - receiver/opencensus - receiver/oracledb - receiver/osquery - receiver/otelarrow diff --git a/.github/component_labels.txt b/.github/component_labels.txt index be68b8f6aeed2..4acfa6bc6286f 100644 --- a/.github/component_labels.txt +++ b/.github/component_labels.txt @@ -50,7 +50,6 @@ exporter/loadbalancingexporter exporter/loadbalancing exporter/logicmonitorexporter exporter/logicmonitor exporter/logzioexporter exporter/logzio exporter/mezmoexporter exporter/mezmo -exporter/opencensusexporter exporter/opencensus exporter/opensearchexporter exporter/opensearch exporter/otelarrowexporter exporter/otelarrow exporter/prometheusexporter exporter/prometheus @@ -263,7 +262,6 @@ receiver/netflowreceiver receiver/netflow receiver/nginxreceiver receiver/nginx receiver/nsxtreceiver receiver/nsxt receiver/ntpreceiver receiver/ntp -receiver/opencensusreceiver receiver/opencensus receiver/oracledbreceiver receiver/oracledb receiver/osqueryreceiver receiver/osquery receiver/otelarrowreceiver receiver/otelarrow diff --git a/cmd/opampsupervisor/go.mod b/cmd/opampsupervisor/go.mod index 06e57179f059f..056129bf7ff8b 100644 --- a/cmd/opampsupervisor/go.mod +++ b/cmd/opampsupervisor/go.mod @@ -43,7 +43,6 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect - github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/ebitengine/purego v0.8.4 // indirect @@ -62,7 +61,6 @@ require ( github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v1.0.0 // indirect github.com/google/go-tpm v0.9.5 // indirect github.com/gorilla/mux v1.8.1 // indirect @@ -92,23 +90,19 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stefexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stefreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.133.0 // indirect @@ -122,7 +116,6 @@ require ( github.com/prometheus/procfs v0.17.0 // indirect github.com/rs/cors v1.11.1 // indirect github.com/shirou/gopsutil/v4 v4.25.8-0.20250809033336-ffcdc2b7662f // indirect - github.com/soheilhy/cmux v0.1.5 // indirect github.com/spf13/cobra v1.9.1 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/splunk/stef/go/grpc v0.0.7 // indirect @@ -135,7 +128,6 @@ require ( github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect github.com/valyala/fastjson v1.6.4 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector v0.133.0 // indirect go.opentelemetry.io/collector/client v1.39.0 // indirect @@ -274,8 +266,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourceto replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver => ../../receiver/zipkinreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../../receiver/opencensusreceiver - replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent => ../../internal/sharedcomponent replace github.com/open-telemetry/opentelemetry-collector-contrib/testbed => ../../testbed @@ -284,16 +274,12 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datad replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver => ../../receiver/carbonreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../pkg/translator/opencensus - replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils => ../../pkg/core/xidutils -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../exporter/opencensusexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk => ../../internal/splunk replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver => ../../receiver/splunkhecreceiver diff --git a/cmd/opampsupervisor/go.sum b/cmd/opampsupervisor/go.sum index e0f24525acfba..ad35f632961c0 100644 --- a/cmd/opampsupervisor/go.sum +++ b/cmd/opampsupervisor/go.sum @@ -1,5 +1,3 @@ -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/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U= @@ -19,13 +17,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -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/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -37,10 +30,6 @@ github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= -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/expr-lang/expr v1.17.6 h1:1h6i8ONk9cexhDmowO/A64VPxHScu7qfSl2k8OlINec= github.com/expr-lang/expr v1.17.6/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -69,30 +58,13 @@ github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0 github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= 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/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 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.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -101,7 +73,6 @@ github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98= github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= @@ -190,7 +161,6 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= @@ -206,8 +176,6 @@ github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/shirou/gopsutil/v4 v4.25.8-0.20250809033336-ffcdc2b7662f h1:S+PHRM3lk96X0/cGEGUukqltzkX/ekUx0F9DoCGK1G0= github.com/shirou/gopsutil/v4 v4.25.8-0.20250809033336-ffcdc2b7662f/go.mod h1:4f4j4w8HLMPWEFs3BO2UBBLigKAaWYwkSkbIt/6Q4Ss= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= @@ -221,14 +189,9 @@ github.com/splunk/stef/go/pdata v0.0.7/go.mod h1:mPfS6rHSMacbWrVDo7N2v3AnTKZs2Gk github.com/splunk/stef/go/pkg v0.0.7 h1:6JPlkGPMokCHoCScAyU6jo8cXwSfhGKvGqD3uZMqAgA= github.com/splunk/stef/go/pkg v0.0.7/go.mod h1:eDMc/KOCPUv5ClCiF6Jcw8sDueYouDujMKhQoDbDtPw= 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/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= @@ -246,8 +209,6 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/collector v0.133.0 h1:Mwsad2QzN4SF+GP22Te7BrPjTzwvrXYbIumySY4LifU= @@ -470,12 +431,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 h1:bsqhLWFR6G6xiQcb+JoGqdKdRU6WzPWmK8E0jxTjzo4= golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= -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/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -483,16 +440,10 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.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-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.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= @@ -503,9 +454,6 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= -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= @@ -517,7 +465,6 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -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-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -557,10 +504,6 @@ golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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= @@ -574,31 +517,12 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -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/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ= google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= -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.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -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.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -607,11 +531,8 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -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= modernc.org/b/v2 v2.1.0 h1:kMD/G43EYnsFJI/0qK1F1X659XlSs41bp01MUDidHC0= modernc.org/b/v2 v2.1.0/go.mod h1:fQhHWDXrchyUSLjQYCslV/4uw04PW1LeiZ25D4SNmeo= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= diff --git a/cmd/otelcontribcol/builder-config.yaml b/cmd/otelcontribcol/builder-config.yaml index bd81409dc227a..f4d2051858442 100644 --- a/cmd/otelcontribcol/builder-config.yaml +++ b/cmd/otelcontribcol/builder-config.yaml @@ -95,7 +95,6 @@ exporters: - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.133.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.133.0 @@ -207,7 +206,6 @@ receivers: - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/ntpreceiver v0.133.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver v0.133.0 diff --git a/cmd/oteltestbedcol/builder-config.yaml b/cmd/oteltestbedcol/builder-config.yaml index e15254646e206..f0ee3616845e4 100644 --- a/cmd/oteltestbedcol/builder-config.yaml +++ b/cmd/oteltestbedcol/builder-config.yaml @@ -20,7 +20,6 @@ exporters: - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.133.0 - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.133.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.133.0 @@ -44,7 +43,6 @@ receivers: - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.133.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.133.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.133.0 diff --git a/exporter/elasticsearchexporter/integrationtest/go.mod b/exporter/elasticsearchexporter/integrationtest/go.mod index 0fe8b8edc92c3..e88aee7256cea 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.mod +++ b/exporter/elasticsearchexporter/integrationtest/go.mod @@ -42,7 +42,6 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect - github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cilium/ebpf v0.19.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect @@ -68,7 +67,6 @@ require ( github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v1.0.0 // indirect github.com/google/go-tpm v0.9.5 // indirect github.com/google/uuid v1.6.0 // indirect @@ -102,7 +100,6 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stefexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.133.0 // indirect @@ -114,10 +111,8 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stefreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.133.0 // indirect @@ -132,7 +127,6 @@ require ( github.com/prometheus/procfs v0.17.0 // indirect github.com/rs/cors v1.11.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect - github.com/soheilhy/cmux v0.1.5 // indirect github.com/spf13/cobra v1.9.1 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/splunk/stef/go/grpc v0.0.7 // indirect @@ -150,7 +144,6 @@ require ( go.elastic.co/apm/v2 v2.7.1 // indirect go.elastic.co/fastjson v1.5.1 // indirect go.etcd.io/bbolt v1.4.3 // indirect - go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector v0.133.0 // indirect go.opentelemetry.io/collector/client v1.39.0 // indirect @@ -255,8 +248,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/stor replace github.com/open-telemetry/opentelemetry-collector-contrib/testbed => ../../../testbed -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../opencensusexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter => ../../syslogexporter replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter => ../../zipkinexporter @@ -277,14 +268,10 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza => replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger => ../../../pkg/translator/jaeger -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../../pkg/translator/opencensus - replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin => ../../../pkg/translator/zipkin replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver => ../../../receiver/jaegerreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../../../receiver/opencensusreceiver - replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver => ../../../receiver/syslogreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver => ../../../receiver/zipkinreceiver diff --git a/exporter/elasticsearchexporter/integrationtest/go.sum b/exporter/elasticsearchexporter/integrationtest/go.sum index d0ba3f6cfa9c7..6be4cdf4c33be 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.sum +++ b/exporter/elasticsearchexporter/integrationtest/go.sum @@ -1,5 +1,3 @@ -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/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U= @@ -21,15 +19,10 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/ebpf v0.19.0 h1:Ro/rE64RmFBeA9FGjcTc+KmCeY6jXmryu6FfnzPRIao= github.com/cilium/ebpf v0.19.0/go.mod h1:fLCgMo3l8tZmAdM3B2XqdFzXBpwkcSTroaVqN08OWVY= -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/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -55,10 +48,6 @@ github.com/elastic/go-windows v1.0.2 h1:yoLLsAsV5cfg9FLhZ9EXZ2n2sQFKeDYrHenkcivY github.com/elastic/go-windows v1.0.2/go.mod h1:bGcDpBzXgYSqM0Gx3DM4+UxFj300SZLixie9u9ixLM8= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= -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/expr-lang/expr v1.17.6 h1:1h6i8ONk9cexhDmowO/A64VPxHScu7qfSl2k8OlINec= github.com/expr-lang/expr v1.17.6/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -89,30 +78,13 @@ github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0 github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= 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/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 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.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -121,7 +93,6 @@ github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98= github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= @@ -211,7 +182,6 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= @@ -229,8 +199,6 @@ github.com/shirou/gopsutil/v4 v4.25.8-0.20250809033336-ffcdc2b7662f h1:S+PHRM3lk github.com/shirou/gopsutil/v4 v4.25.8-0.20250809033336-ffcdc2b7662f/go.mod h1:4f4j4w8HLMPWEFs3BO2UBBLigKAaWYwkSkbIt/6Q4Ss= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= @@ -244,15 +212,10 @@ github.com/splunk/stef/go/pdata v0.0.7/go.mod h1:mPfS6rHSMacbWrVDo7N2v3AnTKZs2Gk github.com/splunk/stef/go/pkg v0.0.7 h1:6JPlkGPMokCHoCScAyU6jo8cXwSfhGKvGqD3uZMqAgA= github.com/splunk/stef/go/pkg v0.0.7/go.mod h1:eDMc/KOCPUv5ClCiF6Jcw8sDueYouDujMKhQoDbDtPw= 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/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= @@ -286,8 +249,6 @@ go.elastic.co/fastjson v1.5.1 h1:zeh1xHrFH79aQ6Xsw7YxixvnOdAl3OSv0xch/jRDzko= go.elastic.co/fastjson v1.5.1/go.mod h1:WtvH5wz8z9pDOPqNYSYKoLLv/9zCWZLeejHWuvdL/EM= go.etcd.io/bbolt v1.4.3 h1:dEadXpI6G79deX5prL3QRNP6JB8UxVkqo4UPnHaNXJo= go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/collector v0.133.0 h1:Mwsad2QzN4SF+GP22Te7BrPjTzwvrXYbIumySY4LifU= @@ -510,12 +471,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4= golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc= -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/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -523,16 +480,10 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.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-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.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= @@ -543,9 +494,6 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= -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= @@ -557,7 +505,6 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -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-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -598,10 +545,6 @@ golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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= @@ -615,31 +558,12 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -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/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ= google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= -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.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -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.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -652,8 +576,6 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= 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= howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= modernc.org/b/v2 v2.1.0 h1:kMD/G43EYnsFJI/0qK1F1X659XlSs41bp01MUDidHC0= diff --git a/exporter/logzioexporter/example/config.yaml b/exporter/logzioexporter/example/config.yaml index 57f47ffd4b4ce..b543539d3eff6 100644 --- a/exporter/logzioexporter/example/config.yaml +++ b/exporter/logzioexporter/example/config.yaml @@ -1,6 +1,4 @@ receivers: - opencensus: - endpoint: :55678 zipkin: endpoint: :9411 jaeger: @@ -27,7 +25,7 @@ service: extensions: [health_check, pprof, zpages] pipelines: traces: - receivers: [opencensus, jaeger, zipkin] + receivers: [jaeger, zipkin] processors: [batch] exporters: [logzio] diff --git a/exporter/opencensusexporter/Makefile b/exporter/opencensusexporter/Makefile deleted file mode 100644 index ded7a36092dc3..0000000000000 --- a/exporter/opencensusexporter/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../Makefile.Common diff --git a/exporter/opencensusexporter/README.md b/exporter/opencensusexporter/README.md deleted file mode 100644 index 2d485da686064..0000000000000 --- a/exporter/opencensusexporter/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# OpenCensus gRPC Exporter - - -| Status | | -| ------------- |-----------| -| Stability | [deprecated]: traces, metrics | -| Deprecation of metrics | [Date]: 2025-02-14 | -| | [Migration Note]: Use OTLP exporter (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) | -| Deprecation of traces | [Date]: 2025-02-14 | -| | [Migration Note]: use OTLP exporter (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) | -| Distributions | [core], [contrib] | -| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fopencensus%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fopencensus) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fopencensus%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fopencensus) | -| Code coverage | [![codecov](https://codecov.io/github/open-telemetry/opentelemetry-collector-contrib/graph/main/badge.svg?component=exporter_opencensus)](https://app.codecov.io/gh/open-telemetry/opentelemetry-collector-contrib/tree/main/?components%5B0%5D=exporter_opencensus&displayType=list) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@open-telemetry/collector-approvers](https://github.com/orgs/open-telemetry/teams/collector-approvers) | - -[deprecated]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecated -[Date]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information -[Migration Note]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information -[core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol -[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib - - -:warning: This component is deprecated, slated for removal in August 2025. Please use the OTLP receiver instead. - -Exports traces and/or metrics via gRPC using -[OpenCensus](https://opencensus.io/) format. - -## Getting Started - -The following settings are required: - -- `endpoint` (no default): host:port to which the exporter is going to send Jaeger trace data, -using the gRPC protocol. The valid syntax is described in -[grpc's naming.md](https://github.com/grpc/grpc/blob/master/doc/naming.md). - -By default, TLS is enabled and must be configured under `tls:`: - -- `insecure` (default = `false`): whether to enable client transport security for - the exporter's connection. - -As a result, the following parameters are also required under `tls:`: - -- `cert_file` (no default): path to the TLS cert to use for TLS required connections. Should - only be used if `insecure` is set to false. -- `key_file` (no default): path to the TLS key to use for TLS required connections. Should - only be used if `insecure` is set to false. - -Example: - -```yaml -exporters: - opencensus: - endpoint: opencensus2:55678 - tls: - cert_file: file.cert - key_file: file.key - opencensus/2: - endpoint: opencensus2:55678 - tls: - insecure: true -``` - -## Advanced Configuration - -Several helper files are leveraged to provide additional capabilities automatically: - -- [gRPC settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configgrpc/README.md) -- [TLS and mTLS settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md) -- [Queuing, retry and timeout settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md) diff --git a/exporter/opencensusexporter/config.go b/exporter/opencensusexporter/config.go deleted file mode 100644 index 9a7b68c8c770f..0000000000000 --- a/exporter/opencensusexporter/config.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - -import ( - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/configretry" - "go.opentelemetry.io/collector/exporter/exporterhelper" -) - -// Config defines configuration for OpenCensus exporter. -type Config struct { - configgrpc.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - QueueSettings exporterhelper.QueueBatchConfig `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - - // The number of workers that send the gRPC requests. - NumWorkers int `mapstructure:"num_workers"` -} - -var _ component.Config = (*Config)(nil) - -// Validate checks if the exporter configuration is valid -func (*Config) Validate() error { - return nil -} diff --git a/exporter/opencensusexporter/config_test.go b/exporter/opencensusexporter/config_test.go deleted file mode 100644 index b18f26f74a80f..0000000000000 --- a/exporter/opencensusexporter/config_test.go +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter - -import ( - "path/filepath" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configoptional" - "go.opentelemetry.io/collector/config/configretry" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/confmap/xconfmap" - "go.opentelemetry.io/collector/exporter/exporterhelper" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter/internal/metadata" -) - -func TestLoadConfig(t *testing.T) { - t.Parallel() - - cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) - require.NoError(t, err) - - tests := []struct { - id component.ID - expected component.Config - }{ - { - id: component.NewIDWithName(metadata.Type, ""), - expected: createDefaultConfig(), - }, - { - id: component.NewIDWithName(metadata.Type, "2"), - expected: &Config{ - BackOffConfig: configretry.BackOffConfig{ - Enabled: true, - InitialInterval: 10 * time.Second, - MaxInterval: 1 * time.Minute, - MaxElapsedTime: 10 * time.Minute, - }, - QueueSettings: exporterhelper.QueueBatchConfig{ - Enabled: true, - NumConsumers: 2, - QueueSize: 10, - }, - ClientConfig: configgrpc.ClientConfig{ - Headers: map[string]configopaque.String{ - "can you have a . here?": "F0000000-0000-0000-0000-000000000000", - "header1": "234", - "another": "somevalue", - }, - Endpoint: "1.2.3.4:1234", - Compression: "gzip", - TLS: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "/var/lib/mycert.pem", - }, - Insecure: false, - }, - Keepalive: configoptional.Some(configgrpc.KeepaliveClientConfig{ - Time: 20, - PermitWithoutStream: true, - Timeout: 30, - }), - WriteBufferSize: 512 * 1024, - BalancerName: "round_robin", - }, - NumWorkers: 123, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.id.String(), func(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - sub, err := cm.Sub(tt.id.String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - assert.NoError(t, xconfmap.Validate(cfg)) - assert.Equal(t, tt.expected, cfg) - }) - } -} diff --git a/exporter/opencensusexporter/doc.go b/exporter/opencensusexporter/doc.go deleted file mode 100644 index ce5d37f186ce9..0000000000000 --- a/exporter/opencensusexporter/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -//go:generate mdatagen metadata.yaml - -// Package opencensusexporter exports data to an OpenCensus agent. -// Deprecated: this exporter is no longer maintained and has reached end-of-life. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791 -package opencensusexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" diff --git a/exporter/opencensusexporter/factory.go b/exporter/opencensusexporter/factory.go deleted file mode 100644 index d6821b8e06621..0000000000000 --- a/exporter/opencensusexporter/factory.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - -import ( - "context" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exporterhelper" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter/internal/metadata" -) - -// NewFactory creates a factory for OTLP exporter. -func NewFactory() exporter.Factory { - return exporter.NewFactory( - metadata.Type, - createDefaultConfig, - exporter.WithTraces(createTracesExporter, metadata.TracesStability), - exporter.WithMetrics(createMetricsExporter, metadata.MetricsStability)) -} - -func createDefaultConfig() component.Config { - return &Config{ - ClientConfig: configgrpc.ClientConfig{ - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - }, - NumWorkers: 2, - } -} - -func createTracesExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Traces, error) { - oCfg := cfg.(*Config) - oce, err := newTracesExporter(ctx, oCfg, set.TelemetrySettings) - if err != nil { - return nil, err - } - - return exporterhelper.NewTraces( - ctx, - set, - cfg, - oce.pushTraces, - exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), - exporterhelper.WithRetry(oCfg.BackOffConfig), - exporterhelper.WithQueue(oCfg.QueueSettings), - exporterhelper.WithStart(oce.start), - exporterhelper.WithShutdown(oce.shutdown)) -} - -func createMetricsExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Metrics, error) { - oCfg := cfg.(*Config) - oce, err := newMetricsExporter(ctx, oCfg, set.TelemetrySettings) - if err != nil { - return nil, err - } - - return exporterhelper.NewMetrics( - ctx, - set, - cfg, - oce.pushMetrics, - exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), - exporterhelper.WithRetry(oCfg.BackOffConfig), - exporterhelper.WithQueue(oCfg.QueueSettings), - exporterhelper.WithStart(oce.start), - exporterhelper.WithShutdown(oce.shutdown)) -} diff --git a/exporter/opencensusexporter/factory_test.go b/exporter/opencensusexporter/factory_test.go deleted file mode 100644 index d2393d04e9cba..0000000000000 --- a/exporter/opencensusexporter/factory_test.go +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter - -import ( - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configoptional" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/exporter/exportertest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" -) - -func TestCreateDefaultConfig(t *testing.T) { - cfg := createDefaultConfig() - assert.NotNil(t, cfg, "failed to create default config") - assert.NoError(t, componenttest.CheckConfigStruct(cfg)) -} - -func TestCreateTraces(t *testing.T) { - endpoint := testutil.GetAvailableLocalAddress(t) - tests := []struct { - name string - config *Config - mustFailOnCreate bool - mustFailOnStart bool - }{ - { - name: "NoEndpoint", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: "", - }, - NumWorkers: 3, - }, - mustFailOnCreate: true, - }, - { - name: "ZeroNumWorkers", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Insecure: false, - }, - }, - NumWorkers: 0, - }, - mustFailOnCreate: true, - }, - { - name: "UseSecure", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Insecure: false, - }, - }, - NumWorkers: 3, - }, - }, - { - name: "Keepalive", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - Keepalive: configoptional.Some(configgrpc.KeepaliveClientConfig{ - Time: 30 * time.Second, - Timeout: 25 * time.Second, - PermitWithoutStream: true, - }), - }, - NumWorkers: 3, - }, - }, - { - name: "Compression", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - Compression: "gzip", - }, - NumWorkers: 3, - }, - }, - { - name: "Headers", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - Headers: map[string]configopaque.String{ - "hdr1": "val1", - "hdr2": "val2", - }, - }, - NumWorkers: 3, - }, - }, - { - name: "CompressionError", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - Compression: "unknown compression", - }, - NumWorkers: 3, - }, - mustFailOnCreate: false, - mustFailOnStart: true, - }, - { - name: "CaCert", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "testdata/test_cert.pem", - }, - }, - }, - NumWorkers: 3, - }, - }, - { - name: "CertPemFileError", - config: &Config{ - ClientConfig: configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "nosuchfile", - }, - }, - }, - NumWorkers: 3, - }, - mustFailOnCreate: false, - mustFailOnStart: true, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - set := exportertest.NewNopSettings(metadata.Type) - tExporter, tErr := createTracesExporter(t.Context(), set, tt.config) - checkErrorsAndStartAndShutdown(t, tExporter, tErr, tt.mustFailOnCreate, tt.mustFailOnStart) - mExporter, mErr := createMetricsExporter(t.Context(), set, tt.config) - checkErrorsAndStartAndShutdown(t, mExporter, mErr, tt.mustFailOnCreate, tt.mustFailOnStart) - }) - } -} - -func checkErrorsAndStartAndShutdown(t *testing.T, exporter component.Component, err error, mustFailOnCreate, mustFailOnStart bool) { - if mustFailOnCreate { - assert.Error(t, err) - return - } - assert.NoError(t, err) - assert.NotNil(t, exporter) - - sErr := exporter.Start(t.Context(), componenttest.NewNopHost()) - if mustFailOnStart { - require.Error(t, sErr) - return - } - require.NoError(t, sErr) - require.NoError(t, exporter.Shutdown(t.Context())) -} diff --git a/exporter/opencensusexporter/generated_component_test.go b/exporter/opencensusexporter/generated_component_test.go deleted file mode 100644 index 040f03b571ada..0000000000000 --- a/exporter/opencensusexporter/generated_component_test.go +++ /dev/null @@ -1,159 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package opencensusexporter - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -var typ = component.MustNewType("opencensus") - -func TestComponentFactoryType(t *testing.T) { - require.Equal(t, typ, NewFactory().Type()) -} - -func TestComponentConfigStruct(t *testing.T) { - require.NoError(t, componenttest.CheckConfigStruct(NewFactory().CreateDefaultConfig())) -} - -func TestComponentLifecycle(t *testing.T) { - factory := NewFactory() - - tests := []struct { - createFn func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) - name string - }{ - - { - name: "metrics", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetrics(ctx, set, cfg) - }, - }, - - { - name: "traces", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTraces(ctx, set, cfg) - }, - }, - } - - cm, err := confmaptest.LoadConf("metadata.yaml") - require.NoError(t, err) - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub("tests::config") - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(&cfg)) - - for _, tt := range tests { - t.Run(tt.name+"-shutdown", func(t *testing.T) { - c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(typ), cfg) - require.NoError(t, err) - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - t.Run(tt.name+"-lifecycle", func(t *testing.T) { - c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(typ), cfg) - require.NoError(t, err) - host := newMdatagenNopHost() - err = c.Start(context.Background(), host) - require.NoError(t, err) - require.NotPanics(t, func() { - switch tt.name { - case "logs": - e, ok := c.(exporter.Logs) - require.True(t, ok) - logs := generateLifecycleTestLogs() - if !e.Capabilities().MutatesData { - logs.MarkReadOnly() - } - err = e.ConsumeLogs(context.Background(), logs) - case "metrics": - e, ok := c.(exporter.Metrics) - require.True(t, ok) - metrics := generateLifecycleTestMetrics() - if !e.Capabilities().MutatesData { - metrics.MarkReadOnly() - } - err = e.ConsumeMetrics(context.Background(), metrics) - case "traces": - e, ok := c.(exporter.Traces) - require.True(t, ok) - traces := generateLifecycleTestTraces() - if !e.Capabilities().MutatesData { - traces.MarkReadOnly() - } - err = e.ConsumeTraces(context.Background(), traces) - } - }) - - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - } -} - -func generateLifecycleTestLogs() plog.Logs { - logs := plog.NewLogs() - rl := logs.ResourceLogs().AppendEmpty() - rl.Resource().Attributes().PutStr("resource", "R1") - l := rl.ScopeLogs().AppendEmpty().LogRecords().AppendEmpty() - l.Body().SetStr("test log message") - l.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return logs -} - -func generateLifecycleTestMetrics() pmetric.Metrics { - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("resource", "R1") - m := rm.ScopeMetrics().AppendEmpty().Metrics().AppendEmpty() - m.SetName("test_metric") - dp := m.SetEmptyGauge().DataPoints().AppendEmpty() - dp.Attributes().PutStr("test_attr", "value_1") - dp.SetIntValue(123) - dp.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return metrics -} - -func generateLifecycleTestTraces() ptrace.Traces { - traces := ptrace.NewTraces() - rs := traces.ResourceSpans().AppendEmpty() - rs.Resource().Attributes().PutStr("resource", "R1") - span := rs.ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutStr("test_attr", "value_1") - span.SetName("test_span") - span.SetStartTimestamp(pcommon.NewTimestampFromTime(time.Now().Add(-1 * time.Second))) - span.SetEndTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return traces -} - -var _ component.Host = (*mdatagenNopHost)(nil) - -type mdatagenNopHost struct{} - -func newMdatagenNopHost() component.Host { - return &mdatagenNopHost{} -} - -func (mnh *mdatagenNopHost) GetExtensions() map[component.ID]component.Component { - return nil -} - -func (mnh *mdatagenNopHost) GetFactory(_ component.Kind, _ component.Type) component.Factory { - return nil -} diff --git a/exporter/opencensusexporter/generated_package_test.go b/exporter/opencensusexporter/generated_package_test.go deleted file mode 100644 index a1c121129602f..0000000000000 --- a/exporter/opencensusexporter/generated_package_test.go +++ /dev/null @@ -1,13 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package opencensusexporter - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/exporter/opencensusexporter/go.mod b/exporter/opencensusexporter/go.mod deleted file mode 100644 index c2dd3cb6e0402..0000000000000 --- a/exporter/opencensusexporter/go.mod +++ /dev/null @@ -1,128 +0,0 @@ -// Deprecated: this exporter is no longer maintained and has reached end-of-life. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791 -module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter - -go 1.24 - -require ( - github.com/census-instrumentation/opencensus-proto v0.4.1 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 - github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v1.39.0 - go.opentelemetry.io/collector/component/componenttest v0.133.0 - go.opentelemetry.io/collector/config/configgrpc v0.133.0 - go.opentelemetry.io/collector/config/configopaque v1.39.0 - go.opentelemetry.io/collector/config/configoptional v0.133.0 - go.opentelemetry.io/collector/config/configretry v1.39.0 - go.opentelemetry.io/collector/config/configtls v1.39.0 - go.opentelemetry.io/collector/confmap v1.39.0 - go.opentelemetry.io/collector/confmap/xconfmap v0.133.0 - go.opentelemetry.io/collector/consumer v1.39.0 - go.opentelemetry.io/collector/consumer/consumertest v0.133.0 - go.opentelemetry.io/collector/exporter v0.133.0 - go.opentelemetry.io/collector/exporter/exportertest v0.133.0 - go.opentelemetry.io/collector/pdata v1.39.0 - go.opentelemetry.io/collector/pdata/testdata v0.133.0 - go.opentelemetry.io/collector/receiver/receivertest v0.133.0 - go.uber.org/goleak v1.3.0 - google.golang.org/grpc v1.75.0 -) - -require ( - github.com/cenkalti/backoff/v5 v5.0.3 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/go-logr/logr v1.4.3 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/go-tpm v0.9.5 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.0 // indirect - github.com/knadh/koanf/maps v0.1.2 // indirect - github.com/knadh/koanf/providers/confmap v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.2.2 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect - github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.133.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rs/cors v1.11.1 // indirect - github.com/soheilhy/cmux v0.1.5 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/client v1.39.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.133.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.133.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.39.0 // indirect - go.opentelemetry.io/collector/config/configmiddleware v0.133.0 // indirect - go.opentelemetry.io/collector/config/confignet v1.39.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.133.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.133.0 // indirect - go.opentelemetry.io/collector/extension v1.39.0 // indirect - go.opentelemetry.io/collector/extension/extensionauth v1.39.0 // indirect - go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.133.0 // indirect - go.opentelemetry.io/collector/featuregate v1.39.0 // indirect - go.opentelemetry.io/collector/internal/telemetry v0.133.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.133.0 // indirect - go.opentelemetry.io/collector/pdata/xpdata v0.133.0 // indirect - go.opentelemetry.io/collector/pipeline v1.39.0 // indirect - go.opentelemetry.io/collector/receiver v1.39.0 // indirect - go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.133.0 // indirect - go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 // indirect - go.opentelemetry.io/otel v1.37.0 // indirect - go.opentelemetry.io/otel/log v0.13.0 // indirect - go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.opentelemetry.io/otel/sdk v1.37.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.0 // indirect - go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.39.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/text v0.28.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect - google.golang.org/protobuf v1.36.8 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent => ../../internal/sharedcomponent - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../pkg/translator/opencensus - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../../receiver/opencensusreceiver - -retract ( - v0.76.2 - v0.76.1 - v0.65.0 -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden diff --git a/exporter/opencensusexporter/go.sum b/exporter/opencensusexporter/go.sum deleted file mode 100644 index 5568a396cf653..0000000000000 --- a/exporter/opencensusexporter/go.sum +++ /dev/null @@ -1,325 +0,0 @@ -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/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= -github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -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/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e h1:2jjYsGgM13xId2Ku+UGDQTO5It50LhT6lljiVJvBj1Y= -github.com/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e/go.mod h1:uAyTlAUxchYuiFjTHmuIEJ4nGSm7iOPaGcAyA81fJ80= -github.com/foxboron/swtpm_test v0.0.0-20230726224112-46aaafdf7006 h1:50sW4r0PcvlpG4PV8tYh2RVCapszJgaOLRCS2subvV4= -github.com/foxboron/swtpm_test v0.0.0-20230726224112-46aaafdf7006/go.mod h1:eIXCMsMYCaqq9m1KSSxXwQG11krpuNPGP3k0uaWrbas= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= -github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -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/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -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/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -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.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/go-tpm v0.9.5 h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU= -github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= -github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98= -github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -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/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= -github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= -github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= -github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE= -github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A= -github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A= -github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= -github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -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.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -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/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/client v1.39.0 h1:4u7KI48aYSIXMOuuMRDkLc0+v3QnJ77u0jg9/y6lWCY= -go.opentelemetry.io/collector/client v1.39.0/go.mod h1:xIlp06m4wJm8v+aUvRF2/mGGizJT1aIcT8S8+5FuMio= -go.opentelemetry.io/collector/component v1.39.0 h1:GJw80zXURBG4h0sh97bPLEn2Ra+NAWUpskaooA0wru4= -go.opentelemetry.io/collector/component v1.39.0/go.mod h1:NPaMPTLQuxm5QaaWdqkxYKztC0bRdV+86Q9ir7xS/2k= -go.opentelemetry.io/collector/component/componentstatus v0.133.0 h1:fIcFKg+yPhpvOJKeMph9TtSC4DIGdIuNmxvUB0UGcoc= -go.opentelemetry.io/collector/component/componentstatus v0.133.0/go.mod h1:biQWms9cgXSZu3nb92Z0bA9uHh9lEhgmQ8CF4HLmu8Y= -go.opentelemetry.io/collector/component/componenttest v0.133.0 h1:mg54QqXC+GNqLHa9y6Efh3X5Di4XivjgJr6mzvfVQR8= -go.opentelemetry.io/collector/component/componenttest v0.133.0/go.mod h1:E+oqRK03WjG/b1aX1pd0CfTKh12MPTKbEBaBROp4w0M= -go.opentelemetry.io/collector/config/configauth v0.133.0 h1:dzewgv8pnMInYiqVi11oBuaIf9jt75aVlLaYd8j9oe0= -go.opentelemetry.io/collector/config/configauth v0.133.0/go.mod h1:QHoZdt1w2TjQ1xf9NqXT5MPv64NOBPnGKBfanOUSpe0= -go.opentelemetry.io/collector/config/configcompression v1.39.0 h1:lkKAtVd3UDk4GhYkqi2ObmRAXFrxXNa84nVJvCouvKk= -go.opentelemetry.io/collector/config/configcompression v1.39.0/go.mod h1:T0nTbs6VzMomj7qu3bAk6RLjx8N1rHEO4+w9irgWgM8= -go.opentelemetry.io/collector/config/configgrpc v0.133.0 h1:nQYvmOuDN7vric+akDlqGj0TQ+brxvvkDJQikYU2w1M= -go.opentelemetry.io/collector/config/configgrpc v0.133.0/go.mod h1:IjEReNhtP+OejCuZ/02B5ABHauVAGW8R4NgDHpUYNLE= -go.opentelemetry.io/collector/config/configmiddleware v0.133.0 h1:wQ4kTV34RWgF1X+76vOfhNWEQWuz+JDhxe/8O9mJfh8= -go.opentelemetry.io/collector/config/configmiddleware v0.133.0/go.mod h1:n2TwFZSArXG88iFAA/DxxgQOTxLScjQAG/3skTp2kF4= -go.opentelemetry.io/collector/config/confignet v1.39.0 h1:JrIRCDXSdpbR/YEqQX5udCN1Amob1qPtxQnQXQGHYtM= -go.opentelemetry.io/collector/config/confignet v1.39.0/go.mod h1:8NRKz96JlbkQ/0QsC6d49lOj9pjXh6P26hB+8sZEt3Y= -go.opentelemetry.io/collector/config/configopaque v1.39.0 h1:e5hzCfJuUaCnJEShpVWzoCtUkj+O36y7Fj/Gr7AZwv4= -go.opentelemetry.io/collector/config/configopaque v1.39.0/go.mod h1:8Vdnf+0NQcmUycbrPkaB0lnMuxIKA1d9ptHSuUL9ggs= -go.opentelemetry.io/collector/config/configoptional v0.133.0 h1:uNal09JAxa8WvE8RA4nDNiP6FzNA8KcHDHeBzpLYt1w= -go.opentelemetry.io/collector/config/configoptional v0.133.0/go.mod h1:cy29rJPRnj4MjLsbTi0zLlCSHwTGvM79pHAF2803E58= -go.opentelemetry.io/collector/config/configretry v1.39.0 h1:1cYc2ZLzkTToGkBbAmTHAjJDqwZwwaqNujbaGaymfKw= -go.opentelemetry.io/collector/config/configretry v1.39.0/go.mod h1:zxag3ZOUgOZOYGWI2RgXj4O37ZMamlrxadBeXVb4Tag= -go.opentelemetry.io/collector/config/configtls v1.39.0 h1:5yJlIrmUnQWblaT67a8mt9SGPm3e5hdq6XULr7F59zA= -go.opentelemetry.io/collector/config/configtls v1.39.0/go.mod h1:VJ1wxnJYRuVPlQpgYDhqJbys9Y24hw6GUfUcoXcAi/w= -go.opentelemetry.io/collector/confmap v1.39.0 h1:DvwKWwkclygZO+2PTDSGFUE83BnjgWazTFyMdlNZZIk= -go.opentelemetry.io/collector/confmap v1.39.0/go.mod h1:P/oXKO4JEESNVyJmayVJe90UgiNK38EtG++ChKROS0c= -go.opentelemetry.io/collector/confmap/xconfmap v0.133.0 h1:Y8hdxtxYZk9q2dn0Dqn7eZQbvz3ajUyMnJ/ZfgIZXE0= -go.opentelemetry.io/collector/confmap/xconfmap v0.133.0/go.mod h1:cd63uv7oPkQohRlLqaBctjXdDRGeMkXH0Ni7p4Y4IAE= -go.opentelemetry.io/collector/consumer v1.39.0 h1:Jc6la3uacHbznX5ORmh16Nddh23ZxBzoiNF2L0wD2Ks= -go.opentelemetry.io/collector/consumer v1.39.0/go.mod h1:tW2BXyntjvlKrRc+mwistt1KuC/b4mTfTkc8zWjeeRY= -go.opentelemetry.io/collector/consumer/consumererror v0.133.0 h1:SYHSrKdZQB3gp5oDDaPwL5T/g9mhKf1BUY/10lS4AVQ= -go.opentelemetry.io/collector/consumer/consumererror v0.133.0/go.mod h1:IOaHXiqGghQoirLDXlCXoXiY3mrV6ngrYKbZa9f2ZZI= -go.opentelemetry.io/collector/consumer/consumertest v0.133.0 h1:MteqaGpgmHVHFqnB7A2voGleA2j51qJyVfX5x/wm+8I= -go.opentelemetry.io/collector/consumer/consumertest v0.133.0/go.mod h1:vHGknLn/RRUcMQuuBDt+SgrpDN46DBJyqRnWXm3gLwY= -go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 h1:Xx4Yna/We4qDlbAla1nfxgkvujzWRuR8bqqwsLLvYSg= -go.opentelemetry.io/collector/consumer/xconsumer v0.133.0/go.mod h1:he874Md/0uAS2Fs+TDHAy10OBLRSw8233LdREizVvG4= -go.opentelemetry.io/collector/exporter v0.133.0 h1:UtyPT0wGabc3a5ix6Wl+2rf6k4OFvrAm5XCo1Pne5FE= -go.opentelemetry.io/collector/exporter v0.133.0/go.mod h1:qw8gYmANhUnUmjTEJdP0e+EirLA/qOdnjnD1EVjvhjA= -go.opentelemetry.io/collector/exporter/exportertest v0.133.0 h1:6FctO4Ok/xD0goCnN5qnm278+FZRBRKwReCFRuXs+ps= -go.opentelemetry.io/collector/exporter/exportertest v0.133.0/go.mod h1:7ebEzg1tOTZfYfeN8QfdOdW81bxtAtzuUZOB45qcmH8= -go.opentelemetry.io/collector/exporter/xexporter v0.133.0 h1:D8gyYnMofgSYnrgGwsPv1sHbt1FAe9slCOsG2BA5o/M= -go.opentelemetry.io/collector/exporter/xexporter v0.133.0/go.mod h1:ZSy1jDQRCqzCHPVfuqokeSLE2tJWdLJTa57coK9xrbQ= -go.opentelemetry.io/collector/extension v1.39.0 h1:NOh2MQ8ETY2qx4Yd97HWAviwKVD5a65x5CV9LNujPII= -go.opentelemetry.io/collector/extension v1.39.0/go.mod h1:KRrzszfycxesfnKQZMNKm6ggZ4nb2jDs0hYcJFBGG2Q= -go.opentelemetry.io/collector/extension/extensionauth v1.39.0 h1:4JQYJdkU4FJfSk+9jDbp348KK3LlbAUCStTZqIghorQ= -go.opentelemetry.io/collector/extension/extensionauth v1.39.0/go.mod h1:VHrYUcgwHxetTU4Hd99ttdR9/eWi5n2XLPIGOJ1qwhg= -go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.133.0 h1:kUiGncU8jMDEwdZaWU77PbUEAjyMrcpI3wkKvjeJe/4= -go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.133.0/go.mod h1:brqMsfYM16Qz2fZ4ps2TD4RjtQUpCarvJYvlZT0YAg4= -go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0 h1:bKt2rKpE1rvq1C0xZJt9ZjSDH8hTHUZzFOQd+pyHFSU= -go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0/go.mod h1:8kKOfqPC9w9ny6q55IX1sVAxlsWF9VanvxGBYk7jhis= -go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.133.0 h1:qmsdjGQoBb0oJOJV/xCh2E5pZZdVG5p8/Q4K/jOzL1Q= -go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.133.0/go.mod h1:ZyHyY8N4Vkgyhrtj//xFQV4ywUmP5MSdKRVql1m6SQg= -go.opentelemetry.io/collector/extension/extensiontest v0.133.0 h1:3+3jqcb4JfXmZH5VX5rA71CaBjzLwCN2Ap4lHnz/0Go= -go.opentelemetry.io/collector/extension/extensiontest v0.133.0/go.mod h1:d5042DdvUJySOWXeZ5Qbqy5etw+nSBH9y+iA9gaE2Z8= -go.opentelemetry.io/collector/extension/xextension v0.133.0 h1:hkf0t4N1jQqsBN0nKKXD0syCPfGo/LMOiFPFjgFEPbc= -go.opentelemetry.io/collector/extension/xextension v0.133.0/go.mod h1:gXBMp9dnAnivVUT1hoHwlGkVZcY6lgYYR99gOKD2KHc= -go.opentelemetry.io/collector/featuregate v1.39.0 h1:OlXZWW+WUP8cgKh2mnwgWXUJO/29irb0hG6jvwscRKM= -go.opentelemetry.io/collector/featuregate v1.39.0/go.mod h1:A72x92glpH3zxekaUybml1vMSv94BH6jQRn5+/htcjw= -go.opentelemetry.io/collector/internal/telemetry v0.133.0 h1:YxbckZC9HniNOZgnSofTOe0AB/bEsmISNdQeS+3CU3o= -go.opentelemetry.io/collector/internal/telemetry v0.133.0/go.mod h1:akUK7X6ZQ+CbbCjyXLv9y/EHt5jIy+J+nGoLvndZN14= -go.opentelemetry.io/collector/pdata v1.39.0 h1:jr0f033o57Hpbj2Il8M15tPbvrOgY/Aoc+/+sxzhSFU= -go.opentelemetry.io/collector/pdata v1.39.0/go.mod h1:jmolu6zwqNaq8qJ4IgCpNWBEwJNPLE1qqOz9GnpqxME= -go.opentelemetry.io/collector/pdata/pprofile v0.133.0 h1:ewFYqV2FU4D0ixTdkJueaI2JGCoeiIJisX8EdHejDi8= -go.opentelemetry.io/collector/pdata/pprofile v0.133.0/go.mod h1:5l4/B0iCxzoVkA7eOLzIHV0AUEO2IKypTHTLq9JKsHs= -go.opentelemetry.io/collector/pdata/testdata v0.133.0 h1:K0q47qecWVJf0sWbeWfifbJ72TiqR+A2PCsMkCEKvus= -go.opentelemetry.io/collector/pdata/testdata v0.133.0/go.mod h1:/emFpIox/mi7FucvsSn54KsiMh/iy7BUviqgURNVT6U= -go.opentelemetry.io/collector/pdata/xpdata v0.133.0 h1:qQ+u3b2oiD5Q3ABKI7JdlRKvDdNHpSwjMNUCyb1P3BQ= -go.opentelemetry.io/collector/pdata/xpdata v0.133.0/go.mod h1:1SGbr1XPFG0Kuz8qzg4j4KGngf+r3gleBRMvKrAIt4k= -go.opentelemetry.io/collector/pipeline v1.39.0 h1:CcEn30qdoHEzehFxgx0Ma0pWYGhrrIkRkcu218NG4V4= -go.opentelemetry.io/collector/pipeline v1.39.0/go.mod h1:NdM+ZqkPe9KahtOXG28RHTRQu4m/FD1i3Ew4qCRdOr8= -go.opentelemetry.io/collector/receiver v1.39.0 h1:RdZn4v9wUa4QVu3+5zJcdM3BJeFM1l8hO/eZmNxKkBA= -go.opentelemetry.io/collector/receiver v1.39.0/go.mod h1:wKHijIb17Dsj02z2j8JahvAn9ANEe6itosIHZlwu9bc= -go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0 h1:L/Ky4LEGMTL3dRkXJoQWSv48s6zvik99uy5FeEQfCC8= -go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0/go.mod h1:xsWABdnQRHUWhd5l4H1wEuaxotGxjqM4044ej4vRC78= -go.opentelemetry.io/collector/receiver/receivertest v0.133.0 h1:WRwXNWO3pQikr30G86kUyvR9JXu7holcNrk6g9rFNTQ= -go.opentelemetry.io/collector/receiver/receivertest v0.133.0/go.mod h1:bvcaf7Z2FvPOm/dBlW0CBEReVdtrdgMUg4JOLJ50NEY= -go.opentelemetry.io/collector/receiver/xreceiver v0.133.0 h1:AvgzAg5u90TJ7+taSyZ5mSnQn4GrrV1qHbrx+AXD1X0= -go.opentelemetry.io/collector/receiver/xreceiver v0.133.0/go.mod h1:ZqAFQ2Ew/ftQGvbEvftITh0IheQD300A0HsuCB5Qgdk= -go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 h1:FGre0nZh5BSw7G73VpT3xs38HchsfPsa2aZtMp0NPOs= -go.opentelemetry.io/contrib/bridges/otelzap v0.12.0/go.mod h1:X2PYPViI2wTPIMIOBjG17KNybTzsrATnvPJ02kkz7LM= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 h1:rbRJ8BBoVMsQShESYZ0FkvcITu8X8QNwJogcLUmDNNw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0/go.mod h1:ru6KHrNtNHxM4nD/vd6QrLVWgKhxPYgblq4VAtNawTQ= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= -go.opentelemetry.io/otel/log v0.13.0 h1:yoxRoIZcohB6Xf0lNv9QIyCzQvrtGZklVbdCoyb7dls= -go.opentelemetry.io/otel/log v0.13.0/go.mod h1:INKfG4k1O9CL25BaM1qLe0zIedOpvlS5Z7XgSbmN83E= -go.opentelemetry.io/otel/log/logtest v0.13.0 h1:xxaIcgoEEtnwdgj6D6Uo9K/Dynz9jqIxSDu2YObJ69Q= -go.opentelemetry.io/otel/log/logtest v0.13.0/go.mod h1:+OrkmsAH38b+ygyag1tLjSFMYiES5UHggzrtY1IIEA8= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= -go.opentelemetry.io/proto/slim/otlp v1.7.1 h1:lZ11gEokjIWYM3JWOUrIILr2wcf6RX+rq5SPObV9oyc= -go.opentelemetry.io/proto/slim/otlp v1.7.1/go.mod h1:uZ6LJWa49eNM/EXnnvJGTTu8miokU8RQdnO980LJ57g= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.0.1 h1:Tr/eXq6N7ZFjN+THBF/BtGLUz8dciA7cuzGRsCEkZ88= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.0.1/go.mod h1:riqUmAOJFDFuIAzZu/3V6cOrTyfWzpgNJnG5UwrapCk= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.0.1 h1:z/oMlrCv3Kopwh/dtdRagJy+qsRRPA86/Ux3g7+zFXM= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.0.1/go.mod h1:C7EHYSIiaALi9RnNORCVaPCQDuJgJEn/XxkctaTez1E= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -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.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -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/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= -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.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= -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= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= -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= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -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= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -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/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ= -google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= -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.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= -google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -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.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= -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/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -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/exporter/opencensusexporter/internal/metadata/generated_status.go b/exporter/opencensusexporter/internal/metadata/generated_status.go deleted file mode 100644 index 933bea9f66644..0000000000000 --- a/exporter/opencensusexporter/internal/metadata/generated_status.go +++ /dev/null @@ -1,17 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package metadata - -import ( - "go.opentelemetry.io/collector/component" -) - -var ( - Type = component.MustNewType("opencensus") - ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" -) - -const ( - TracesStability = component.StabilityLevelDeprecated - MetricsStability = component.StabilityLevelDeprecated -) diff --git a/exporter/opencensusexporter/metadata.yaml b/exporter/opencensusexporter/metadata.yaml deleted file mode 100644 index 1ec6b1a0660ba..0000000000000 --- a/exporter/opencensusexporter/metadata.yaml +++ /dev/null @@ -1,21 +0,0 @@ -type: opencensus - -status: - class: exporter - stability: - deprecated: [traces, metrics] - distributions: [core, contrib] - deprecation: - metrics: - date: "2025-02-14" - migration: Use OTLP exporter (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) - traces: - date: "2025-02-14" - migration: use OTLP exporter (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) - codeowners: - active: [open-telemetry/collector-approvers] - -tests: - config: - endpoint: opencensus2:55678 - expect_consumer_error: true \ No newline at end of file diff --git a/exporter/opencensusexporter/opencensus.go b/exporter/opencensusexporter/opencensus.go deleted file mode 100644 index aba28451f528b..0000000000000 --- a/exporter/opencensusexporter/opencensus.go +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - -import ( - "context" - "errors" - "fmt" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agentmetricspb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - resourcepb "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" - "google.golang.org/grpc" - "google.golang.org/grpc/metadata" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" -) - -// See https://godoc.org/google.golang.org/grpc#ClientConn.NewStream -// why we need to keep the cancel func to cancel the stream -type tracesClientWithCancel struct { - cancel context.CancelFunc - tsec agenttracepb.TraceService_ExportClient -} - -// See https://godoc.org/google.golang.org/grpc#ClientConn.NewStream -// why we need to keep the cancel func to cancel the stream -type metricsClientWithCancel struct { - cancel context.CancelFunc - msec agentmetricspb.MetricsService_ExportClient -} - -type ocExporter struct { - cfg *Config - // gRPC clients and connection. - traceSvcClient agenttracepb.TraceServiceClient - metricsSvcClient agentmetricspb.MetricsServiceClient - // In any of the channels we keep always NumWorkers object (sometimes nil), - // to make sure we don't open more than NumWorkers RPCs at any moment. - tracesClients chan *tracesClientWithCancel - metricsClients chan *metricsClientWithCancel - grpcClientConn *grpc.ClientConn - metadata metadata.MD - - settings component.TelemetrySettings -} - -func newOcExporter(_ context.Context, cfg *Config, settings component.TelemetrySettings) (*ocExporter, error) { - if cfg.Endpoint == "" { - return nil, errors.New("OpenCensus exporter cfg requires an Endpoint") - } - - if cfg.NumWorkers <= 0 { - return nil, errors.New("OpenCensus exporter cfg requires at least one worker") - } - - oce := &ocExporter{ - cfg: cfg, - metadata: metadata.New(nil), - settings: settings, - } - for k, v := range cfg.Headers { - oce.metadata.Set(k, string(v)) - } - return oce, nil -} - -// start creates the gRPC client Connection -func (oce *ocExporter) start(ctx context.Context, host component.Host) error { - clientConn, err := oce.cfg.ToClientConn(ctx, host, oce.settings) - if err != nil { - return err - } - oce.grpcClientConn = clientConn - - if oce.tracesClients != nil { - oce.traceSvcClient = agenttracepb.NewTraceServiceClient(oce.grpcClientConn) - // Try to create rpc clients now. - for i := 0; i < oce.cfg.NumWorkers; i++ { - // Populate the channel with NumWorkers nil RPCs to keep the number of workers - // constant in the channel. - oce.tracesClients <- nil - } - } - - if oce.metricsClients != nil { - oce.metricsSvcClient = agentmetricspb.NewMetricsServiceClient(oce.grpcClientConn) - // Try to create rpc clients now. - for i := 0; i < oce.cfg.NumWorkers; i++ { - // Populate the channel with NumWorkers nil RPCs to keep the number of workers - // constant in the channel. - oce.metricsClients <- nil - } - } - return nil -} - -func (oce *ocExporter) shutdown(context.Context) error { - if oce.grpcClientConn == nil { - return nil - } - if oce.tracesClients != nil { - // First remove all the clients from the channel. - for i := 0; i < oce.cfg.NumWorkers; i++ { - <-oce.tracesClients - } - // Now close the channel - close(oce.tracesClients) - } - if oce.metricsClients != nil { - // First remove all the clients from the channel. - for i := 0; i < oce.cfg.NumWorkers; i++ { - <-oce.metricsClients - } - // Now close the channel - close(oce.metricsClients) - } - return oce.grpcClientConn.Close() -} - -func newTracesExporter(ctx context.Context, cfg *Config, settings component.TelemetrySettings) (*ocExporter, error) { - oce, err := newOcExporter(ctx, cfg, settings) - if err != nil { - return nil, err - } - oce.tracesClients = make(chan *tracesClientWithCancel, oce.cfg.NumWorkers) - return oce, nil -} - -func newMetricsExporter(ctx context.Context, cfg *Config, settings component.TelemetrySettings) (*ocExporter, error) { - oce, err := newOcExporter(ctx, cfg, settings) - if err != nil { - return nil, err - } - oce.metricsClients = make(chan *metricsClientWithCancel, oce.cfg.NumWorkers) - return oce, nil -} - -func (oce *ocExporter) pushTraces(_ context.Context, td ptrace.Traces) error { - // Get first available trace Client. - tClient, ok := <-oce.tracesClients - if !ok { - err := errors.New("failed to push traces, OpenCensus exporter was already stopped") - return err - } - - // In any of the metricsClients channel we keep always NumWorkers object (sometimes nil), - // to make sure we don't open more than NumWorkers RPCs at any moment. - // Here check if the client is nil and create a new one if that is the case. A nil - // object means that an error happened: could not connect, service went down, etc. - if tClient == nil { - var err error - tClient, err = oce.createTraceServiceRPC() - if err != nil { - // Cannot create an RPC, put back nil to keep the number of workers constant. - oce.tracesClients <- nil - return err - } - } - - rss := td.ResourceSpans() - for i := 0; i < rss.Len(); i++ { - node, resource, spans := opencensus.ResourceSpansToOC(rss.At(i)) - // This is a hack because OC protocol expects a Node for the initial message. - if node == nil { - node = &commonpb.Node{} - } - if resource == nil { - resource = &resourcepb.Resource{} - } - req := &agenttracepb.ExportTraceServiceRequest{ - Spans: spans, - Resource: resource, - Node: node, - } - if err := tClient.tsec.Send(req); err != nil { - // Error received, cancel the context used to create the RPC to free all resources, - // put back nil to keep the number of workers constant. - tClient.cancel() - oce.tracesClients <- nil - return err - } - } - oce.tracesClients <- tClient - return nil -} - -func (oce *ocExporter) pushMetrics(_ context.Context, md pmetric.Metrics) error { - // Get first available mClient. - mClient, ok := <-oce.metricsClients - if !ok { - err := errors.New("failed to push metrics, OpenCensus exporter was already stopped") - return err - } - - // In any of the metricsClients channel we keep always NumWorkers object (sometimes nil), - // to make sure we don't open more than NumWorkers RPCs at any moment. - // Here check if the client is nil and create a new one if that is the case. A nil - // object means that an error happened: could not connect, service went down, etc. - if mClient == nil { - var err error - mClient, err = oce.createMetricsServiceRPC() - if err != nil { - // Cannot create an RPC, put back nil to keep the number of workers constant. - oce.metricsClients <- nil - return err - } - } - - rms := md.ResourceMetrics() - for i := 0; i < rms.Len(); i++ { - ocReq := agentmetricspb.ExportMetricsServiceRequest{} - ocReq.Node, ocReq.Resource, ocReq.Metrics = opencensus.ResourceMetricsToOC(rms.At(i)) - - // This is a hack because OC protocol expects a Node for the initial message. - if ocReq.Node == nil { - ocReq.Node = &commonpb.Node{} - } - if ocReq.Resource == nil { - ocReq.Resource = &resourcepb.Resource{} - } - if err := mClient.msec.Send(&ocReq); err != nil { - // Error received, cancel the context used to create the RPC to free all resources, - // put back nil to keep the number of workers constant. - mClient.cancel() - oce.metricsClients <- nil - return err - } - } - oce.metricsClients <- mClient - return nil -} - -func (oce *ocExporter) createTraceServiceRPC() (*tracesClientWithCancel, error) { - // Initiate the trace service by sending over node identifier info. - ctx, cancel := context.WithCancel(context.Background()) - if len(oce.cfg.Headers) > 0 { - ctx = metadata.NewOutgoingContext(ctx, oce.metadata.Copy()) - } - // Cannot use grpc.WaitForReady(cfg.WaitForReady) because will block forever. - traceClient, err := oce.traceSvcClient.Export(ctx) - if err != nil { - cancel() - return nil, fmt.Errorf("TraceServiceClient: %w", err) - } - return &tracesClientWithCancel{cancel: cancel, tsec: traceClient}, nil -} - -func (oce *ocExporter) createMetricsServiceRPC() (*metricsClientWithCancel, error) { - // Initiate the trace service by sending over node identifier info. - ctx, cancel := context.WithCancel(context.Background()) - if len(oce.cfg.Headers) > 0 { - ctx = metadata.NewOutgoingContext(ctx, oce.metadata.Copy()) - } - // Cannot use grpc.WaitForReady(cfg.WaitForReady) because will block forever. - metricsClient, err := oce.metricsSvcClient.Export(ctx) - if err != nil { - cancel() - return nil, fmt.Errorf("MetricsServiceClient: %w", err) - } - return &metricsClientWithCancel{cancel: cancel, msec: metricsClient}, nil -} diff --git a/exporter/opencensusexporter/opencensus_test.go b/exporter/opencensusexporter/opencensus_test.go deleted file mode 100644 index 3ab7a5ab5f16a..0000000000000 --- a/exporter/opencensusexporter/opencensus_test.go +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusexporter - -import ( - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/pdata/ptrace" - "go.opentelemetry.io/collector/pdata/testdata" - "go.opentelemetry.io/collector/receiver/receivertest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" -) - -func TestSendTraces(t *testing.T) { - sink := new(consumertest.TracesSink) - rFactory := opencensusreceiver.NewFactory() - rCfg := rFactory.CreateDefaultConfig().(*opencensusreceiver.Config) - endpoint := testutil.GetAvailableLocalAddress(t) - rCfg.NetAddr.Endpoint = endpoint - set := receivertest.NewNopSettings(metadata.Type) - recv, err := rFactory.CreateTraces(t.Context(), set, rCfg, sink) - assert.NoError(t, err) - assert.NoError(t, recv.Start(t.Context(), componenttest.NewNopHost())) - t.Cleanup(func() { - assert.NoError(t, recv.Shutdown(t.Context())) - }) - - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - cfg.NumWorkers = 1 - exp, err := factory.CreateTraces(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - t.Cleanup(func() { - assert.NoError(t, exp.Shutdown(t.Context())) - }) - - td := testdata.GenerateTraces(1) - assert.NoError(t, exp.ConsumeTraces(t.Context(), td)) - assert.Eventually(t, func() bool { - return len(sink.AllTraces()) == 1 - }, 10*time.Second, 5*time.Millisecond) - traces := sink.AllTraces() - require.Len(t, traces, 1) - assert.Equal(t, td, traces[0]) - - sink.Reset() - // Sending data no Node. - td.ResourceSpans().At(0).Resource().Attributes().Clear() - newData := ptrace.NewTraces() - td.CopyTo(newData) - assert.NoError(t, exp.ConsumeTraces(t.Context(), newData)) - assert.Eventually(t, func() bool { - return len(sink.AllTraces()) == 1 - }, 10*time.Second, 5*time.Millisecond) - traces = sink.AllTraces() - require.Len(t, traces, 1) - assert.Equal(t, newData, traces[0]) -} - -func TestSendTraces_NoBackend(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: "localhost:56569", - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - exp, err := factory.CreateTraces(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - t.Cleanup(func() { - assert.NoError(t, exp.Shutdown(t.Context())) - }) - - td := testdata.GenerateTraces(1) - for i := 0; i < 10000; i++ { - assert.Error(t, exp.ConsumeTraces(t.Context(), td)) - } -} - -func TestSendTraces_AfterStop(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: "localhost:56569", - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - exp, err := factory.CreateTraces(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - assert.NoError(t, exp.Shutdown(t.Context())) - - td := testdata.GenerateTraces(1) - assert.Error(t, exp.ConsumeTraces(t.Context(), td)) -} - -func TestSendMetrics(t *testing.T) { - sink := new(consumertest.MetricsSink) - rFactory := opencensusreceiver.NewFactory() - rCfg := rFactory.CreateDefaultConfig().(*opencensusreceiver.Config) - endpoint := testutil.GetAvailableLocalAddress(t) - rCfg.NetAddr.Endpoint = endpoint - set := receivertest.NewNopSettings(metadata.Type) - recv, err := rFactory.CreateMetrics(t.Context(), set, rCfg, sink) - assert.NoError(t, err) - assert.NoError(t, recv.Start(t.Context(), componenttest.NewNopHost())) - t.Cleanup(func() { - assert.NoError(t, recv.Shutdown(t.Context())) - }) - - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: endpoint, - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - cfg.NumWorkers = 1 - exp, err := factory.CreateMetrics(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - t.Cleanup(func() { - assert.NoError(t, exp.Shutdown(t.Context())) - }) - - md := testdata.GenerateMetrics(1) - assert.NoError(t, exp.ConsumeMetrics(t.Context(), md)) - assert.Eventually(t, func() bool { - return len(sink.AllMetrics()) == 1 - }, 10*time.Second, 5*time.Millisecond) - metrics := sink.AllMetrics() - require.Len(t, metrics, 1) - assert.Equal(t, md, metrics[0]) - - // Sending data no node. - sink.Reset() - md.ResourceMetrics().At(0).Resource().Attributes().Clear() - assert.NoError(t, exp.ConsumeMetrics(t.Context(), md)) - assert.Eventually(t, func() bool { - return len(sink.AllMetrics()) == 1 - }, 10*time.Second, 5*time.Millisecond) - metrics = sink.AllMetrics() - require.Len(t, metrics, 1) - assert.Equal(t, md, metrics[0]) -} - -func TestSendMetrics_NoBackend(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: "localhost:56569", - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - exp, err := factory.CreateMetrics(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - t.Cleanup(func() { - assert.NoError(t, exp.Shutdown(t.Context())) - }) - - md := testdata.GenerateMetrics(1) - for i := 0; i < 10000; i++ { - assert.Error(t, exp.ConsumeMetrics(t.Context(), md)) - } -} - -func TestSendMetrics_AfterStop(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig().(*Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: "localhost:56569", - TLS: configtls.ClientConfig{ - Insecure: true, - }, - } - exp, err := factory.CreateMetrics(t.Context(), exportertest.NewNopSettings(metadata.Type), cfg) - require.NoError(t, err) - require.NotNil(t, exp) - host := componenttest.NewNopHost() - require.NoError(t, exp.Start(t.Context(), host)) - assert.NoError(t, exp.Shutdown(t.Context())) - - md := testdata.GenerateMetrics(1) - assert.Error(t, exp.ConsumeMetrics(t.Context(), md)) -} diff --git a/exporter/opencensusexporter/testdata/config.yaml b/exporter/opencensusexporter/testdata/config.yaml deleted file mode 100644 index aa8df3670c4ba..0000000000000 --- a/exporter/opencensusexporter/testdata/config.yaml +++ /dev/null @@ -1,25 +0,0 @@ -opencensus: -opencensus/2: - endpoint: "1.2.3.4:1234" - compression: "gzip" - num_workers: 123 - tls: - ca_file: /var/lib/mycert.pem - headers: - "can you have a . here?": "F0000000-0000-0000-0000-000000000000" - header1: "234" - another: "somevalue" - balancer_name: "round_robin" - keepalive: - time: 20 - timeout: 30 - permit_without_stream: true - sending_queue: - enabled: true - num_consumers: 2 - queue_size: 10 - retry_on_failure: - enabled: true - initial_interval: 10s - max_interval: 60s - max_elapsed_time: 10m diff --git a/exporter/opencensusexporter/testdata/test_cert.pem b/exporter/opencensusexporter/testdata/test_cert.pem deleted file mode 100644 index b2e77b89d49e1..0000000000000 --- a/exporter/opencensusexporter/testdata/test_cert.pem +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE6jCCAtICCQDVU4PtqpqADTANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJV -UzETMBEGA1UECAwKY2FsaWZvcm5pYTETMBEGA1UECgwKb3BlbmNlbnN1czAeFw0x -OTAzMDQxODA3MjZaFw0yMDAzMDMxODA3MjZaMDcxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIDApjYWxpZm9ybmlhMRMwEQYDVQQKDApvcGVuY2Vuc3VzMIICIjANBgkqhkiG -9w0BAQEFAAOCAg8AMIICCgKCAgEAy9JQiAOMzArcdiS4szbTuzg5yYijSSY6SvGj -XMs4/LEFLxgGmFfyHXxoVQzV26lTu/AiUFlZi4JY2qlkZyPwmmmSg4fmzikpVPiC -Vv9pvSIojs8gs0sHaOt40Q8ym43bNt3Mh8rYrs+XMERi6Ol9//j4LnfePkNU5uEo -qC8KQamckaMR6UEHFNunyOwvNBsipgTPldQUPGVnCsNKk8olYGAXS7DR25bgbPli -4T9VCSElsSPAODmyo+2MEDagVXa1vVYxKyO2k6oeBS0lsvdRqRTmGggcg0B/dk+a -H1CL9ful0cu9P3dQif+hfGay8udPkwDLPEq1+WnjJFut3Pmbk3SqUCas5iWt76kK -eKFh4k8fCy4yiaZxzvSbm9+bEBHAl0ZXd8pjvAsBfCKe6G9SBzE1DK4FjWiiEGCb -5dGsyTKr33q3DekLvT3LF8ZeON/13d9toucX9PqG2HDwMP/Fb4WjQIzOc/H9wIak -pf7u6QBDGUiCMmoDrp1d8RsI1RPbEhoywH0YlLmwgf+cr1dU7vlISf576EsGxFz4 -+/sZjIBvZBHn/x0MH+bs4J8V3vMujfDoRdhL07bK7q/AkEALUxljKEfoWeqiuVzK -F9BVv3xNhiua2kgPVbMNWPrQ5uotkNp8IykJ3QOuQ3p5pzxdGfpLd6f8gmJDmcbi -AI9dWTcCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAVVi4t/Sumre+AGTaU7np9dl2 -tpllbES5ixe6m2uezt5wAzYNNyuQ2mMG2XrSkMy5gvBZRT9nRNSmLV8VEcxZihG0 -YHS5soXnLL3Jdlwxp98WTDPvM1ntxcHyEyqrrg9YDfKn4sOrr5vo2yZzoKwtxtc7 -lue9JormVx7GxMi7NwaUtCbnwAIcqJJpFjt1EhmJOxGqTJPgUvTBdeGvRj30c6fk -pqpUdPbZ7RKPEtbLoMoCBujKnErv+H0G6Vp9WyCHN+Mi9uTMsGwH14cmJjmfwGDC -8/WF4LdlawFnf/arIp9YcVwcP91d4ywyvbuuo2M7qdosQ7k4uRZ3tyggLYShS3RW -BMEhMRDz9dM0oKGF+HnaS824BIh6O6Hn82Vt8uCKS7IbEX99/kkN1KcqqQe6Lwjq -tG/lm4K5yf+FJVDivpZ9mYTvqTBjhTaOp6m3HYSNJfS0hLQVvEuBNXd8bHiXkcLp -rmFOYUWsjxV1Qku3U5Rner0UpB2Fuw9nJcXuDgWG0gjwzAZ83y3du1VIZp0Ad8Vv -IYpaucbImGJszMtNXn3l72K1wvQVIhm9eRwYc3QteJzweHaDsbytZEoS/GhTrZIT -wRe5ZGrjJBJngRANRSm1BH8j6PjLem9mzPb2eytwJJA0lLhUk4vYproVvXcx0vow -5F+5VB1YB8/tbWePmpo= ------END CERTIFICATE----- diff --git a/internal/tidylist/tidylist.txt b/internal/tidylist/tidylist.txt index 518baca7f5c25..4d112f50e7841 100644 --- a/internal/tidylist/tidylist.txt +++ b/internal/tidylist/tidylist.txt @@ -11,10 +11,6 @@ connector/spanmetricsconnector internal/common pkg/resourcetotelemetry exporter/carbonexporter -pkg/translator/opencensus -internal/sharedcomponent -receiver/opencensusreceiver -exporter/opencensusexporter pkg/translator/prometheus pkg/translator/prometheusremotewrite exporter/prometheusremotewriteexporter @@ -42,6 +38,7 @@ internal/aws/ecsutil internal/k8sconfig internal/metadataproviders internal/datadog +internal/sharedcomponent pkg/datadog receiver/datadogreceiver receiver/jaegerreceiver @@ -203,6 +200,7 @@ internal/tools pkg/translator/azure pkg/translator/azurelogs pkg/translator/loki +pkg/translator/opencensus processor/attributesprocessor processor/coralogixprocessor processor/cumulativetodeltaprocessor diff --git a/receiver/opencensusreceiver/Makefile b/receiver/opencensusreceiver/Makefile deleted file mode 100644 index ded7a36092dc3..0000000000000 --- a/receiver/opencensusreceiver/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../Makefile.Common diff --git a/receiver/opencensusreceiver/README.md b/receiver/opencensusreceiver/README.md deleted file mode 100644 index 4c212e37ae6bb..0000000000000 --- a/receiver/opencensusreceiver/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# OpenCensus Receiver - - -| Status | | -| ------------- |-----------| -| Stability | [deprecated]: metrics, traces | -| Deprecation of metrics | [Date]: 2025-02-14 | -| | [Migration Note]: Use OTLP receiver (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) | -| Deprecation of traces | [Date]: 2025-02-14 | -| | [Migration Note]: use OTLP receiver (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791) | -| Distributions | [core], [contrib], [k8s] | -| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Areceiver%2Fopencensus%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Areceiver%2Fopencensus) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Areceiver%2Fopencensus%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Areceiver%2Fopencensus) | -| Code coverage | [![codecov](https://codecov.io/github/open-telemetry/opentelemetry-collector-contrib/graph/main/badge.svg?component=receiver_opencensus)](https://app.codecov.io/gh/open-telemetry/opentelemetry-collector-contrib/tree/main/?components%5B0%5D=receiver_opencensus&displayType=list) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@open-telemetry/collector-approvers](https://github.com/orgs/open-telemetry/teams/collector-approvers) | - -[deprecated]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecated -[Date]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information -[Migration Note]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information -[core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol -[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib -[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s - - -:warning: This component is deprecated, slated for removal in August 2025. Please use the OTLP receiver instead. - -Receives data via gRPC or HTTP using [OpenCensus]( https://opencensus.io/) -format. - -## Getting Started - -All that is required to enable the OpenCensus receiver is to include it in the -receiver definitions. - -```yaml -receivers: - opencensus: -``` - -The following settings are configurable: - -- `endpoint` (default = localhost:55678): host:port to which the receiver is - going to receive data. The valid syntax is described at - https://github.com/grpc/grpc/blob/master/doc/naming.md. See our [security best practices doc](https://opentelemetry.io/docs/security/config-best-practices/#protect-against-denial-of-service-attacks) to understand how to set the endpoint in different environments. - - -## Advanced Configuration - -Several helper files are leveraged to provide additional capabilities automatically: - -- [gRPC settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configgrpc/README.md) including CORS -- [TLS and mTLS settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md) -- [Queuing, retry and timeout settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md) - -## Writing with HTTP/JSON - -The OpenCensus receiver can receive trace export calls via HTTP/JSON in -addition to gRPC. The HTTP/JSON address is the same as gRPC as the protocol is -recognized and processed accordingly. - -To write traces with HTTP/JSON, `POST` to `[address]/v1/trace`. The JSON message -format parallels the gRPC protobuf format, see this -[OpenApi spec for it](https://github.com/census-instrumentation/opencensus-proto/blob/master/gen-openapi/opencensus/proto/agent/trace/v1/trace_service.swagger.json). - -The HTTP/JSON endpoint can also optionally configure -[CORS](https://fetch.spec.whatwg.org/#cors-protocol), which is enabled by -specifying a list of allowed CORS origins in the `cors_allowed_origins` field: - -```yaml -receivers: - opencensus: - cors_allowed_origins: - - http://test.com - # Origins can have wildcards with *, use * by itself to match any origin. - - https://*.example.com -``` - diff --git a/receiver/opencensusreceiver/config.go b/receiver/opencensusreceiver/config.go deleted file mode 100644 index 34e3980581661..0000000000000 --- a/receiver/opencensusreceiver/config.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - -import ( - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" -) - -// Config defines configuration for OpenCensus receiver. -type Config struct { - // Configures the receiver server protocol. - configgrpc.ServerConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct - - // CorsOrigins are the allowed CORS origins for HTTP/JSON requests to grpc-gateway adapter - // for the OpenCensus receiver. See github.com/rs/cors - // An empty list means that CORS is not enabled at all. A wildcard (*) can be - // used to match any origin or one or more characters of an origin. - CorsOrigins []string `mapstructure:"cors_allowed_origins"` - - // prevent unkeyed literal initialization - _ struct{} -} - -func (cfg *Config) buildOptions() []ocOption { - var opts []ocOption - if len(cfg.CorsOrigins) > 0 { - opts = append(opts, withCorsOrigins(cfg.CorsOrigins)) - } - - opts = append(opts, withGRPCServerSettings(cfg.ServerConfig)) - - return opts -} - -var _ component.Config = (*Config)(nil) - -// Validate checks the receiver configuration is valid -func (*Config) Validate() error { - return nil -} diff --git a/receiver/opencensusreceiver/config_test.go b/receiver/opencensusreceiver/config_test.go deleted file mode 100644 index 18d7cba0471c8..0000000000000 --- a/receiver/opencensusreceiver/config_test.go +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver - -import ( - "path/filepath" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/config/configoptional" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/confmap/xconfmap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/metadata" -) - -func TestLoadConfig(t *testing.T) { - t.Parallel() - - cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) - require.NoError(t, err) - - tests := []struct { - id component.ID - expected component.Config - }{ - { - id: component.NewIDWithName(metadata.Type, "customname"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "0.0.0.0:9090", - Transport: confignet.TransportTypeTCP, - }, - ReadBufferSize: 512 * 1024, - }, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "keepalive"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "localhost:55678", - Transport: confignet.TransportTypeTCP, - }, - ReadBufferSize: 512 * 1024, - Keepalive: configoptional.Some(configgrpc.KeepaliveServerConfig{ - ServerParameters: configoptional.Some(configgrpc.KeepaliveServerParameters{ - MaxConnectionIdle: 11 * time.Second, - MaxConnectionAge: 12 * time.Second, - MaxConnectionAgeGrace: 13 * time.Second, - Time: 30 * time.Second, - Timeout: 5 * time.Second, - }), - EnforcementPolicy: configoptional.Some(configgrpc.KeepaliveEnforcementPolicy{ - MinTime: 10 * time.Second, - PermitWithoutStream: true, - }), - }), - }, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "msg-size-conc-connect-max-idle"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "localhost:55678", - Transport: confignet.TransportTypeTCP, - }, - MaxRecvMsgSizeMiB: 32, - MaxConcurrentStreams: 16, - ReadBufferSize: 1024, - WriteBufferSize: 1024, - Keepalive: configoptional.Some(configgrpc.KeepaliveServerConfig{ - ServerParameters: configoptional.Some(configgrpc.KeepaliveServerParameters{ - MaxConnectionIdle: 10 * time.Second, - }), - }), - }, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "tlscredentials"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "localhost:55678", - Transport: confignet.TransportTypeTCP, - }, - ReadBufferSize: 512 * 1024, - TLS: configoptional.Some(configtls.ServerConfig{ - Config: configtls.Config{ - CertFile: "test.crt", - KeyFile: "test.key", - }, - }), - }, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "cors"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "localhost:55678", - Transport: confignet.TransportTypeTCP, - }, - ReadBufferSize: 512 * 1024, - }, - CorsOrigins: []string{"https://*.test.com", "https://test.com"}, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "uds"), - expected: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "/tmp/opencensus.sock", - Transport: confignet.TransportTypeUnix, - }, - ReadBufferSize: 512 * 1024, - }, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.id.String(), func(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - sub, err := cm.Sub(tt.id.String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - assert.NoError(t, xconfmap.Validate(cfg)) - assert.Equal(t, tt.expected, cfg) - }) - } -} diff --git a/receiver/opencensusreceiver/doc.go b/receiver/opencensusreceiver/doc.go deleted file mode 100644 index b3307b56005a4..0000000000000 --- a/receiver/opencensusreceiver/doc.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -//go:generate mdatagen metadata.yaml - -// Package opencensusreceiver receives OpenCensus traces and metrics. -// Deprecated: this receiver is no longer maintained and has reached end-of-life. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791 -package opencensusreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" diff --git a/receiver/opencensusreceiver/factory.go b/receiver/opencensusreceiver/factory.go deleted file mode 100644 index be1633df20883..0000000000000 --- a/receiver/opencensusreceiver/factory.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - -import ( - "context" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/receiver" - - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/metadata" -) - -const grpcEndpoint = "localhost:55678" - -// NewFactory creates a new OpenCensus receiver factory. -func NewFactory() receiver.Factory { - return receiver.NewFactory( - metadata.Type, - createDefaultConfig, - receiver.WithTraces(createTracesReceiver, metadata.TracesStability), - receiver.WithMetrics(createMetricsReceiver, metadata.MetricsStability)) -} - -func createDefaultConfig() component.Config { - return &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: grpcEndpoint, - Transport: confignet.TransportTypeTCP, - }, - // We almost write 0 bytes, so no need to tune WriteBufferSize. - ReadBufferSize: 512 * 1024, - }, - } -} - -func createTracesReceiver( - _ context.Context, - set receiver.Settings, - cfg component.Config, - nextConsumer consumer.Traces, -) (receiver.Traces, error) { - r := receivers.GetOrAdd(cfg, func() component.Component { - rCfg := cfg.(*Config) - return newOpenCensusReceiver(rCfg, nil, nil, set, rCfg.buildOptions()...) - }) - r.Unwrap().(*ocReceiver).traceConsumer = nextConsumer - - return r, nil -} - -func createMetricsReceiver( - _ context.Context, - set receiver.Settings, - cfg component.Config, - nextConsumer consumer.Metrics, -) (receiver.Metrics, error) { - r := receivers.GetOrAdd(cfg, func() component.Component { - rCfg := cfg.(*Config) - return newOpenCensusReceiver(rCfg, nil, nil, set, rCfg.buildOptions()...) - }) - r.Unwrap().(*ocReceiver).metricsConsumer = nextConsumer - - return r, nil -} - -// This is the map of already created OpenCensus receivers for particular configurations. -// We maintain this map because the Factory is asked trace and metric receivers separately -// when it gets CreateTraces() and CreateMetrics() but they must not -// create separate objects, they must use one ocReceiver object per configuration. -var receivers = sharedcomponent.NewSharedComponents() diff --git a/receiver/opencensusreceiver/factory_test.go b/receiver/opencensusreceiver/factory_test.go deleted file mode 100644 index 5e82f7da0d7d2..0000000000000 --- a/receiver/opencensusreceiver/factory_test.go +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver - -import ( - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/config/configoptional" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/receiver/receivertest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/metadata" -) - -func TestCreateDefaultConfig(t *testing.T) { - cfg := createDefaultConfig() - assert.NotNil(t, cfg, "failed to create default config") - assert.NoError(t, componenttest.CheckConfigStruct(cfg)) -} - -func TestCreateReceiver(t *testing.T) { - cfg := createDefaultConfig().(*Config) - cfg.NetAddr.Endpoint = testutil.GetAvailableLocalAddress(t) - - set := receivertest.NewNopSettings(metadata.Type) - tReceiver, err := createTracesReceiver(t.Context(), set, cfg, nil) - assert.NotNil(t, tReceiver) - assert.NoError(t, err) - - mReceiver, err := createMetricsReceiver(t.Context(), set, cfg, nil) - assert.NotNil(t, mReceiver) - assert.NoError(t, err) -} - -func TestCreateTraces(t *testing.T) { - defaultNetAddr := confignet.AddrConfig{ - Endpoint: testutil.GetAvailableLocalAddress(t), - Transport: confignet.TransportTypeTCP, - } - defaultGRPCSettings := configgrpc.ServerConfig{ - NetAddr: defaultNetAddr, - } - tests := []struct { - name string - cfg *Config - wantErr bool - }{ - { - name: "default", - cfg: &Config{ - ServerConfig: defaultGRPCSettings, - }, - }, - { - name: "invalid_port", - cfg: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "localhost:112233", - Transport: confignet.TransportTypeTCP, - }, - }, - }, - wantErr: true, - }, - { - name: "max-msg-size-and-concurrent-connections", - cfg: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: defaultNetAddr, - MaxRecvMsgSizeMiB: 32, - MaxConcurrentStreams: 16, - }, - }, - }, - } - ctx := t.Context() - set := receivertest.NewNopSettings(metadata.Type) - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - tr, err := createTracesReceiver(ctx, set, tt.cfg, consumertest.NewNop()) - require.NoError(t, err) - err = tr.Start(t.Context(), componenttest.NewNopHost()) - if (err != nil) != tt.wantErr { - t.Errorf("factory.CreateTraces() error = %v, wantErr %v", err, tt.wantErr) - } - require.NoError(t, tr.Shutdown(t.Context())) - }) - } -} - -func TestCreateMetrics(t *testing.T) { - defaultNetAddr := confignet.AddrConfig{ - Endpoint: testutil.GetAvailableLocalAddress(t), - Transport: confignet.TransportTypeTCP, - } - defaultGRPCSettings := configgrpc.ServerConfig{ - NetAddr: defaultNetAddr, - } - - tests := []struct { - name string - cfg *Config - wantErr bool - }{ - { - name: "default", - cfg: &Config{ - ServerConfig: defaultGRPCSettings, - }, - }, - { - name: "invalid_address", - cfg: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: "327.0.0.1:1122", - Transport: confignet.TransportTypeTCP, - }, - }, - }, - wantErr: true, - }, - { - name: "keepalive", - cfg: &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: defaultNetAddr, - Keepalive: configoptional.Some(configgrpc.KeepaliveServerConfig{ - ServerParameters: configoptional.Some(configgrpc.KeepaliveServerParameters{ - MaxConnectionAge: 60 * time.Second, - }), - EnforcementPolicy: configoptional.Some(configgrpc.KeepaliveEnforcementPolicy{ - MinTime: 30 * time.Second, - PermitWithoutStream: true, - }), - }), - }, - }, - }, - } - set := receivertest.NewNopSettings(metadata.Type) - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - tc, err := createMetricsReceiver(t.Context(), set, tt.cfg, consumertest.NewNop()) - require.NoError(t, err) - err = tc.Start(t.Context(), componenttest.NewNopHost()) - defer func() { - require.NoError(t, tc.Shutdown(t.Context())) - }() - if (err != nil) != tt.wantErr { - t.Errorf("factory.CreateMetrics() error = %v, wantErr %v", err, tt.wantErr) - return - } - }) - } -} diff --git a/receiver/opencensusreceiver/generated_component_test.go b/receiver/opencensusreceiver/generated_component_test.go deleted file mode 100644 index 533dca27a8f1f..0000000000000 --- a/receiver/opencensusreceiver/generated_component_test.go +++ /dev/null @@ -1,94 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package opencensusreceiver - -import ( - "context" - "testing" - - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receivertest" -) - -var typ = component.MustNewType("opencensus") - -func TestComponentFactoryType(t *testing.T) { - require.Equal(t, typ, NewFactory().Type()) -} - -func TestComponentConfigStruct(t *testing.T) { - require.NoError(t, componenttest.CheckConfigStruct(NewFactory().CreateDefaultConfig())) -} - -func TestComponentLifecycle(t *testing.T) { - factory := NewFactory() - - tests := []struct { - createFn func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) - name string - }{ - - { - name: "metrics", - createFn: func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetrics(ctx, set, cfg, consumertest.NewNop()) - }, - }, - - { - name: "traces", - createFn: func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTraces(ctx, set, cfg, consumertest.NewNop()) - }, - }, - } - - cm, err := confmaptest.LoadConf("metadata.yaml") - require.NoError(t, err) - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub("tests::config") - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(&cfg)) - - for _, tt := range tests { - t.Run(tt.name+"-shutdown", func(t *testing.T) { - c, err := tt.createFn(context.Background(), receivertest.NewNopSettings(typ), cfg) - require.NoError(t, err) - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - t.Run(tt.name+"-lifecycle", func(t *testing.T) { - firstRcvr, err := tt.createFn(context.Background(), receivertest.NewNopSettings(typ), cfg) - require.NoError(t, err) - host := newMdatagenNopHost() - require.NoError(t, err) - require.NoError(t, firstRcvr.Start(context.Background(), host)) - require.NoError(t, firstRcvr.Shutdown(context.Background())) - secondRcvr, err := tt.createFn(context.Background(), receivertest.NewNopSettings(typ), cfg) - require.NoError(t, err) - require.NoError(t, secondRcvr.Start(context.Background(), host)) - require.NoError(t, secondRcvr.Shutdown(context.Background())) - }) - } -} - -var _ component.Host = (*mdatagenNopHost)(nil) - -type mdatagenNopHost struct{} - -func newMdatagenNopHost() component.Host { - return &mdatagenNopHost{} -} - -func (mnh *mdatagenNopHost) GetExtensions() map[component.ID]component.Component { - return nil -} - -func (mnh *mdatagenNopHost) GetFactory(_ component.Kind, _ component.Type) component.Factory { - return nil -} diff --git a/receiver/opencensusreceiver/generated_package_test.go b/receiver/opencensusreceiver/generated_package_test.go deleted file mode 100644 index d511c0b5a498f..0000000000000 --- a/receiver/opencensusreceiver/generated_package_test.go +++ /dev/null @@ -1,13 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package opencensusreceiver - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/receiver/opencensusreceiver/go.mod b/receiver/opencensusreceiver/go.mod deleted file mode 100644 index 514b331e51352..0000000000000 --- a/receiver/opencensusreceiver/go.mod +++ /dev/null @@ -1,117 +0,0 @@ -// Deprecated: this receiver is no longer maintained and has reached end-of-life. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791 -module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver - -go 1.24 - -require ( - github.com/census-instrumentation/opencensus-proto v0.4.1 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.133.0 - github.com/rs/cors v1.11.1 - github.com/soheilhy/cmux v0.1.5 - github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v1.39.0 - go.opentelemetry.io/collector/component/componentstatus v0.133.0 - go.opentelemetry.io/collector/component/componenttest v0.133.0 - go.opentelemetry.io/collector/config/configgrpc v0.133.0 - go.opentelemetry.io/collector/config/confignet v1.39.0 - go.opentelemetry.io/collector/config/configoptional v0.133.0 - go.opentelemetry.io/collector/config/configtls v1.39.0 - go.opentelemetry.io/collector/confmap v1.39.0 - go.opentelemetry.io/collector/confmap/xconfmap v0.133.0 - go.opentelemetry.io/collector/consumer v1.39.0 - go.opentelemetry.io/collector/consumer/consumertest v0.133.0 - go.opentelemetry.io/collector/pdata v1.39.0 - go.opentelemetry.io/collector/pdata/testdata v0.133.0 - go.opentelemetry.io/collector/receiver v1.39.0 - go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0 - go.opentelemetry.io/collector/receiver/receivertest v0.133.0 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 - go.opentelemetry.io/otel v1.37.0 - go.opentelemetry.io/otel/sdk v1.37.0 - go.opentelemetry.io/otel/sdk/metric v1.37.0 - go.opentelemetry.io/otel/trace v1.37.0 - go.uber.org/goleak v1.3.0 - google.golang.org/grpc v1.75.0 - google.golang.org/protobuf v1.36.8 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/go-logr/logr v1.4.3 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/go-tpm v0.9.5 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.0 // indirect - github.com/knadh/koanf/maps v0.1.2 // indirect - github.com/knadh/koanf/providers/confmap v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.2.2 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect - github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.133.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/client v1.39.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.133.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.39.0 // indirect - go.opentelemetry.io/collector/config/configmiddleware v0.133.0 // indirect - go.opentelemetry.io/collector/config/configopaque v1.39.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.133.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 // indirect - go.opentelemetry.io/collector/extension/extensionauth v1.39.0 // indirect - go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0 // indirect - go.opentelemetry.io/collector/featuregate v1.39.0 // indirect - go.opentelemetry.io/collector/internal/telemetry v0.133.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.133.0 // indirect - go.opentelemetry.io/collector/pipeline v1.39.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.133.0 // indirect - go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect - go.opentelemetry.io/otel/log v0.13.0 // indirect - go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.0 // indirect - go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.39.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/text v0.28.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent => ../../internal/sharedcomponent - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../pkg/translator/opencensus - -retract ( - v0.76.2 - v0.76.1 - v0.65.0 -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden diff --git a/receiver/opencensusreceiver/go.sum b/receiver/opencensusreceiver/go.sum deleted file mode 100644 index 38098d7790a9a..0000000000000 --- a/receiver/opencensusreceiver/go.sum +++ /dev/null @@ -1,309 +0,0 @@ -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/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -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/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e h1:2jjYsGgM13xId2Ku+UGDQTO5It50LhT6lljiVJvBj1Y= -github.com/foxboron/go-tpm-keyfiles v0.0.0-20250323135004-b31fac66206e/go.mod h1:uAyTlAUxchYuiFjTHmuIEJ4nGSm7iOPaGcAyA81fJ80= -github.com/foxboron/swtpm_test v0.0.0-20230726224112-46aaafdf7006 h1:50sW4r0PcvlpG4PV8tYh2RVCapszJgaOLRCS2subvV4= -github.com/foxboron/swtpm_test v0.0.0-20230726224112-46aaafdf7006/go.mod h1:eIXCMsMYCaqq9m1KSSxXwQG11krpuNPGP3k0uaWrbas= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= -github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -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/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -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/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -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.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/go-tpm v0.9.5 h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU= -github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY= -github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98= -github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -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/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= -github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= -github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= -github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE= -github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A= -github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A= -github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= -github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -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.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -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/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/client v1.39.0 h1:4u7KI48aYSIXMOuuMRDkLc0+v3QnJ77u0jg9/y6lWCY= -go.opentelemetry.io/collector/client v1.39.0/go.mod h1:xIlp06m4wJm8v+aUvRF2/mGGizJT1aIcT8S8+5FuMio= -go.opentelemetry.io/collector/component v1.39.0 h1:GJw80zXURBG4h0sh97bPLEn2Ra+NAWUpskaooA0wru4= -go.opentelemetry.io/collector/component v1.39.0/go.mod h1:NPaMPTLQuxm5QaaWdqkxYKztC0bRdV+86Q9ir7xS/2k= -go.opentelemetry.io/collector/component/componentstatus v0.133.0 h1:fIcFKg+yPhpvOJKeMph9TtSC4DIGdIuNmxvUB0UGcoc= -go.opentelemetry.io/collector/component/componentstatus v0.133.0/go.mod h1:biQWms9cgXSZu3nb92Z0bA9uHh9lEhgmQ8CF4HLmu8Y= -go.opentelemetry.io/collector/component/componenttest v0.133.0 h1:mg54QqXC+GNqLHa9y6Efh3X5Di4XivjgJr6mzvfVQR8= -go.opentelemetry.io/collector/component/componenttest v0.133.0/go.mod h1:E+oqRK03WjG/b1aX1pd0CfTKh12MPTKbEBaBROp4w0M= -go.opentelemetry.io/collector/config/configauth v0.133.0 h1:dzewgv8pnMInYiqVi11oBuaIf9jt75aVlLaYd8j9oe0= -go.opentelemetry.io/collector/config/configauth v0.133.0/go.mod h1:QHoZdt1w2TjQ1xf9NqXT5MPv64NOBPnGKBfanOUSpe0= -go.opentelemetry.io/collector/config/configcompression v1.39.0 h1:lkKAtVd3UDk4GhYkqi2ObmRAXFrxXNa84nVJvCouvKk= -go.opentelemetry.io/collector/config/configcompression v1.39.0/go.mod h1:T0nTbs6VzMomj7qu3bAk6RLjx8N1rHEO4+w9irgWgM8= -go.opentelemetry.io/collector/config/configgrpc v0.133.0 h1:nQYvmOuDN7vric+akDlqGj0TQ+brxvvkDJQikYU2w1M= -go.opentelemetry.io/collector/config/configgrpc v0.133.0/go.mod h1:IjEReNhtP+OejCuZ/02B5ABHauVAGW8R4NgDHpUYNLE= -go.opentelemetry.io/collector/config/configmiddleware v0.133.0 h1:wQ4kTV34RWgF1X+76vOfhNWEQWuz+JDhxe/8O9mJfh8= -go.opentelemetry.io/collector/config/configmiddleware v0.133.0/go.mod h1:n2TwFZSArXG88iFAA/DxxgQOTxLScjQAG/3skTp2kF4= -go.opentelemetry.io/collector/config/confignet v1.39.0 h1:JrIRCDXSdpbR/YEqQX5udCN1Amob1qPtxQnQXQGHYtM= -go.opentelemetry.io/collector/config/confignet v1.39.0/go.mod h1:8NRKz96JlbkQ/0QsC6d49lOj9pjXh6P26hB+8sZEt3Y= -go.opentelemetry.io/collector/config/configopaque v1.39.0 h1:e5hzCfJuUaCnJEShpVWzoCtUkj+O36y7Fj/Gr7AZwv4= -go.opentelemetry.io/collector/config/configopaque v1.39.0/go.mod h1:8Vdnf+0NQcmUycbrPkaB0lnMuxIKA1d9ptHSuUL9ggs= -go.opentelemetry.io/collector/config/configoptional v0.133.0 h1:uNal09JAxa8WvE8RA4nDNiP6FzNA8KcHDHeBzpLYt1w= -go.opentelemetry.io/collector/config/configoptional v0.133.0/go.mod h1:cy29rJPRnj4MjLsbTi0zLlCSHwTGvM79pHAF2803E58= -go.opentelemetry.io/collector/config/configtls v1.39.0 h1:5yJlIrmUnQWblaT67a8mt9SGPm3e5hdq6XULr7F59zA= -go.opentelemetry.io/collector/config/configtls v1.39.0/go.mod h1:VJ1wxnJYRuVPlQpgYDhqJbys9Y24hw6GUfUcoXcAi/w= -go.opentelemetry.io/collector/confmap v1.39.0 h1:DvwKWwkclygZO+2PTDSGFUE83BnjgWazTFyMdlNZZIk= -go.opentelemetry.io/collector/confmap v1.39.0/go.mod h1:P/oXKO4JEESNVyJmayVJe90UgiNK38EtG++ChKROS0c= -go.opentelemetry.io/collector/confmap/xconfmap v0.133.0 h1:Y8hdxtxYZk9q2dn0Dqn7eZQbvz3ajUyMnJ/ZfgIZXE0= -go.opentelemetry.io/collector/confmap/xconfmap v0.133.0/go.mod h1:cd63uv7oPkQohRlLqaBctjXdDRGeMkXH0Ni7p4Y4IAE= -go.opentelemetry.io/collector/consumer v1.39.0 h1:Jc6la3uacHbznX5ORmh16Nddh23ZxBzoiNF2L0wD2Ks= -go.opentelemetry.io/collector/consumer v1.39.0/go.mod h1:tW2BXyntjvlKrRc+mwistt1KuC/b4mTfTkc8zWjeeRY= -go.opentelemetry.io/collector/consumer/consumererror v0.133.0 h1:SYHSrKdZQB3gp5oDDaPwL5T/g9mhKf1BUY/10lS4AVQ= -go.opentelemetry.io/collector/consumer/consumererror v0.133.0/go.mod h1:IOaHXiqGghQoirLDXlCXoXiY3mrV6ngrYKbZa9f2ZZI= -go.opentelemetry.io/collector/consumer/consumertest v0.133.0 h1:MteqaGpgmHVHFqnB7A2voGleA2j51qJyVfX5x/wm+8I= -go.opentelemetry.io/collector/consumer/consumertest v0.133.0/go.mod h1:vHGknLn/RRUcMQuuBDt+SgrpDN46DBJyqRnWXm3gLwY= -go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 h1:Xx4Yna/We4qDlbAla1nfxgkvujzWRuR8bqqwsLLvYSg= -go.opentelemetry.io/collector/consumer/xconsumer v0.133.0/go.mod h1:he874Md/0uAS2Fs+TDHAy10OBLRSw8233LdREizVvG4= -go.opentelemetry.io/collector/extension v1.39.0 h1:NOh2MQ8ETY2qx4Yd97HWAviwKVD5a65x5CV9LNujPII= -go.opentelemetry.io/collector/extension v1.39.0/go.mod h1:KRrzszfycxesfnKQZMNKm6ggZ4nb2jDs0hYcJFBGG2Q= -go.opentelemetry.io/collector/extension/extensionauth v1.39.0 h1:4JQYJdkU4FJfSk+9jDbp348KK3LlbAUCStTZqIghorQ= -go.opentelemetry.io/collector/extension/extensionauth v1.39.0/go.mod h1:VHrYUcgwHxetTU4Hd99ttdR9/eWi5n2XLPIGOJ1qwhg= -go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.133.0 h1:kUiGncU8jMDEwdZaWU77PbUEAjyMrcpI3wkKvjeJe/4= -go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.133.0/go.mod h1:brqMsfYM16Qz2fZ4ps2TD4RjtQUpCarvJYvlZT0YAg4= -go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0 h1:bKt2rKpE1rvq1C0xZJt9ZjSDH8hTHUZzFOQd+pyHFSU= -go.opentelemetry.io/collector/extension/extensionmiddleware v0.133.0/go.mod h1:8kKOfqPC9w9ny6q55IX1sVAxlsWF9VanvxGBYk7jhis= -go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.133.0 h1:qmsdjGQoBb0oJOJV/xCh2E5pZZdVG5p8/Q4K/jOzL1Q= -go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.133.0/go.mod h1:ZyHyY8N4Vkgyhrtj//xFQV4ywUmP5MSdKRVql1m6SQg= -go.opentelemetry.io/collector/featuregate v1.39.0 h1:OlXZWW+WUP8cgKh2mnwgWXUJO/29irb0hG6jvwscRKM= -go.opentelemetry.io/collector/featuregate v1.39.0/go.mod h1:A72x92glpH3zxekaUybml1vMSv94BH6jQRn5+/htcjw= -go.opentelemetry.io/collector/internal/telemetry v0.133.0 h1:YxbckZC9HniNOZgnSofTOe0AB/bEsmISNdQeS+3CU3o= -go.opentelemetry.io/collector/internal/telemetry v0.133.0/go.mod h1:akUK7X6ZQ+CbbCjyXLv9y/EHt5jIy+J+nGoLvndZN14= -go.opentelemetry.io/collector/pdata v1.39.0 h1:jr0f033o57Hpbj2Il8M15tPbvrOgY/Aoc+/+sxzhSFU= -go.opentelemetry.io/collector/pdata v1.39.0/go.mod h1:jmolu6zwqNaq8qJ4IgCpNWBEwJNPLE1qqOz9GnpqxME= -go.opentelemetry.io/collector/pdata/pprofile v0.133.0 h1:ewFYqV2FU4D0ixTdkJueaI2JGCoeiIJisX8EdHejDi8= -go.opentelemetry.io/collector/pdata/pprofile v0.133.0/go.mod h1:5l4/B0iCxzoVkA7eOLzIHV0AUEO2IKypTHTLq9JKsHs= -go.opentelemetry.io/collector/pdata/testdata v0.133.0 h1:K0q47qecWVJf0sWbeWfifbJ72TiqR+A2PCsMkCEKvus= -go.opentelemetry.io/collector/pdata/testdata v0.133.0/go.mod h1:/emFpIox/mi7FucvsSn54KsiMh/iy7BUviqgURNVT6U= -go.opentelemetry.io/collector/pipeline v1.39.0 h1:CcEn30qdoHEzehFxgx0Ma0pWYGhrrIkRkcu218NG4V4= -go.opentelemetry.io/collector/pipeline v1.39.0/go.mod h1:NdM+ZqkPe9KahtOXG28RHTRQu4m/FD1i3Ew4qCRdOr8= -go.opentelemetry.io/collector/receiver v1.39.0 h1:RdZn4v9wUa4QVu3+5zJcdM3BJeFM1l8hO/eZmNxKkBA= -go.opentelemetry.io/collector/receiver v1.39.0/go.mod h1:wKHijIb17Dsj02z2j8JahvAn9ANEe6itosIHZlwu9bc= -go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0 h1:L/Ky4LEGMTL3dRkXJoQWSv48s6zvik99uy5FeEQfCC8= -go.opentelemetry.io/collector/receiver/receiverhelper v0.133.0/go.mod h1:xsWABdnQRHUWhd5l4H1wEuaxotGxjqM4044ej4vRC78= -go.opentelemetry.io/collector/receiver/receivertest v0.133.0 h1:WRwXNWO3pQikr30G86kUyvR9JXu7holcNrk6g9rFNTQ= -go.opentelemetry.io/collector/receiver/receivertest v0.133.0/go.mod h1:bvcaf7Z2FvPOm/dBlW0CBEReVdtrdgMUg4JOLJ50NEY= -go.opentelemetry.io/collector/receiver/xreceiver v0.133.0 h1:AvgzAg5u90TJ7+taSyZ5mSnQn4GrrV1qHbrx+AXD1X0= -go.opentelemetry.io/collector/receiver/xreceiver v0.133.0/go.mod h1:ZqAFQ2Ew/ftQGvbEvftITh0IheQD300A0HsuCB5Qgdk= -go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 h1:FGre0nZh5BSw7G73VpT3xs38HchsfPsa2aZtMp0NPOs= -go.opentelemetry.io/contrib/bridges/otelzap v0.12.0/go.mod h1:X2PYPViI2wTPIMIOBjG17KNybTzsrATnvPJ02kkz7LM= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 h1:rbRJ8BBoVMsQShESYZ0FkvcITu8X8QNwJogcLUmDNNw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0/go.mod h1:ru6KHrNtNHxM4nD/vd6QrLVWgKhxPYgblq4VAtNawTQ= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= -go.opentelemetry.io/otel/log v0.13.0 h1:yoxRoIZcohB6Xf0lNv9QIyCzQvrtGZklVbdCoyb7dls= -go.opentelemetry.io/otel/log v0.13.0/go.mod h1:INKfG4k1O9CL25BaM1qLe0zIedOpvlS5Z7XgSbmN83E= -go.opentelemetry.io/otel/log/logtest v0.13.0 h1:xxaIcgoEEtnwdgj6D6Uo9K/Dynz9jqIxSDu2YObJ69Q= -go.opentelemetry.io/otel/log/logtest v0.13.0/go.mod h1:+OrkmsAH38b+ygyag1tLjSFMYiES5UHggzrtY1IIEA8= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= -go.opentelemetry.io/proto/slim/otlp v1.7.1 h1:lZ11gEokjIWYM3JWOUrIILr2wcf6RX+rq5SPObV9oyc= -go.opentelemetry.io/proto/slim/otlp v1.7.1/go.mod h1:uZ6LJWa49eNM/EXnnvJGTTu8miokU8RQdnO980LJ57g= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.0.1 h1:Tr/eXq6N7ZFjN+THBF/BtGLUz8dciA7cuzGRsCEkZ88= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.0.1/go.mod h1:riqUmAOJFDFuIAzZu/3V6cOrTyfWzpgNJnG5UwrapCk= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.0.1 h1:z/oMlrCv3Kopwh/dtdRagJy+qsRRPA86/Ux3g7+zFXM= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.0.1/go.mod h1:C7EHYSIiaALi9RnNORCVaPCQDuJgJEn/XxkctaTez1E= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -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.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -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/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= -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.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= -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= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= -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= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -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= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -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/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ= -google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= -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.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= -google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -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.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= -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/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -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/receiver/opencensusreceiver/internal/metadata/generated_status.go b/receiver/opencensusreceiver/internal/metadata/generated_status.go deleted file mode 100644 index faedb223425d2..0000000000000 --- a/receiver/opencensusreceiver/internal/metadata/generated_status.go +++ /dev/null @@ -1,17 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package metadata - -import ( - "go.opentelemetry.io/collector/component" -) - -var ( - Type = component.MustNewType("opencensus") - ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" -) - -const ( - MetricsStability = component.StabilityLevelDeprecated - TracesStability = component.StabilityLevelDeprecated -) diff --git a/receiver/opencensusreceiver/internal/ocmetrics/doc.go b/receiver/opencensusreceiver/internal/ocmetrics/doc.go deleted file mode 100644 index 64c3e44eb1403..0000000000000 --- a/receiver/opencensusreceiver/internal/ocmetrics/doc.go +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -// Package ocmetrics is the logic for receiving OpenCensus metrics proto from -// already instrumented applications and then passing them onto a metricsink instance. -package ocmetrics // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/ocmetrics" diff --git a/receiver/opencensusreceiver/internal/ocmetrics/opencensus.go b/receiver/opencensusreceiver/internal/ocmetrics/opencensus.go deleted file mode 100644 index a07bee4a79785..0000000000000 --- a/receiver/opencensusreceiver/internal/ocmetrics/opencensus.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package ocmetrics // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/ocmetrics" - -import ( - "context" - "errors" - "io" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agentmetricspb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1" - ocmetrics "github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1" - resourcepb "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receiverhelper" - - internaldata "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" -) - -// Receiver is the type used to handle metrics from OpenCensus exporters. -type Receiver struct { - agentmetricspb.UnimplementedMetricsServiceServer - nextConsumer consumer.Metrics - obsrecv *receiverhelper.ObsReport -} - -// New creates a new ocmetrics.Receiver reference. -func New(nextConsumer consumer.Metrics, set receiver.Settings) (*Receiver, error) { - obsrecv, err := receiverhelper.NewObsReport(receiverhelper.ObsReportSettings{ - ReceiverID: set.ID, - Transport: receiverTransport, - LongLivedCtx: true, - ReceiverCreateSettings: set, - }) - if err != nil { - return nil, err - } - ocr := &Receiver{ - nextConsumer: nextConsumer, - obsrecv: obsrecv, - } - return ocr, nil -} - -var _ agentmetricspb.MetricsServiceServer = (*Receiver)(nil) - -var errMetricsExportProtocolViolation = errors.New("protocol violation: Export's first message must have a Node") - -const ( - receiverTransport = "grpc" // TODO: transport is being hard coded for now, investigate if info is available on context. - receiverDataFormat = "protobuf" -) - -// Export is the gRPC method that receives streamed metrics from -// OpenCensus-metricproto compatible libraries/applications. -func (ocr *Receiver) Export(mes agentmetricspb.MetricsService_ExportServer) error { - // Retrieve the first message. It MUST have a non-nil Node. - recv, err := mes.Recv() - if err != nil { - return err - } - - // Check the condition that the first message has a non-nil Node. - if recv.Node == nil { - return errMetricsExportProtocolViolation - } - - var lastNonNilNode *commonpb.Node - var resource *resourcepb.Resource - // Now that we've got the first message with a Node, we can start to receive streamed up metrics. - for { - lastNonNilNode, resource, err = ocr.processReceivedMsg( - mes.Context(), - lastNonNilNode, - resource, - recv) - if err != nil { - return err - } - - recv, err = mes.Recv() - if err != nil { - if errors.Is(err, io.EOF) { - // Do not return EOF as an error so that grpc-gateway calls get an empty - // response with HTTP status code 200 rather than a 500 error with EOF. - return nil - } - return err - } - } -} - -func (ocr *Receiver) processReceivedMsg( - longLivedRPCCtx context.Context, - lastNonNilNode *commonpb.Node, - resource *resourcepb.Resource, - recv *agentmetricspb.ExportMetricsServiceRequest, -) (*commonpb.Node, *resourcepb.Resource, error) { - // If a Node has been sent from downstream, save and use it. - if recv.Node != nil { - lastNonNilNode = recv.Node - } - - // TODO(songya): differentiate between unset and nil resource. See - // https://github.com/census-instrumentation/opencensus-proto/issues/146. - if recv.Resource != nil { - resource = recv.Resource - } - - err := ocr.sendToNextConsumer(longLivedRPCCtx, lastNonNilNode, resource, recv.Metrics) - return lastNonNilNode, resource, err -} - -func (ocr *Receiver) sendToNextConsumer(longLivedRPCCtx context.Context, node *commonpb.Node, resource *resourcepb.Resource, metrics []*ocmetrics.Metric) error { - ctx := ocr.obsrecv.StartMetricsOp(longLivedRPCCtx) - - numPoints := 0 - // Count number of time series and data points. - for _, metric := range metrics { - for _, ts := range metric.GetTimeseries() { - numPoints += len(ts.GetPoints()) - } - } - - var consumerErr error - if len(metrics) > 0 { - consumerErr = ocr.nextConsumer.ConsumeMetrics(ctx, internaldata.OCToMetrics(node, resource, metrics)) - } - - ocr.obsrecv.EndMetricsOp( - ctx, - receiverDataFormat, - numPoints, - consumerErr) - - return consumerErr -} diff --git a/receiver/opencensusreceiver/internal/ocmetrics/opencensus_test.go b/receiver/opencensusreceiver/internal/ocmetrics/opencensus_test.go deleted file mode 100644 index 8255d17a86f4e..0000000000000 --- a/receiver/opencensusreceiver/internal/ocmetrics/opencensus_test.go +++ /dev/null @@ -1,408 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package ocmetrics - -import ( - "bytes" - "context" - "encoding/json" - "errors" - "fmt" - "io" - "net" - "strings" - "sync" - "testing" - "time" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agentmetricspb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1" - metricspb "github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/pdata/testdata" - "go.opentelemetry.io/collector/receiver" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/types/known/timestamppb" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" -) - -var receiverID = component.MustNewID("opencensus") - -func TestReceiver_endToEnd(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - metricSink := new(consumertest.MetricsSink) - - addr, doneFn := ocReceiverOnGRPCServer(t, metricSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - metricsClient, metricsClientDoneFn, err := makeMetricsServiceClient(addr) - require.NoError(t, err, "Failed to create the gRPC MetricsService_ExportClient: %v", err) - defer metricsClientDoneFn() - md := testdata.GenerateMetrics(1) - node, resource, metrics := opencensus.ResourceMetricsToOC(md.ResourceMetrics().At(0)) - assert.NoError(t, metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: node, Resource: resource, Metrics: metrics})) - - assert.Eventually(t, func() bool { - return len(metricSink.AllMetrics()) != 0 - }, 10*time.Second, 5*time.Millisecond) - gotMetrics := metricSink.AllMetrics() - require.Len(t, gotMetrics, 1) - assert.Equal(t, md, gotMetrics[0]) -} - -// Issue #43. Export should support node multiplexing. -// The goal is to ensure that Receiver can always support -// a passthrough mode where it initiates Export normally by firstly -// receiving the initiator node. However ti should still be able to -// accept nodes from downstream sources, but if a node isn't specified in -// an exportMetrics request, assume it is from the last received and non-nil node. -func TestExportMultiplexing(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - metricSink := new(consumertest.MetricsSink) - - addr, doneFn := ocReceiverOnGRPCServer(t, metricSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - metricsClient, metricsClientDoneFn, err := makeMetricsServiceClient(addr) - require.NoError(t, err, "Failed to create the gRPC MetricsService_ExportClient: %v", err) - defer metricsClientDoneFn() - - // Step 1) The initiation. - initiatingNode := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{ - Pid: 1, - HostName: "multiplexer", - }, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_JAVA}, - } - - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: initiatingNode}) - require.NoError(t, err, "Failed to send the initiating message: %v", err) - - // Step 1a) Send some metrics without a node, they should be registered as coming from the initiating node. - mLi := []*metricspb.Metric{makeMetric(1)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: nil, Metrics: mLi}) - require.NoError(t, err, "Failed to send the proxied message from app1: %v", err) - - // Step 2) Send a "proxied" metrics message from app1 with "node1" - node1 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 9489, HostName: "nodejs-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_NODE_JS}, - } - mL1 := []*metricspb.Metric{makeMetric(2)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: node1, Metrics: mL1}) - require.NoError(t, err, "Failed to send the proxied message from app1: %v", err) - - // Step 3) Send a metrics message without a node but with metrics: this - // should be registered as belonging to the last used node i.e. "node1". - mLn1 := []*metricspb.Metric{makeMetric(3)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: nil, Metrics: mLn1}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - - // Step 4) Send a metrics message from a differently proxied node "node2" from app2 - node2 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 7752, HostName: "golang-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_GO_LANG}, - } - mL2 := []*metricspb.Metric{makeMetric(4)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: node2, Metrics: mL2}) - require.NoError(t, err, "Failed to send the proxied message from app2: %v", err) - - // Step 5a) Send a metrics message without a node but with metrics: this - // should be registered as belonging to the last used node i.e. "node2". - mLn2a := []*metricspb.Metric{makeMetric(5)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: nil, Metrics: mLn2a}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - - // Step 5b) - mLn2b := []*metricspb.Metric{makeMetric(6)} - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: nil, Metrics: mLn2b}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - // Give the process sometime to send data over the wire and perform batching - <-time.After(150 * time.Millisecond) - - // Examination time! - resultsMapping := make(map[string][]*metricspb.Metric) - for _, md := range metricSink.AllMetrics() { - rms := md.ResourceMetrics() - for i := 0; i < rms.Len(); i++ { - node, _, metrics := opencensus.ResourceMetricsToOC(rms.At(i)) - resultsMapping[nodeToKey(node)] = append(resultsMapping[nodeToKey(node)], metrics...) - } - } - - // First things first, we expect exactly 3 unique keys - // 1. Initiating Node - // 2. Node 1 - // 3. Node 2 - if g, w := len(resultsMapping), 3; g != w { - t.Errorf("Got %d keys in the results map; Wanted exactly %d\n\nResultsMapping: %+v\n", g, w, resultsMapping) - } - - // Want metric counts - wantMetricCounts := map[string]int{ - nodeToKey(initiatingNode): 1, - nodeToKey(node1): 2, - nodeToKey(node2): 3, - } - for key, wantMetricCounts := range wantMetricCounts { - gotMetricCounts := len(resultsMapping[key]) - if gotMetricCounts != wantMetricCounts { - t.Errorf("Key=%q gotMetricCounts %d wantMetricCounts %d", key, gotMetricCounts, wantMetricCounts) - } - } - - // Now ensure that the exported metrics match up exactly with - // the nodes and the last seen node expectation/behavior. - // (or at least their serialized equivalents match up) - wantContents := map[string][]*metricspb.Metric{ - nodeToKey(initiatingNode): mLi, - nodeToKey(node1): append(mL1, mLn1...), - nodeToKey(node2): append(mL2, append(mLn2a, mLn2b...)...), - } - - gotBlob, _ := json.Marshal(resultsMapping) - wantBlob, _ := json.Marshal(wantContents) - if !bytes.Equal(gotBlob, wantBlob) { - t.Errorf("Unequal serialization results\nGot:\n\t%s\nWant:\n\t%s\n", gotBlob, wantBlob) - } -} - -// The first message without a Node MUST be rejected and teardown the connection. -// See https://github.com/census-instrumentation/opencensus-service/issues/53 -func TestExportProtocolViolations_nodelessFirstMessage(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - metricSink := new(consumertest.MetricsSink) - - port, doneFn := ocReceiverOnGRPCServer(t, metricSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - metricsClient, metricsClientDoneFn, err := makeMetricsServiceClient(port) - require.NoError(t, err, "Failed to create the gRPC MetricsService_ExportClient: %v", err) - defer metricsClientDoneFn() - - // Send a Nodeless first message - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: nil}) - require.NoError(t, err, "Unexpectedly failed to send the first message: %v", err) - - longDuration := 2 * time.Second - testDone := make(chan bool, 1) - var wg sync.WaitGroup - wg.Add(1) - - go func() { - // Our insurance policy to ensure that this test doesn't hang - // forever and should quickly report if/when we regress. - select { - case <-testDone: - t.Log("Test ended early enough") - case <-time.After(longDuration): - metricsClientDoneFn() - t.Errorf("Test took too long (%s) and is likely still hanging so this is a regression", longDuration) - } - wg.Done() - }() - - // Now the response should return an error and should have been torn down - // regardless of the number of times after invocation below, or any attempt - // to send the proper/corrective data should be rejected. - for i := 0; i < 10; i++ { - recv, err := metricsClient.Recv() - if recv != nil { - t.Errorf("Iteration #%d: Unexpectedly got back a response: %#v", i, recv) - } - if err == nil { - t.Errorf("Iteration #%d: Unexpectedly got back a nil error", i) - continue - } - - wantSubStr := "protocol violation: Export's first message must have a Node" - if g := err.Error(); !strings.Contains(g, wantSubStr) { - t.Errorf("Iteration #%d: Got error:\n\t%s\nWant substring:\n\t%s\n", i, g, wantSubStr) - } - - // The connection should be invalid at this point and - // no attempt to send corrections should succeed. - n1 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 9489, HostName: "nodejs-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_NODE_JS}, - } - if err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: n1}); err == nil { - t.Errorf("Iteration #%d: Unexpectedly succeeded in sending a message upstream. Connection must be in terminal state", i) - } else if !errors.Is(err, io.EOF) { - t.Errorf("Iteration #%d:\nGot error %q\nWant error %q", i, err, io.EOF) - } - } - - close(testDone) - wg.Wait() -} - -// If the first message is valid (has a non-nil Node) and has metrics, those -// metrics should be received and NEVER discarded. -// See https://github.com/census-instrumentation/opencensus-service/issues/51 -func TestExportProtocolConformation_metricsInFirstMessage(t *testing.T) { - // This test used to be flaky on Windows. Skip if errors pop up again - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - metricSink := new(consumertest.MetricsSink) - - addr, doneFn := ocReceiverOnGRPCServer(t, metricSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - metricsClient, metricsClientDoneFn, err := makeMetricsServiceClient(addr) - require.NoError(t, err, "Failed to create the gRPC MetricsService_ExportClient: %v", err) - defer metricsClientDoneFn() - - mLi := []*metricspb.Metric{makeMetric(10), makeMetric(11)} - ni := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 1}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_JAVA}, - } - err = metricsClient.Send(&agentmetricspb.ExportMetricsServiceRequest{Node: ni, Metrics: mLi}) - require.NoError(t, err, "Failed to send the first message: %v", err) - - // Give it time to be sent over the wire, then exported. - <-time.After(100 * time.Millisecond) - - // Examination time! - resultsMapping := make(map[string][]*metricspb.Metric) - for _, md := range metricSink.AllMetrics() { - rms := md.ResourceMetrics() - for i := 0; i < rms.Len(); i++ { - node, _, metrics := opencensus.ResourceMetricsToOC(rms.At(i)) - resultsMapping[nodeToKey(node)] = append(resultsMapping[nodeToKey(node)], metrics...) - } - } - - if g, w := len(resultsMapping), 1; g != w { - t.Errorf("Results mapping: Got len(keys) %d Want %d", g, w) - } - - // Check for the keys - wantLengths := map[string]int{ - nodeToKey(ni): 2, - } - for key, wantLength := range wantLengths { - gotLength := len(resultsMapping[key]) - if gotLength != wantLength { - t.Errorf("Exported metrics:: Key: %s\nGot length %d\nWant length %d", key, gotLength, wantLength) - } - } - - // And finally ensure that the protos' serializations are equivalent to the expected - wantContents := map[string][]*metricspb.Metric{ - nodeToKey(ni): mLi, - } - - gotBlob, _ := json.Marshal(resultsMapping) - wantBlob, _ := json.Marshal(wantContents) - if !bytes.Equal(gotBlob, wantBlob) { - t.Errorf("Unequal serialization results\nGot:\n\t%s\nWant:\n\t%s\n", gotBlob, wantBlob) - } -} - -// Helper functions from here on below -func makeMetricsServiceClient(addr net.Addr) (agentmetricspb.MetricsService_ExportClient, func(), error) { - cc, err := grpc.NewClient(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - return nil, nil, err - } - - svc := agentmetricspb.NewMetricsServiceClient(cc) - metricsClient, err := svc.Export(context.Background()) - if err != nil { - _ = cc.Close() - return nil, nil, err - } - - doneFn := func() { _ = cc.Close() } - return metricsClient, doneFn, nil -} - -func nodeToKey(n *commonpb.Node) string { - blob, _ := proto.Marshal(n) - return string(blob) -} - -func ocReceiverOnGRPCServer(t *testing.T, sr consumer.Metrics, set receiver.Settings) (net.Addr, func()) { - ln, err := net.Listen("tcp", "localhost:") - require.NoError(t, err, "Failed to find an available address to run the gRPC server: %v", err) - - done := func() { - _ = ln.Close() - } - - oci, err := New(sr, set) - require.NoError(t, err, "Failed to create the Receiver: %v", err) - - // Now run it as a gRPC server - srv := grpc.NewServer() - agentmetricspb.RegisterMetricsServiceServer(srv, oci) - go func() { - _ = srv.Serve(ln) - }() - - return ln.Addr(), done -} - -func makeMetric(val int) *metricspb.Metric { - key := &metricspb.LabelKey{ - Key: fmt.Sprintf("%s%d", "key", val), - } - value := &metricspb.LabelValue{ - Value: fmt.Sprintf("%s%d", "value", val), - HasValue: true, - } - - descriptor := &metricspb.MetricDescriptor{ - Name: fmt.Sprintf("%s%d", "metric_descriptor_", val), - Description: "metric descriptor", - Unit: "1", - Type: metricspb.MetricDescriptor_GAUGE_INT64, - LabelKeys: []*metricspb.LabelKey{key}, - } - - now := time.Now().UTC() - point := &metricspb.Point{ - Timestamp: timestamppb.New(now.Add(20 * time.Second)), - Value: &metricspb.Point_Int64Value{ - Int64Value: int64(val), - }, - } - - ts := &metricspb.TimeSeries{ - StartTimestamp: timestamppb.New(now.Add(-10 * time.Second)), - LabelValues: []*metricspb.LabelValue{value}, - Points: []*metricspb.Point{point}, - } - - return &metricspb.Metric{ - MetricDescriptor: descriptor, - Timeseries: []*metricspb.TimeSeries{ts}, - } -} diff --git a/receiver/opencensusreceiver/internal/ocmetrics/package_test.go b/receiver/opencensusreceiver/internal/ocmetrics/package_test.go deleted file mode 100644 index 2cd3908a53585..0000000000000 --- a/receiver/opencensusreceiver/internal/ocmetrics/package_test.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package ocmetrics - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/receiver/opencensusreceiver/internal/octrace/doc.go b/receiver/opencensusreceiver/internal/octrace/doc.go deleted file mode 100644 index 079193f783bf5..0000000000000 --- a/receiver/opencensusreceiver/internal/octrace/doc.go +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -// Package octrace is the logic for receiving OpenCensus trace protobuf defined spans from -// already instrumented applications and then passing them onto a TracesReceiverSink instance. -package octrace // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/octrace" diff --git a/receiver/opencensusreceiver/internal/octrace/observability_test.go b/receiver/opencensusreceiver/internal/octrace/observability_test.go deleted file mode 100644 index ef202f7d4dd44..0000000000000 --- a/receiver/opencensusreceiver/internal/octrace/observability_test.go +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package octrace - -import ( - "runtime" - "testing" - "time" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - tracepb "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/attribute" - "go.opentelemetry.io/otel/sdk/metric/metricdata" - "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" - sdktrace "go.opentelemetry.io/otel/sdk/trace" - nooptrace "go.opentelemetry.io/otel/trace/noop" -) - -var receiverID = component.MustNewID("opencensus") - -// Ensure that if we add a metrics exporter that our target metrics -// will be recorded but also with the proper tag keys and values. -// See Issue https://github.com/census-instrumentation/opencensus-service/issues/63 -// -// Note: we are intentionally skipping the ocgrpc.ServerDefaultViews as this -// test is to ensure exactness, but with the mentioned views registered, the -// output will be quite noisy. -func TestEnsureRecordedMetrics(t *testing.T) { - if runtime.GOOS == "windows" { - t.Skip("skipping test on Windows, see https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/17574") - } - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - addr, doneReceiverFn := ocReceiverOnGRPCServer(t, consumertest.NewNop(), receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneReceiverFn() - - n := 20 - // Now for the traceExporter that sends 0 length spans - traceSvcClient, traceSvcDoneFn, err := makeTraceServiceClient(addr) - require.NoError(t, err, "Failed to create the trace service client: %v", err) - spans := []*tracepb.Span{{TraceId: []byte("abcdefghijklmnop"), SpanId: []byte("12345678")}} - for i := 0; i < n; i++ { - err = traceSvcClient.Send(&agenttracepb.ExportTraceServiceRequest{Spans: spans, Node: &commonpb.Node{}}) - require.NoError(t, err, "Failed to send requests to the service: %v", err) - } - flush(traceSvcDoneFn) - - assertReceiverTraces(t, tt, receiverID, int64(n), 0) -} - -func TestEnsureRecordedMetrics_zeroLengthSpansSender(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - port, doneFn := ocReceiverOnGRPCServer(t, consumertest.NewNop(), receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - n := 20 - // Now for the traceExporter that sends 0 length spans - traceSvcClient, traceSvcDoneFn, err := makeTraceServiceClient(port) - require.NoError(t, err, "Failed to create the trace service client: %v", err) - for i := 0; i <= n; i++ { - err = traceSvcClient.Send(&agenttracepb.ExportTraceServiceRequest{Spans: nil, Node: &commonpb.Node{}}) - require.NoError(t, err, "Failed to send requests to the service: %v", err) - } - flush(traceSvcDoneFn) - - assertReceiverTraces(t, tt, receiverID, 0, 0) -} - -func TestExportSpanLinkingMaintainsParentLink(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - tel := tt.NewTelemetrySettings() - otel.SetTracerProvider(tel.TracerProvider) - defer otel.SetTracerProvider(nooptrace.NewTracerProvider()) - - port, doneFn := ocReceiverOnGRPCServer(t, consumertest.NewNop(), receiver.Settings{ID: receiverID, TelemetrySettings: tel, BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - traceSvcClient, traceSvcDoneFn, err := makeTraceServiceClient(port) - require.NoError(t, err, "Failed to create the trace service client: %v", err) - - n := 5 - for i := 0; i < n; i++ { - sl := []*tracepb.Span{{TraceId: []byte("abcdefghijklmnop"), SpanId: []byte{byte(i + 1), 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}}} - err = traceSvcClient.Send(&agenttracepb.ExportTraceServiceRequest{Spans: sl, Node: &commonpb.Node{}}) - require.NoError(t, err, "Failed to send requests to the service: %v", err) - } - - flush(traceSvcDoneFn) - - // Inspection time! - gotSpanData := tt.SpanRecorder.Ended() - assert.Len(t, gotSpanData, n+1) - - receiverSpanData := gotSpanData[0] - assert.Len(t, receiverSpanData.Links(), 1) - - // The rpc span is always last in the list - rpcSpanData := gotSpanData[len(gotSpanData)-1] - - // Ensure that the link matches up exactly! - wantLink := sdktrace.Link{SpanContext: rpcSpanData.SpanContext()} - - assert.Equal(t, wantLink, receiverSpanData.Links()[0]) - assert.Equal(t, "receiver/opencensus/TraceDataReceived", receiverSpanData.Name()) - - // And then for the receiverSpanData itself, it SHOULD NOT - // have a ParentID, so let's enforce all the conditions below: - // 1. That it doesn't have the RPC spanID as its ParentSpanID - // 2. That it actually has no ParentSpanID i.e. has a blank SpanID - assert.NotEqual(t, rpcSpanData.SpanContext().SpanID(), receiverSpanData.Parent().SpanID(), - "ReceiverSpanData.ParentSpanID unfortunately was linked to the RPC span") - assert.False(t, receiverSpanData.Parent().IsValid()) -} - -// TODO: Determine how to do this deterministic. -func flush(traceSvcDoneFn func()) { - // Give it enough time to process the streamed spans. - <-time.After(40 * time.Millisecond) - - // End the gRPC service to complete the RPC trace so that we - // can examine the RPC trace as well. - traceSvcDoneFn() - - // Give it some more time to complete the RPC trace and export. - <-time.After(40 * time.Millisecond) -} - -func assertReceiverTraces(t *testing.T, tt *componenttest.Telemetry, id component.ID, accepted, refused int64) { - got, err := tt.GetMetric("otelcol_receiver_accepted_spans") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_accepted_spans", - Description: "Number of spans successfully pushed into the pipeline. [alpha]", - Unit: "{spans}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", id.String()), - attribute.String("transport", "grpc")), - Value: accepted, - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) - - got, err = tt.GetMetric("otelcol_receiver_refused_spans") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_refused_spans", - Description: "Number of spans that could not be pushed into the pipeline. [alpha]", - Unit: "{spans}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", id.String()), - attribute.String("transport", "grpc")), - Value: refused, - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) -} diff --git a/receiver/opencensusreceiver/internal/octrace/opencensus.go b/receiver/opencensusreceiver/internal/octrace/opencensus.go deleted file mode 100644 index 9d5a4d7fde89b..0000000000000 --- a/receiver/opencensusreceiver/internal/octrace/opencensus.go +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package octrace // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/octrace" - -import ( - "context" - "errors" - "io" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - resourcepb "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/pdata/ptrace" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receiverhelper" - - internaldata "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" -) - -const ( - receiverTransport = "grpc" // TODO: transport is being hard coded for now, investigate if info is available on context. - receiverDataFormat = "protobuf" -) - -// Receiver is the type used to handle spans from OpenCensus exporters. -type Receiver struct { - agenttracepb.UnimplementedTraceServiceServer - nextConsumer consumer.Traces - obsrecv *receiverhelper.ObsReport -} - -// New creates a new opencensus.Receiver reference. -func New(nextConsumer consumer.Traces, set receiver.Settings) (*Receiver, error) { - obsrecv, err := receiverhelper.NewObsReport(receiverhelper.ObsReportSettings{ - ReceiverID: set.ID, - Transport: receiverTransport, - LongLivedCtx: true, - ReceiverCreateSettings: set, - }) - if err != nil { - return nil, err - } - return &Receiver{ - nextConsumer: nextConsumer, - obsrecv: obsrecv, - }, nil -} - -var _ agenttracepb.TraceServiceServer = (*Receiver)(nil) - -var errUnimplemented = errors.New("unimplemented") - -// Config handles configuration messages. -func (*Receiver) Config(agenttracepb.TraceService_ConfigServer) error { - // TODO: Implement when we define the config receiver/sender. - return errUnimplemented -} - -var errTraceExportProtocolViolation = errors.New("protocol violation: Export's first message must have a Node") - -// Export is the gRPC method that receives streamed traces from -// OpenCensus-traceproto compatible libraries/applications. -func (ocr *Receiver) Export(tes agenttracepb.TraceService_ExportServer) error { - ctx := tes.Context() - - // The first message MUST have a non-nil Node. - recv, err := tes.Recv() - if err != nil { - return err - } - - // Check the condition that the first message has a non-nil Node. - if recv.Node == nil { - return errTraceExportProtocolViolation - } - - var lastNonNilNode *commonpb.Node - var resource *resourcepb.Resource - // Now that we've got the first message with a Node, we can start to receive streamed up spans. - for { - lastNonNilNode, resource, err = ocr.processReceivedMsg( - ctx, - lastNonNilNode, - resource, - recv) - if err != nil { - return err - } - - recv, err = tes.Recv() - if err != nil { - if errors.Is(err, io.EOF) { - // Do not return EOF as an error so that grpc-gateway calls get an empty - // response with HTTP status code 200 rather than a 500 error with EOF. - return nil - } - return err - } - } -} - -func (ocr *Receiver) processReceivedMsg( - longLivedRPCCtx context.Context, - lastNonNilNode *commonpb.Node, - resource *resourcepb.Resource, - recv *agenttracepb.ExportTraceServiceRequest, -) (*commonpb.Node, *resourcepb.Resource, error) { - // If a Node has been sent from downstream, save and use it. - if recv.Node != nil { - lastNonNilNode = recv.Node - } - - // TODO(songya): differentiate between unset and nil resource. See - // https://github.com/census-instrumentation/opencensus-proto/issues/146. - if recv.Resource != nil { - resource = recv.Resource - } - - td := internaldata.OCToTraces(lastNonNilNode, resource, recv.Spans) - err := ocr.sendToNextConsumer(longLivedRPCCtx, td) - return lastNonNilNode, resource, err -} - -func (ocr *Receiver) sendToNextConsumer(longLivedRPCCtx context.Context, td ptrace.Traces) error { - ctx := ocr.obsrecv.StartTracesOp(longLivedRPCCtx) - - numReceivedSpans := td.SpanCount() - err := ocr.nextConsumer.ConsumeTraces(ctx, td) - ocr.obsrecv.EndTracesOp(ctx, receiverDataFormat, numReceivedSpans, err) - - return err -} diff --git a/receiver/opencensusreceiver/internal/octrace/opencensus_test.go b/receiver/opencensusreceiver/internal/octrace/opencensus_test.go deleted file mode 100644 index f519634928933..0000000000000 --- a/receiver/opencensusreceiver/internal/octrace/opencensus_test.go +++ /dev/null @@ -1,387 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package octrace - -import ( - "bytes" - "context" - "encoding/json" - "errors" - "io" - "net" - "strings" - "testing" - "time" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - tracepb "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/pdata/testdata" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" - "google.golang.org/protobuf/proto" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" -) - -func TestReceiver_endToEnd(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - spanSink := new(consumertest.TracesSink) - - addr, doneFn := ocReceiverOnGRPCServer(t, spanSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - traceClient, traceClientDoneFn, err := makeTraceServiceClient(addr) - require.NoError(t, err, "Failed to create the gRPC TraceService_ExportClient: %v", err) - defer traceClientDoneFn() - td := testdata.GenerateTraces(1) - node, resource, spans := opencensus.ResourceSpansToOC(td.ResourceSpans().At(0)) - assert.NoError(t, traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: node, Resource: resource, Spans: spans})) - - assert.Eventually(t, func() bool { - return len(spanSink.AllTraces()) != 0 - }, 10*time.Second, 5*time.Millisecond) - gotTraces := spanSink.AllTraces() - require.Len(t, gotTraces, 1) - assert.Equal(t, td, gotTraces[0]) -} - -// Issue #43. Export should support node multiplexing. -// The goal is to ensure that Receiver can always support -// a passthrough mode where it initiates Export normally by firstly -// receiving the initiator node. However ti should still be able to -// accept nodes from downstream sources, but if a node isn't specified in -// an exportTrace request, assume it is from the last received and non-nil node. -func TestExportMultiplexing(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - spanSink := new(consumertest.TracesSink) - - addr, doneFn := ocReceiverOnGRPCServer(t, spanSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - traceClient, traceClientDoneFn, err := makeTraceServiceClient(addr) - require.NoError(t, err, "Failed to create the gRPC TraceService_ExportClient: %v", err) - defer traceClientDoneFn() - - // Step 1) The initiation. - initiatingNode := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{ - Pid: 1, - HostName: "multiplexer", - }, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_JAVA}, - } - - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: initiatingNode}) - require.NoError(t, err, "Failed to send the initiating message: %v", err) - - // Step 1a) Send some spans without a node, they should be registered as coming from the initiating node. - sLi := []*tracepb.Span{{TraceId: []byte("1234567890abcdef"), Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: nil, Spans: sLi}) - require.NoError(t, err, "Failed to send the proxied message from app1: %v", err) - - // Step 2) Send a "proxied" trace message from app1 with "node1" - node1 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 9489, HostName: "nodejs-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_NODE_JS}, - } - sL1 := []*tracepb.Span{{TraceId: []byte("abcdefghijklmnop"), Name: &tracepb.TruncatableString{Value: "test"}, Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: node1, Spans: sL1}) - require.NoError(t, err, "Failed to send the proxied message from app1: %v", err) - - // Step 3) Send a trace message without a node but with spans: this - // should be registered as belonging to the last used node i.e. "node1". - sLn1 := []*tracepb.Span{{TraceId: []byte("ABCDEFGHIJKLMNOP"), Status: &tracepb.Status{}}, {TraceId: []byte("1234567890abcdef"), Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: nil, Spans: sLn1}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - - // Step 4) Send a trace message from a differently proxied node "node2" from app2 - node2 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 7752, HostName: "golang-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_GO_LANG}, - } - sL2 := []*tracepb.Span{{TraceId: []byte("_B_D_F_H_J_L_N_O"), Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: node2, Spans: sL2}) - require.NoError(t, err, "Failed to send the proxied message from app2: %v", err) - - // Step 5a) Send a trace message without a node but with spans: this - // should be registered as belonging to the last used node i.e. "node2". - sLn2a := []*tracepb.Span{{TraceId: []byte("_BCDEFGHIJKLMNO_"), Status: &tracepb.Status{}}, {TraceId: []byte("_234567890abcde_"), Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: nil, Spans: sLn2a}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - - // Step 5b) - sLn2b := []*tracepb.Span{{TraceId: []byte("_xxxxxxxxxxxxxx_"), Status: &tracepb.Status{}}, {TraceId: []byte("B234567890abcdAB"), Status: &tracepb.Status{}}} - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: nil, Spans: sLn2b}) - require.NoError(t, err, "Failed to send the proxied message without a node: %v", err) - // Give the process sometime to send data over the wire and perform batching - <-time.After(150 * time.Millisecond) - - // Examination time! - resultsMapping := make(map[string][]*tracepb.Span) - for _, td := range spanSink.AllTraces() { - rss := td.ResourceSpans() - for i := 0; i < rss.Len(); i++ { - node, _, spans := opencensus.ResourceSpansToOC(rss.At(i)) - resultsMapping[nodeToKey(node)] = append(resultsMapping[nodeToKey(node)], spans...) - } - } - - // First things first, we expect exactly 3 unique keys - // 1. Initiating Node - // 2. Node 1 - // 3. Node 2 - if g, w := len(resultsMapping), 3; g != w { - t.Errorf("Got %d keys in the results map; Wanted exactly %d\n\nResultsMapping: %+v\n", g, w, resultsMapping) - } - - // Want span counts - wantSpanCounts := map[string]int{ - nodeToKey(initiatingNode): 1, - nodeToKey(node1): 3, - nodeToKey(node2): 5, - } - for key, wantSpanCounts := range wantSpanCounts { - gotSpanCounts := len(resultsMapping[key]) - if gotSpanCounts != wantSpanCounts { - t.Errorf("Key=%q gotSpanCounts %d wantSpanCounts %d", key, gotSpanCounts, wantSpanCounts) - } - } - - // Now ensure that the exported spans match up exactly with - // the nodes and the last seen node expectation/behavior. - // (or at least their serialized equivalents match up) - wantContents := map[string][]*tracepb.Span{ - nodeToKey(initiatingNode): sLi, - nodeToKey(node1): append(sL1, sLn1...), - nodeToKey(node2): append(sL2, append(sLn2a, sLn2b...)...), - } - - for nodeKey, wantSpans := range wantContents { - gotSpans, ok := resultsMapping[nodeKey] - if !ok { - t.Errorf("Wanted to find a node that was not found for key: %s", nodeKey) - } - if len(gotSpans) != len(wantSpans) { - t.Errorf("Unequal number of spans for nodeKey: %s", nodeKey) - } - for _, wantSpan := range wantSpans { - found := false - for _, gotSpan := range gotSpans { - wantStr, _ := json.Marshal(wantSpan) - gotStr, _ := json.Marshal(gotSpan) - if bytes.Equal(wantStr, gotStr) { - found = true - } - } - if !found { - t.Errorf("Unequal span serialization\nGot:\n\t%s\nWant:\n\t%s\n", gotSpans, wantSpans) - } - } - } -} - -// The first message without a Node MUST be rejected and teardown the connection. -// See https://github.com/census-instrumentation/opencensus-service/issues/53 -func TestExportProtocolViolations_nodelessFirstMessage(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - spanSink := new(consumertest.TracesSink) - - port, doneFn := ocReceiverOnGRPCServer(t, spanSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - traceClient, traceClientDoneFn, err := makeTraceServiceClient(port) - require.NoError(t, err, "Failed to create the gRPC TraceService_ExportClient: %v", err) - defer traceClientDoneFn() - - // Send a Nodeless first message - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: nil}) - require.NoError(t, err, "Unexpectedly failed to send the first message: %v", err) - - longDuration := 2 * time.Second - testDone := make(chan struct{}) - goroutineDone := make(chan struct{}) - go func() { - // Our insurance policy to ensure that this test doesn't hang - // forever and should quickly report if/when we regress. - select { - case <-testDone: - t.Log("Test ended early enough") - case <-time.After(longDuration): - traceClientDoneFn() - t.Errorf("Test took too long (%s) and is likely still hanging so this is a regression", longDuration) - } - close(goroutineDone) - }() - - // Now the response should return an error and should have been torn down - // regardless of the number of times after invocation below, or any attempt - // to send the proper/corrective data should be rejected. - for i := 0; i < 10; i++ { - recv, err := traceClient.Recv() - if recv != nil { - t.Errorf("Iteration #%d: Unexpectedly got back a response: %#v", i, recv) - } - if err == nil { - t.Errorf("Iteration #%d: Unexpectedly got back a nil error", i) - continue - } - - wantSubStr := "protocol violation: Export's first message must have a Node" - if g := err.Error(); !strings.Contains(g, wantSubStr) { - t.Errorf("Iteration #%d: Got error:\n\t%s\nWant substring:\n\t%s\n", i, g, wantSubStr) - } - - // The connection should be invalid at this point and - // no attempt to send corrections should succeed. - n1 := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 9489, HostName: "nodejs-host"}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_NODE_JS}, - } - if err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: n1}); err == nil { - t.Errorf("Iteration #%d: Unexpectedly succeeded in sending a message upstream. Connection must be in terminal state", i) - } else if !errors.Is(err, io.EOF) { - t.Errorf("Iteration #%d:\nGot error %q\nWant error %q", i, err, io.EOF) - } - } - - close(testDone) - <-goroutineDone -} - -// If the first message is valid (has a non-nil Node) and has spans, those -// spans should be received and NEVER discarded. -// See https://github.com/census-instrumentation/opencensus-service/issues/51 -func TestExportProtocolConformation_spansInFirstMessage(t *testing.T) { - tt := componenttest.NewTelemetry() - defer func() { - require.NoError(t, tt.Shutdown(t.Context())) - }() - - spanSink := new(consumertest.TracesSink) - - port, doneFn := ocReceiverOnGRPCServer(t, spanSink, receiver.Settings{ID: receiverID, TelemetrySettings: tt.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}) - defer doneFn() - - traceClient, traceClientDoneFn, err := makeTraceServiceClient(port) - require.NoError(t, err, "Failed to create the gRPC TraceService_ExportClient: %v", err) - defer traceClientDoneFn() - - sLi := []*tracepb.Span{ - {TraceId: []byte("1234567890abcdef"), Status: &tracepb.Status{}}, - {TraceId: []byte("XXXXXXXXXXabcdef"), Status: &tracepb.Status{}}, - } - ni := &commonpb.Node{ - Identifier: &commonpb.ProcessIdentifier{Pid: 1}, - LibraryInfo: &commonpb.LibraryInfo{Language: commonpb.LibraryInfo_JAVA}, - } - err = traceClient.Send(&agenttracepb.ExportTraceServiceRequest{Node: ni, Spans: sLi}) - require.NoError(t, err, "Failed to send the first message: %v", err) - - // Give it time to be sent over the wire, then exported. - <-time.After(100 * time.Millisecond) - - // Examination time! - resultsMapping := make(map[string][]*tracepb.Span) - for _, td := range spanSink.AllTraces() { - rss := td.ResourceSpans() - for i := 0; i < rss.Len(); i++ { - node, _, spans := opencensus.ResourceSpansToOC(rss.At(i)) - resultsMapping[nodeToKey(node)] = append(resultsMapping[nodeToKey(node)], spans...) - } - } - - if g, w := len(resultsMapping), 1; g != w { - t.Errorf("Results mapping: Got len(keys) %d Want %d", g, w) - } - - // Check for the keys - wantLengths := map[string]int{ - nodeToKey(ni): 2, - } - for key, wantLength := range wantLengths { - gotLength := len(resultsMapping[key]) - if gotLength != wantLength { - t.Errorf("Exported spans:: Key: %s\nGot length %d\nWant length %d", key, gotLength, wantLength) - } - } - - // And finally ensure that the protos' serializations are equivalent to the expected - wantContents := map[string][]*tracepb.Span{ - nodeToKey(ni): sLi, - } - - gotBlob, _ := json.Marshal(resultsMapping) - wantBlob, _ := json.Marshal(wantContents) - if !bytes.Equal(gotBlob, wantBlob) { - t.Errorf("Unequal serialization results\nGot:\n\t%s\nWant:\n\t%s\n", gotBlob, wantBlob) - } -} - -// Helper functions from here on below -func makeTraceServiceClient(addr net.Addr) (agenttracepb.TraceService_ExportClient, func(), error) { - cc, err := grpc.NewClient(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - return nil, nil, err - } - - svc := agenttracepb.NewTraceServiceClient(cc) - traceClient, err := svc.Export(context.Background()) - if err != nil { - _ = cc.Close() - return nil, nil, err - } - - doneFn := func() { _ = cc.Close() } - return traceClient, doneFn, nil -} - -func nodeToKey(n *commonpb.Node) string { - blob, _ := proto.Marshal(n) - return string(blob) -} - -func ocReceiverOnGRPCServer(t *testing.T, sr consumer.Traces, set receiver.Settings) (net.Addr, func()) { - ln, err := net.Listen("tcp", "localhost:0") - require.NoError(t, err, "Failed to find an available address to run the gRPC server: %v", err) - - doneFnList := []func(){func() { require.NoError(t, ln.Close()) }} - done := func() { - for _, doneFn := range doneFnList { - doneFn() - } - } - - oci, err := New(sr, set) - require.NoError(t, err, "Failed to create the Receiver: %v", err) - - // Now run it as a gRPC server - srv := grpc.NewServer(grpc.StatsHandler(otelgrpc.NewServerHandler())) - agenttracepb.RegisterTraceServiceServer(srv, oci) - go func() { - _ = srv.Serve(ln) - }() - - return ln.Addr(), done -} diff --git a/receiver/opencensusreceiver/internal/octrace/package_test.go b/receiver/opencensusreceiver/internal/octrace/package_test.go deleted file mode 100644 index 3383dc22a3b13..0000000000000 --- a/receiver/opencensusreceiver/internal/octrace/package_test.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package octrace - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/receiver/opencensusreceiver/metadata.yaml b/receiver/opencensusreceiver/metadata.yaml deleted file mode 100644 index efae82981084a..0000000000000 --- a/receiver/opencensusreceiver/metadata.yaml +++ /dev/null @@ -1,20 +0,0 @@ -type: opencensus - -status: - class: receiver - stability: - deprecated: [metrics, traces] - distributions: [core, contrib, k8s] - deprecation: - metrics: - date: "2025-02-14" - migration: "Use OTLP receiver (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791)" - traces: - date: "2025-02-14" - migration: "use OTLP receiver (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36791)" - codeowners: - active: [open-telemetry/collector-approvers] - -tests: - config: - endpoint: localhost:0 \ No newline at end of file diff --git a/receiver/opencensusreceiver/opencensus.go b/receiver/opencensusreceiver/opencensus.go deleted file mode 100644 index dc65bfd7b3e8f..0000000000000 --- a/receiver/opencensusreceiver/opencensus.go +++ /dev/null @@ -1,217 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - -import ( - "context" - "errors" - "fmt" - "net" - "net/http" - "sync" - "time" - - agentmetricspb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - gatewayruntime "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/rs/cors" - "github.com/soheilhy/cmux" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componentstatus" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/receiver" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" - - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/ocmetrics" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/octrace" -) - -// ocReceiver is the type that exposes Trace and Metrics reception. -type ocReceiver struct { - cfg *Config - ln net.Listener - serverGRPC *grpc.Server - serverHTTP *http.Server - gatewayMux *gatewayruntime.ServeMux - corsOrigins []string - grpcServerSettings configgrpc.ServerConfig - cancel context.CancelFunc - - traceReceiver *octrace.Receiver - metricsReceiver *ocmetrics.Receiver - - traceConsumer consumer.Traces - metricsConsumer consumer.Metrics - - stopWG sync.WaitGroup - - settings receiver.Settings - multiplexer cmux.CMux -} - -// newOpenCensusReceiver just creates the OpenCensus receiver services. It is the caller's -// responsibility to invoke the respective Start*Reception methods as well -// as the various Stop*Reception methods to end it. -func newOpenCensusReceiver( - cfg *Config, - tc consumer.Traces, - mc consumer.Metrics, - settings receiver.Settings, - opts ...ocOption, -) *ocReceiver { - ocr := &ocReceiver{ - cfg: cfg, - corsOrigins: []string{}, // Disable CORS by default. - gatewayMux: gatewayruntime.NewServeMux(), - traceConsumer: tc, - metricsConsumer: mc, - settings: settings, - } - - for _, opt := range opts { - opt.withReceiver(ocr) - } - - return ocr -} - -// Start runs the trace receiver on the gRPC server. Currently -// it also enables the metrics receiver too. -func (ocr *ocReceiver) Start(ctx context.Context, host component.Host) error { - var err error - ocr.serverGRPC, err = ocr.grpcServerSettings.ToServer(ctx, host, ocr.settings.TelemetrySettings) - if err != nil { - return err - } - var mux http.Handler = ocr.gatewayMux - if len(ocr.corsOrigins) > 0 { - co := cors.Options{AllowedOrigins: ocr.corsOrigins} - mux = cors.New(co).Handler(mux) - } - ocr.serverHTTP = &http.Server{Handler: mux, ReadHeaderTimeout: 20 * time.Second} - hasConsumer := false - if ocr.traceConsumer != nil { - hasConsumer = true - ocr.traceReceiver, err = octrace.New(ocr.traceConsumer, ocr.settings) - if err != nil { - return err - } - agenttracepb.RegisterTraceServiceServer(ocr.serverGRPC, ocr.traceReceiver) - } - - if ocr.metricsConsumer != nil { - hasConsumer = true - ocr.metricsReceiver, err = ocmetrics.New(ocr.metricsConsumer, ocr.settings) - if err != nil { - return err - } - agentmetricspb.RegisterMetricsServiceServer(ocr.serverGRPC, ocr.metricsReceiver) - } - - if !hasConsumer { - return errors.New("cannot start receiver: no consumers were specified") - } - - ocr.ln, err = net.Listen(string(ocr.cfg.NetAddr.Transport), ocr.cfg.NetAddr.Endpoint) - if err != nil { - return fmt.Errorf("failed to bind to address %q: %w", ocr.cfg.NetAddr.Endpoint, err) - } - - // Register the grpc-gateway on the HTTP server mux - var c context.Context - c, ocr.cancel = context.WithCancel(context.Background()) - - endpoint := ocr.ln.Addr().String() - - _, ok := ocr.ln.(*net.UnixListener) - if ok { - endpoint = "unix:" + endpoint - } - - // Start the gRPC and HTTP/JSON (grpc-gateway) servers on the same port. - ocr.multiplexer = cmux.New(ocr.ln) - grpcL := ocr.multiplexer.MatchWithWriters( - cmux.HTTP2MatchHeaderFieldSendSettings("content-type", "application/grpc"), - cmux.HTTP2MatchHeaderFieldSendSettings("content-type", "application/grpc+proto")) - - httpL := ocr.multiplexer.Match(cmux.Any()) - ocr.stopWG.Add(1) - startWG := sync.WaitGroup{} - startWG.Add(3) - - go func() { - defer ocr.stopWG.Done() - startWG.Done() - // Check for cmux.ErrServerClosed, because during the shutdown this is not properly close before closing the cmux, - if err := ocr.serverGRPC.Serve(grpcL); err != nil && !errors.Is(err, grpc.ErrServerStopped) && !errors.Is(err, cmux.ErrServerClosed) { - componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) - } - }() - go func() { - startWG.Done() - if err := ocr.serverHTTP.Serve(httpL); err != nil && !errors.Is(err, http.ErrServerClosed) && !errors.Is(err, cmux.ErrServerClosed) { - componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) - } - }() - go func() { - startWG.Done() - if err := ocr.multiplexer.Serve(); err != nil && !errors.Is(err, net.ErrClosed) { - componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) - } - }() - - startWG.Wait() - - opts := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())} - if err := agenttracepb.RegisterTraceServiceHandlerFromEndpoint(c, ocr.gatewayMux, endpoint, opts); err != nil { - return err - } - - if err := agentmetricspb.RegisterMetricsServiceHandlerFromEndpoint(c, ocr.gatewayMux, endpoint, opts); err != nil { - return err - } - - if ocr.serverGRPC == nil { - var err error - ocr.serverGRPC, err = ocr.grpcServerSettings.ToServer(context.Background(), host, ocr.settings.TelemetrySettings) - if err != nil { - return err - } - } - - // At this point we've successfully started all the services/receivers. - // Add other start routines here. - return nil -} - -// Shutdown is a method to turn off receiving. -func (ocr *ocReceiver) Shutdown(ctx context.Context) error { - if ocr.cancel != nil { - ocr.cancel() - } - - if ocr.serverGRPC != nil { - ocr.serverGRPC.Stop() - ocr.stopWG.Wait() - } - - if ocr.serverHTTP != nil { - _ = ocr.serverHTTP.Shutdown(ctx) - } - - if ocr.ln != nil { - _ = ocr.ln.Close() - } - - if ocr.multiplexer != nil { - ocr.multiplexer.Close() - } - - ocr.traceConsumer = nil - ocr.metricsConsumer = nil - - return nil -} diff --git a/receiver/opencensusreceiver/opencensus_test.go b/receiver/opencensusreceiver/opencensus_test.go deleted file mode 100644 index cd12316d08673..0000000000000 --- a/receiver/opencensusreceiver/opencensus_test.go +++ /dev/null @@ -1,952 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -//lint:file-ignore U1000 t.Skip() flaky test causes unused function warning. - -package opencensusreceiver - -import ( - "bytes" - "context" - "errors" - "fmt" - "io" - "net" - "net/http" - "os" - "strings" - "sync" - "testing" - "time" - - commonpb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1" - agentmetricspb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1" - agenttracepb "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1" - metricspb "github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1" - resourcepb "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1" - tracepb "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componentstatus" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/config/configoptional" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receivertest" - "go.opentelemetry.io/otel/attribute" - "go.opentelemetry.io/otel/sdk/metric/metricdata" - "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/credentials/insecure" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/types/known/timestamppb" - - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver/internal/metadata" -) - -var ocReceiverID = component.NewIDWithName(metadata.Type, "receiver_test") - -func TestGrpcGateway_endToEnd(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - - // Set the buffer count to 1 to make it flush the test span immediately. - sink := new(consumertest.TracesSink) - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, sink, nil, receivertest.NewNopSettings(metadata.Type)) - - err := ocr.Start(t.Context(), componenttest.NewNopHost()) - require.NoError(t, err, "Failed to start trace receiver: %v", err) - t.Cleanup(func() { require.NoError(t, ocr.Shutdown(t.Context())) }) - - url := fmt.Sprintf("http://%s/v1/trace", addr) - - // Verify that CORS is not enabled by default, but that it gives a method not allowed error. - verifyCorsResp(t, url, "origin.com", http.StatusNotImplemented, false) - - traceJSON := []byte(` - { - "node":{"identifier":{"hostName":"testHost"}}, - "spans":[ - { - "traceId":"W47/95gDgQPSabYzgT/GDA==", - "spanId":"7uGbfsPBsXM=", - "name":{"value":"testSpan"}, - "startTime":"2018-12-13T14:51:00Z", - "endTime":"2018-12-13T14:51:01Z", - "attributes": { - "attributeMap": { - "attr1": {"intValue": "55"} - } - } - } - ] - }`) - req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(traceJSON)) - require.NoError(t, err, "Error creating trace POST request: %v", err) - req.Header.Set("Content-Type", "application/json") - - client := &http.Client{} - defer client.CloseIdleConnections() - resp, err := client.Do(req) - require.NoError(t, err, "Error posting trace to grpc-gateway server: %v", err) - - respBytes, err := io.ReadAll(resp.Body) - require.NoError(t, err) - respStr := string(respBytes) - - require.NoError(t, resp.Body.Close()) - - assert.Equal(t, http.StatusOK, resp.StatusCode) - assert.Empty(t, respStr) - - got := sink.AllTraces() - require.Len(t, got, 1) - require.Equal(t, 1, got[0].ResourceSpans().Len()) - gotNode, gotResource, gotSpans := opencensus.ResourceSpansToOC(got[0].ResourceSpans().At(0)) - - wantNode := &commonpb.Node{Identifier: &commonpb.ProcessIdentifier{HostName: "testHost"}} - wantResource := &resourcepb.Resource{} - wantSpans := []*tracepb.Span{ - { - TraceId: []byte{0x5B, 0x8E, 0xFF, 0xF7, 0x98, 0x3, 0x81, 0x3, 0xD2, 0x69, 0xB6, 0x33, 0x81, 0x3F, 0xC6, 0xC}, - SpanId: []byte{0xEE, 0xE1, 0x9B, 0x7E, 0xC3, 0xC1, 0xB1, 0x73}, - Name: &tracepb.TruncatableString{Value: "testSpan"}, - StartTime: timestamppb.New(time.Unix(1544712660, 0).UTC()), - EndTime: timestamppb.New(time.Unix(1544712661, 0).UTC()), - Attributes: &tracepb.Span_Attributes{ - AttributeMap: map[string]*tracepb.AttributeValue{ - "attr1": { - Value: &tracepb.AttributeValue_IntValue{IntValue: 55}, - }, - }, - }, - Status: &tracepb.Status{}, - }, - } - assert.True(t, proto.Equal(wantNode, gotNode)) - assert.True(t, proto.Equal(wantResource, gotResource)) - require.Len(t, wantSpans, 1) - require.Len(t, gotSpans, 1) - assert.Equal(t, wantSpans[0], gotSpans[0]) -} - -func TestTraceGrpcGatewayCors_endToEnd(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - corsOrigins := []string{"allowed-*.com"} - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, consumertest.NewNop(), nil, receivertest.NewNopSettings(metadata.Type), withCorsOrigins(corsOrigins)) - t.Cleanup(func() { require.NoError(t, ocr.Shutdown(t.Context())) }) - - err := ocr.Start(t.Context(), componenttest.NewNopHost()) - require.NoError(t, err, "Failed to start trace receiver: %v", err) - - // TODO(songy23): make starting server deterministic - // Wait for the servers to start - <-time.After(10 * time.Millisecond) - - url := fmt.Sprintf("http://%s/v1/trace", addr) - - // Verify allowed domain gets responses that allow CORS. - verifyCorsResp(t, url, "allowed-origin.com", http.StatusNoContent, true) - - // Verify disallowed domain gets responses that disallow CORS. - verifyCorsResp(t, url, "disallowed-origin.com", http.StatusNoContent, false) -} - -func TestMetricsGrpcGatewayCors_endToEnd(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - corsOrigins := []string{"allowed-*.com"} - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, nil, consumertest.NewNop(), receivertest.NewNopSettings(metadata.Type), withCorsOrigins(corsOrigins)) - t.Cleanup(func() { require.NoError(t, ocr.Shutdown(t.Context())) }) - - err := ocr.Start(t.Context(), componenttest.NewNopHost()) - require.NoError(t, err, "Failed to start metrics receiver: %v", err) - - // TODO(songy23): make starting server deterministic - // Wait for the servers to start - <-time.After(10 * time.Millisecond) - - url := fmt.Sprintf("http://%s/v1/metrics", addr) - - // Verify allowed domain gets responses that allow CORS. - verifyCorsResp(t, url, "allowed-origin.com", http.StatusNoContent, true) - - // Verify disallowed domain gets responses that disallow CORS. - verifyCorsResp(t, url, "disallowed-origin.com", http.StatusNoContent, false) -} - -func verifyCorsResp(t *testing.T, url, origin string, wantStatus int, wantAllowed bool) { - req, err := http.NewRequest(http.MethodOptions, url, http.NoBody) - require.NoError(t, err, "Error creating trace OPTIONS request: %v", err) - req.Header.Set("Origin", origin) - req.Header.Set("Access-Control-Request-Method", http.MethodPost) - - client := &http.Client{} - defer client.CloseIdleConnections() - resp, err := client.Do(req) - require.NoError(t, err, "Error sending OPTIONS to grpc-gateway server: %v", err) - - err = resp.Body.Close() - if err != nil { - t.Errorf("Error closing OPTIONS response body, %v", err) - } - - assert.Equal(t, wantStatus, resp.StatusCode) - - gotAllowOrigin := resp.Header.Get("Access-Control-Allow-Origin") - gotAllowMethods := resp.Header.Get("Access-Control-Allow-Methods") - - wantAllowOrigin := "" - wantAllowMethods := "" - if wantAllowed { - wantAllowOrigin = origin - wantAllowMethods = http.MethodPost - } - - assert.Equal(t, wantAllowOrigin, gotAllowOrigin) - assert.Equal(t, wantAllowMethods, gotAllowMethods) -} - -func TestStopWithoutStartNeverCrashes(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, nil, nil, receivertest.NewNopSettings(metadata.Type)) - // Stop it before ever invoking Start*. - require.NoError(t, ocr.Shutdown(t.Context())) -} - -func TestNewPortAlreadyUsed(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - ln, err := net.Listen("tcp", addr) - require.NoError(t, err, "failed to listen on %q: %v", addr, err) - defer ln.Close() - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - r := newOpenCensusReceiver(cfg, nil, nil, receivertest.NewNopSettings(metadata.Type)) - err = r.Start(t.Context(), componenttest.NewNopHost()) - require.Error(t, err) - require.NoError(t, r.Shutdown(t.Context())) -} - -func TestMultipleStopReceptionShouldNotError(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - r := newOpenCensusReceiver(cfg, consumertest.NewNop(), consumertest.NewNop(), receivertest.NewNopSettings(metadata.Type)) - require.NotNil(t, r) - - require.NoError(t, r.Start(t.Context(), componenttest.NewNopHost())) - require.NoError(t, r.Shutdown(t.Context())) -} - -func TestStartWithoutConsumersShouldFail(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - r := newOpenCensusReceiver(cfg, nil, nil, receivertest.NewNopSettings(metadata.Type)) - require.NotNil(t, r) - - require.Error(t, r.Start(t.Context(), componenttest.NewNopHost())) -} - -func TestStartListenerClosed(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - - // Set the buffer count to 1 to make it flush the test span immediately. - sink := new(consumertest.TracesSink) - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, sink, nil, receivertest.NewNopSettings(metadata.Type)) - - ctx := t.Context() - - // start receiver - err := ocr.Start(ctx, componenttest.NewNopHost()) - require.NoError(t, err, "Failed to start trace receiver: %v", err) - - url := fmt.Sprintf("http://%s/v1/trace", addr) - - traceJSON := []byte(` - { - "node":{"identifier":{"hostName":"testHost"}}, - "spans":[ - { - "traceId":"W47/95gDgQPSabYzgT/GDA==", - "spanId":"7uGbfsPBsXM=", - "name":{"value":"testSpan"}, - "startTime":"2018-12-13T14:51:00Z", - "endTime":"2018-12-13T14:51:01Z", - "attributes": { - "attributeMap": { - "attr1": {"intValue": "55"} - } - } - } - ] - }`) - - // send request to verify listener is working - req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(traceJSON)) - require.NoError(t, err, "Error creating trace POST request: %v", err) - req.Header.Set("Content-Type", "application/json") - - client := &http.Client{} - defer client.CloseIdleConnections() - resp, err := client.Do(req) - require.NoError(t, err, "Error posting trace to grpc-gateway server: %v", err) - - defer func() { - require.NoError(t, resp.Body.Close()) - }() - - respBytes, err := io.ReadAll(resp.Body) - require.NoError(t, err) - respStr := string(respBytes) - - assert.Equal(t, http.StatusOK, resp.StatusCode) - assert.Empty(t, respStr) - - // stop the listener - ocr.ln.Close() - - // verify trace was sent - got := sink.AllTraces() - require.Len(t, got, 1) - require.Equal(t, 1, got[0].ResourceSpans().Len()) - gotNode, gotResource, gotSpans := opencensus.ResourceSpansToOC(got[0].ResourceSpans().At(0)) - - wantNode := &commonpb.Node{Identifier: &commonpb.ProcessIdentifier{HostName: "testHost"}} - wantResource := &resourcepb.Resource{} - assert.True(t, proto.Equal(wantNode, gotNode)) - assert.True(t, proto.Equal(wantResource, gotResource)) - require.Len(t, gotSpans, 1) - - // stop the receiver to verify it's not blocked by the closed listener - require.NoError(t, ocr.Shutdown(ctx)) -} - -func tempSocketName(t *testing.T) string { - tmpfile, err := os.CreateTemp(t.TempDir(), "sock") - require.NoError(t, err) - require.NoError(t, tmpfile.Close()) - socket := tmpfile.Name() - require.NoError(t, os.Remove(socket)) - return socket -} - -func TestReceiveOnUnixDomainSocket_endToEnd(t *testing.T) { - socketName := tempSocketName(t) - cbts := consumertest.NewNop() - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: socketName, - Transport: "unix", - }, - }, - } - r := newOpenCensusReceiver(cfg, cbts, nil, receivertest.NewNopSettings(metadata.Type)) - require.NotNil(t, r) - require.NoError(t, r.Start(t.Context(), componenttest.NewNopHost())) - t.Cleanup(func() { require.NoError(t, r.Shutdown(t.Context())) }) - - span := ` -{ - "node": { - }, - "spans": [ - { - "trace_id": "YpsR8/le4OgjwSSxhjlrEg==", - "span_id": "2CogcbJh7Ko=", - "socket": { - "value": "/abc", - "truncated_byte_count": 0 - }, - "kind": "SPAN_KIND_UNSPECIFIED", - "start_time": "2020-01-09T11:13:53.187Z", - "end_time": "2020-01-09T11:13:53.187Z" - } - ] -} -` - c := http.Client{ - Transport: &http.Transport{ - DialContext: func(context.Context, string, string) (conn net.Conn, err error) { - return net.Dial("unix", socketName) - }, - }, - } - defer c.CloseIdleConnections() - - response, err := c.Post("http://unix/v1/trace", "application/json", strings.NewReader(span)) - require.NoError(t, err) - _, _ = io.ReadAll(response.Body) - require.NoError(t, response.Body.Close()) - - require.Equal(t, 200, response.StatusCode) -} - -// TestOCReceiverTrace_HandleNextConsumerResponse checks if the trace receiver -// is returning the proper response (return and metrics) when the next consumer -// in the pipeline reports error. The test changes the responses returned by the -// next trace consumer, checks if data was passed down the pipeline and if -// proper metrics were recorded. It also uses all endpoints supported by the -// trace receiver. -func TestOCReceiverTrace_HandleNextConsumerResponse(t *testing.T) { - type ingestionStateTest struct { - okToIngest bool - expectedCode codes.Code - } - tests := []struct { - name string - expectedReceivedBatches int - expectedIngestionBlockedRPCs int - ingestionStates []ingestionStateTest - }{ - { - name: "IngestTest", - expectedReceivedBatches: 2, - expectedIngestionBlockedRPCs: 1, - ingestionStates: []ingestionStateTest{ - { - okToIngest: true, - expectedCode: codes.OK, - }, - { - okToIngest: false, - expectedCode: codes.Unknown, - }, - { - okToIngest: true, - expectedCode: codes.OK, - }, - }, - }, - } - - addr := testutil.GetAvailableLocalAddress(t) - msg := &agenttracepb.ExportTraceServiceRequest{ - Node: &commonpb.Node{ - ServiceInfo: &commonpb.ServiceInfo{Name: "test-svc"}, - }, - Spans: []*tracepb.Span{ - { - TraceId: []byte{ - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, - }, - }, - }, - } - - exportBidiFn := func( - t *testing.T, - cc *grpc.ClientConn, - msg *agenttracepb.ExportTraceServiceRequest, - ) error { - acc := agenttracepb.NewTraceServiceClient(cc) - stream, err := acc.Export(t.Context()) - require.NoError(t, err) - require.NotNil(t, stream) - - err = stream.Send(msg) - require.NoError(t, stream.CloseSend()) - if err == nil { - for { - if _, err = stream.Recv(); err != nil { - if errors.Is(err, io.EOF) { - err = nil - } - break - } - } - } - - return err - } - - exporters := []struct { - receiverID component.ID - exportFn func( - t *testing.T, - cc *grpc.ClientConn, - msg *agenttracepb.ExportTraceServiceRequest) error - }{ - { - receiverID: component.NewIDWithName(metadata.Type, "traces"), - exportFn: exportBidiFn, - }, - } - for _, exporter := range exporters { - for _, tt := range tests { - t.Run(tt.name+"/"+exporter.receiverID.String(), func(t *testing.T) { - testTel := componenttest.NewTelemetry() - defer func() { - require.NoError(t, testTel.Shutdown(t.Context())) - }() - - sink := &errOrSinkConsumer{TracesSink: new(consumertest.TracesSink)} - - var opts []ocOption - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, nil, nil, receiver.Settings{ID: exporter.receiverID, TelemetrySettings: testTel.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}, opts...) - require.NotNil(t, ocr) - - ocr.traceConsumer = sink - require.NoError(t, ocr.Start(t.Context(), componenttest.NewNopHost())) - t.Cleanup(func() { require.NoError(t, ocr.Shutdown(t.Context())) }) - - cc, err := grpc.NewClient(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - t.Errorf("grpc.NewClient: %v", err) - } - defer cc.Close() - - for _, ingestionState := range tt.ingestionStates { - if ingestionState.okToIngest { - sink.SetConsumeError(nil) - } else { - sink.SetConsumeError(fmt.Errorf("%q: consumer error", tt.name)) - } - - err = exporter.exportFn(t, cc, msg) - - status, ok := status.FromError(err) - require.True(t, ok) - assert.Equal(t, ingestionState.expectedCode, status.Code()) - } - - require.Len(t, sink.AllTraces(), tt.expectedReceivedBatches) - - got, err := testTel.GetMetric("otelcol_receiver_accepted_spans") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_accepted_spans", - Description: "Number of spans successfully pushed into the pipeline. [alpha]", - Unit: "{spans}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", exporter.receiverID.String()), - attribute.String("transport", "grpc")), - Value: int64(tt.expectedReceivedBatches), - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) - - got, err = testTel.GetMetric("otelcol_receiver_refused_spans") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_refused_spans", - Description: "Number of spans that could not be pushed into the pipeline. [alpha]", - Unit: "{spans}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", exporter.receiverID.String()), - attribute.String("transport", "grpc")), - Value: int64(tt.expectedIngestionBlockedRPCs), - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) - }) - } - } -} - -// TestOCReceiverMetrics_HandleNextConsumerResponse checks if the metrics receiver -// is returning the proper response (return and metrics) when the next consumer -// in the pipeline reports error. The test changes the responses returned by the -// next trace consumer, checks if data was passed down the pipeline and if -// proper metrics were recorded. It also uses all endpoints supported by the -// metrics receiver. -func TestOCReceiverMetrics_HandleNextConsumerResponse(t *testing.T) { - type ingestionStateTest struct { - okToIngest bool - expectedCode codes.Code - } - tests := []struct { - name string - expectedReceivedBatches int - expectedIngestionBlockedRPCs int - ingestionStates []ingestionStateTest - }{ - { - name: "IngestTest", - expectedReceivedBatches: 2, - expectedIngestionBlockedRPCs: 1, - ingestionStates: []ingestionStateTest{ - { - okToIngest: true, - expectedCode: codes.OK, - }, - { - okToIngest: false, - expectedCode: codes.Unknown, - }, - { - okToIngest: true, - expectedCode: codes.OK, - }, - }, - }, - } - - descriptor := &metricspb.MetricDescriptor{ - Name: "testMetric", - Description: "metric descriptor", - Unit: "1", - Type: metricspb.MetricDescriptor_GAUGE_INT64, - } - point := &metricspb.Point{ - Timestamp: timestamppb.New(time.Now().UTC()), - Value: &metricspb.Point_Int64Value{ - Int64Value: int64(1), - }, - } - ts := &metricspb.TimeSeries{ - Points: []*metricspb.Point{point}, - } - metric := &metricspb.Metric{ - MetricDescriptor: descriptor, - Timeseries: []*metricspb.TimeSeries{ts}, - } - - addr := testutil.GetAvailableLocalAddress(t) - msg := &agentmetricspb.ExportMetricsServiceRequest{ - Node: &commonpb.Node{ - ServiceInfo: &commonpb.ServiceInfo{Name: "test-svc"}, - }, - Metrics: []*metricspb.Metric{metric}, - } - - exportBidiFn := func( - t *testing.T, - cc *grpc.ClientConn, - msg *agentmetricspb.ExportMetricsServiceRequest, - ) error { - acc := agentmetricspb.NewMetricsServiceClient(cc) - stream, err := acc.Export(t.Context()) - require.NoError(t, err) - require.NotNil(t, stream) - - err = stream.Send(msg) - require.NoError(t, stream.CloseSend()) - if err == nil { - for { - if _, err = stream.Recv(); err != nil { - if errors.Is(err, io.EOF) { - err = nil - } - break - } - } - } - - return err - } - - exporters := []struct { - receiverID component.ID - exportFn func( - t *testing.T, - cc *grpc.ClientConn, - msg *agentmetricspb.ExportMetricsServiceRequest) error - }{ - { - receiverID: component.NewIDWithName(metadata.Type, "metrics"), - exportFn: exportBidiFn, - }, - } - for _, exporter := range exporters { - for _, tt := range tests { - t.Run(tt.name+"/"+exporter.receiverID.String(), func(t *testing.T) { - testTel := componenttest.NewTelemetry() - defer func() { - require.NoError(t, testTel.Shutdown(t.Context())) - }() - - sink := &errOrSinkConsumer{MetricsSink: new(consumertest.MetricsSink)} - - var opts []ocOption - cfg := &Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(cfg, nil, nil, receiver.Settings{ID: exporter.receiverID, TelemetrySettings: testTel.NewTelemetrySettings(), BuildInfo: component.NewDefaultBuildInfo()}, opts...) - require.NotNil(t, ocr) - - ocr.metricsConsumer = sink - require.NoError(t, ocr.Start(t.Context(), componenttest.NewNopHost())) - t.Cleanup(func() { require.NoError(t, ocr.Shutdown(t.Context())) }) - - cc, err := grpc.NewClient(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - t.Errorf("grpc.NewClient: %v", err) - } - defer cc.Close() - - for _, ingestionState := range tt.ingestionStates { - if ingestionState.okToIngest { - sink.SetConsumeError(nil) - } else { - sink.SetConsumeError(fmt.Errorf("%q: consumer error", tt.name)) - } - - err = exporter.exportFn(t, cc, msg) - - status, ok := status.FromError(err) - require.True(t, ok) - assert.Equal(t, ingestionState.expectedCode, status.Code()) - } - - require.Len(t, sink.AllMetrics(), tt.expectedReceivedBatches) - - got, err := testTel.GetMetric("otelcol_receiver_accepted_metric_points") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_accepted_metric_points", - Description: "Number of metric points successfully pushed into the pipeline. [alpha]", - Unit: "{datapoints}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", exporter.receiverID.String()), - attribute.String("transport", "grpc")), - Value: int64(tt.expectedReceivedBatches), - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) - - got, err = testTel.GetMetric("otelcol_receiver_refused_metric_points") - assert.NoError(t, err) - metricdatatest.AssertEqual(t, - metricdata.Metrics{ - Name: "otelcol_receiver_refused_metric_points", - Description: "Number of metric points that could not be pushed into the pipeline. [alpha]", - Unit: "{datapoints}", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet( - attribute.String("receiver", exporter.receiverID.String()), - attribute.String("transport", "grpc")), - Value: int64(tt.expectedIngestionBlockedRPCs), - }, - }, - }, - }, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars()) - }) - } - } -} - -func TestInvalidTLSCredentials(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - cfg := Config{ - ServerConfig: configgrpc.ServerConfig{ - TLS: configoptional.Some(configtls.ServerConfig{ - Config: configtls.Config{ - CertFile: "willfail", - }, - }), - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - opt := cfg.buildOptions() - assert.NotNil(t, opt) - - ocr := newOpenCensusReceiver(&cfg, nil, nil, receivertest.NewNopSettings(metadata.Type), opt...) - assert.NotNil(t, ocr) - - srv, err := ocr.grpcServerSettings.ToServer(t.Context(), componenttest.NewNopHost(), ocr.settings.TelemetrySettings) - assert.EqualError(t, err, `failed to load TLS config: failed to load TLS cert and key: for auth via TLS, provide both certificate and key, or neither`) - assert.Nil(t, srv) -} - -func TestStartShutdownShouldNotReportError(t *testing.T) { - addr := testutil.GetAvailableLocalAddress(t) - cfg := Config{ - ServerConfig: configgrpc.ServerConfig{ - NetAddr: confignet.AddrConfig{ - Endpoint: addr, - Transport: "tcp", - }, - }, - } - ocr := newOpenCensusReceiver(&cfg, new(consumertest.TracesSink), new(consumertest.MetricsSink), receivertest.NewNopSettings(metadata.Type)) - require.NotNil(t, ocr) - - nopHostReporter := &nopHost{ - reportFunc: func(event *componentstatus.Event) { - assert.NoError(t, event.Err()) - }, - } - require.NoError(t, ocr.Start(t.Context(), nopHostReporter)) - require.NoError(t, ocr.Shutdown(t.Context())) -} - -type errOrSinkConsumer struct { - *consumertest.TracesSink - *consumertest.MetricsSink - mu sync.Mutex - consumeError error // to be returned by ConsumeTraces, if set -} - -// SetConsumeError sets an error that will be returned by the Consume function. -func (esc *errOrSinkConsumer) SetConsumeError(err error) { - esc.mu.Lock() - defer esc.mu.Unlock() - esc.consumeError = err -} - -func (*errOrSinkConsumer) Capabilities() consumer.Capabilities { - return consumer.Capabilities{MutatesData: false} -} - -// ConsumeTraces stores traces to this sink. -func (esc *errOrSinkConsumer) ConsumeTraces(ctx context.Context, td ptrace.Traces) error { - esc.mu.Lock() - defer esc.mu.Unlock() - - if esc.consumeError != nil { - return esc.consumeError - } - - return esc.TracesSink.ConsumeTraces(ctx, td) -} - -// ConsumeMetrics stores metrics to this sink. -func (esc *errOrSinkConsumer) ConsumeMetrics(ctx context.Context, md pmetric.Metrics) error { - esc.mu.Lock() - defer esc.mu.Unlock() - - if esc.consumeError != nil { - return esc.consumeError - } - - return esc.MetricsSink.ConsumeMetrics(ctx, md) -} - -// Reset deletes any stored in the sinks, resets error to nil. -func (esc *errOrSinkConsumer) Reset() { - esc.mu.Lock() - defer esc.mu.Unlock() - - esc.consumeError = nil - if esc.TracesSink != nil { - esc.TracesSink.Reset() - } - if esc.MetricsSink != nil { - esc.MetricsSink.Reset() - } -} - -var _ componentstatus.Reporter = (*nopHost)(nil) - -type nopHost struct { - reportFunc func(event *componentstatus.Event) -} - -func (*nopHost) GetExtensions() map[component.ID]component.Component { - return nil -} - -func (nh *nopHost) Report(event *componentstatus.Event) { - nh.reportFunc(event) -} diff --git a/receiver/opencensusreceiver/options.go b/receiver/opencensusreceiver/options.go deleted file mode 100644 index 893eee4b6763f..0000000000000 --- a/receiver/opencensusreceiver/options.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package opencensusreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - -import ( - "go.opentelemetry.io/collector/config/configgrpc" -) - -// ocOption interface defines for configuration settings to be applied to receivers. -// -// withReceiver applies the configuration to the given receiver. -type ocOption interface { - withReceiver(*ocReceiver) -} - -type corsOrigins struct { - origins []string -} - -var _ ocOption = (*corsOrigins)(nil) - -func (co *corsOrigins) withReceiver(ocr *ocReceiver) { - ocr.corsOrigins = co.origins -} - -// withCorsOrigins is an option to specify the allowed origins to enable writing -// HTTP/JSON requests to the grpc-gateway adapter using CORS. -func withCorsOrigins(origins []string) ocOption { - return &corsOrigins{origins: origins} -} - -type grpcServerSettings configgrpc.ServerConfig - -func withGRPCServerSettings(settings configgrpc.ServerConfig) ocOption { - gsvOpts := grpcServerSettings(settings) - return gsvOpts -} - -func (gsvo grpcServerSettings) withReceiver(ocr *ocReceiver) { - ocr.grpcServerSettings = configgrpc.ServerConfig(gsvo) -} diff --git a/receiver/opencensusreceiver/testdata/config.yaml b/receiver/opencensusreceiver/testdata/config.yaml deleted file mode 100644 index f436152dfc4b0..0000000000000 --- a/receiver/opencensusreceiver/testdata/config.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# The following entry initializes the default OpenCensus receiver. -# The default values are specified here -# https://github.com/open-telemetry/opentelemetry-collector/blob/71589202609d7e787244076b631b45e219101867/receiver/opencensusreceiver/factory.go#L47-L56 -# The full name of this receiver is `opencensus` and can be referenced in pipelines by 'opencensus'. -opencensus: -# The following entry demonstrates configuring the common receiver settings: -# - endpoint -# This configuration is of type 'opencensus' and has the name 'customname' with a full name of 'opencensus/customname' -# ('/'. To reference this configuration in a pipeline, use the full name `opencensus/customname`. -opencensus/customname: - # The receiver will listen on endpoint: "0.0.0.0:9090". - endpoint: 0.0.0.0:9090 -# The following entry configures all of the keep alive settings. These settings are used to configure the receiver. -opencensus/keepalive: - keepalive: - server_parameters: - max_connection_idle: 11s - max_connection_age: 12s - max_connection_age_grace: 13s - time: 30s - timeout: 5s - enforcement_policy: - min_time: 10s - permit_without_stream: true -# The following demonstrates how to set maximum limits on stream, message size and connection idle time. -# Note: The test yaml has demonstrated configuration on a grouped by their structure; however, all of the settings can -# be mix and matched like adding the maximum connection idle setting in this example. -opencensus/msg-size-conc-connect-max-idle: - max_recv_msg_size_mib: 32 - max_concurrent_streams: 16 - read_buffer_size: 1024 - write_buffer_size: 1024 - keepalive: - server_parameters: - max_connection_idle: 10s -# The following entry demonstrates how to specify TLS credentials for the server. -# Note: These files do not exist. If the receiver is started with this configuration, it will fail. -opencensus/tlscredentials: - tls: - cert_file: test.crt - key_file: test.key -# The following entry demonstrates how to specify a Unix Domain Socket for the server. -opencensus/uds: - transport: unix - endpoint: /tmp/opencensus.sock -# The following entry demonstrates how to configure the OpenCensus receiver to allow Cross-Origin Resource Sharing (CORS). -# Both fully qualified domain names and the use of wildcards are supported. -opencensus/cors: - cors_allowed_origins: - - https://*.test.com # Wildcard subdomain. Allows domains like https://www.test.com and https://foo.test.com but not https://wwwtest.com. - - https://test.com # Fully qualified domain name. Allows https://test.com only. diff --git a/reports/distributions/contrib.yaml b/reports/distributions/contrib.yaml index bb7c68aeb2a02..e1e03628ccd5b 100644 --- a/reports/distributions/contrib.yaml +++ b/reports/distributions/contrib.yaml @@ -46,7 +46,6 @@ components: - logicmonitor - logzio - mezmo - - opencensus - opensearch - otelarrow - prometheus @@ -192,7 +191,6 @@ components: - nginx - nsxt - ntp - - opencensus - oracledb - otelarrow - otlpjsonfile diff --git a/reports/distributions/core.yaml b/reports/distributions/core.yaml index ecacf6bf647a2..0ba8a30cdfeb9 100644 --- a/reports/distributions/core.yaml +++ b/reports/distributions/core.yaml @@ -5,7 +5,6 @@ components: exporter: - file - kafka - - opencensus - prometheus - prometheusremotewrite - zipkin @@ -22,7 +21,6 @@ components: - hostmetrics - jaeger - kafka - - opencensus - prometheus - zipkin scraper: diff --git a/reports/distributions/k8s.yaml b/reports/distributions/k8s.yaml index 8ab287361fab3..579f27cfb610c 100644 --- a/reports/distributions/k8s.yaml +++ b/reports/distributions/k8s.yaml @@ -59,7 +59,6 @@ components: - k8s_events - k8sobjects - kubeletstats - - opencensus - otelarrow - prometheus - receiver_creator diff --git a/testbed/correctnesstests/traces/testdata/generated_pict_pairs_traces_pipeline.txt b/testbed/correctnesstests/traces/testdata/generated_pict_pairs_traces_pipeline.txt index fc97b835028a3..3ce8c9d58de02 100644 --- a/testbed/correctnesstests/traces/testdata/generated_pict_pairs_traces_pipeline.txt +++ b/testbed/correctnesstests/traces/testdata/generated_pict_pairs_traces_pipeline.txt @@ -1,13 +1,7 @@ Receiver Exporter -zipkin opencensus -otlp opencensus -jaeger opencensus zipkin otlp -opencensus opencensus otlp zipkin jaeger zipkin -opencensus zipkin otlp otlp jaeger otlp -opencensus otlp zipkin zipkin diff --git a/testbed/correctnesstests/traces/testdata/pict_input_traces_pipeline.txt b/testbed/correctnesstests/traces/testdata/pict_input_traces_pipeline.txt index 0d3dded7033d6..9b8cf721b3f06 100644 --- a/testbed/correctnesstests/traces/testdata/pict_input_traces_pipeline.txt +++ b/testbed/correctnesstests/traces/testdata/pict_input_traces_pipeline.txt @@ -1,2 +1,2 @@ -Receiver: jaeger, opencensus, otlp, zipkin -Exporter: opencensus, otlp, zipkin +Receiver: jaeger, otlp, zipkin +Exporter: otlp, zipkin diff --git a/testbed/correctnesstests/utils.go b/testbed/correctnesstests/utils.go index b96bd016efce8..7e015aefd91a1 100644 --- a/testbed/correctnesstests/utils.go +++ b/testbed/correctnesstests/utils.go @@ -196,8 +196,6 @@ func ConstructTraceSender(t *testing.T, receiver string) testbed.DataSender { switch receiver { case "otlp": sender = testbed.NewOTLPTraceDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) - case "opencensus": - sender = datasenders.NewOCTraceDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) case "jaeger": sender = datasenders.NewJaegerGRPCDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) case "zipkin": @@ -216,8 +214,6 @@ func ConstructMetricsSender(t *testing.T, receiver string) testbed.MetricDataSen sender = testbed.NewOTLPMetricDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) case "stef": sender = datasenders.NewStefDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) - case "opencensus": - sender = datasenders.NewOCMetricDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) case "prometheus": sender = datasenders.NewPrometheusDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)) default: @@ -234,8 +230,6 @@ func ConstructReceiver(t *testing.T, exporter string) testbed.DataReceiver { receiver = testbed.NewOTLPDataReceiver(testutil.GetAvailablePort(t)) case "stef": receiver = datareceivers.NewStefDataReceiver(testutil.GetAvailablePort(t)) - case "opencensus": - receiver = datareceivers.NewOCDataReceiver(testutil.GetAvailablePort(t)) case "jaeger": receiver = datareceivers.NewJaegerDataReceiver(testutil.GetAvailablePort(t)) case "zipkin": diff --git a/testbed/datareceivers/opencensus.go b/testbed/datareceivers/opencensus.go deleted file mode 100644 index 235503fd65fcb..0000000000000 --- a/testbed/datareceivers/opencensus.go +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package datareceivers // import "github.com/open-telemetry/opentelemetry-collector-contrib/testbed/datareceivers" - -import ( - "context" - "fmt" - - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receivertest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/testbed/testbed" -) - -// ocDataReceiver implements OpenCensus format receiver. -type ocDataReceiver struct { - testbed.DataReceiverBase - traceReceiver receiver.Traces - metricsReceiver receiver.Metrics -} - -// NewOCDataReceiver creates a new ocDataReceiver that will listen on the specified port after Start -// is called. -func NewOCDataReceiver(port int) testbed.DataReceiver { - return &ocDataReceiver{DataReceiverBase: testbed.DataReceiverBase{Port: port}} -} - -func (or *ocDataReceiver) Start(tc consumer.Traces, mc consumer.Metrics, _ consumer.Logs) error { - factory := opencensusreceiver.NewFactory() - cfg := factory.CreateDefaultConfig().(*opencensusreceiver.Config) - cfg.NetAddr = confignet.AddrConfig{Endpoint: fmt.Sprintf("127.0.0.1:%d", or.Port), Transport: confignet.TransportTypeTCP} - var err error - set := receivertest.NewNopSettings(factory.Type()) - if or.traceReceiver, err = factory.CreateTraces(context.Background(), set, cfg, tc); err != nil { - return err - } - if or.metricsReceiver, err = factory.CreateMetrics(context.Background(), set, cfg, mc); err != nil { - return err - } - err = or.traceReceiver.Start(context.Background(), componenttest.NewNopHost()) - if err != nil { - return err - } - return or.metricsReceiver.Start(context.Background(), componenttest.NewNopHost()) -} - -func (or *ocDataReceiver) Stop() error { - if err := or.traceReceiver.Shutdown(context.Background()); err != nil { - return err - } - return or.metricsReceiver.Shutdown(context.Background()) -} - -func (or *ocDataReceiver) GenConfigYAMLStr() string { - // Note that this generates an exporter config for agent. - return fmt.Sprintf(` - opencensus: - endpoint: "127.0.0.1:%d" - tls: - insecure: true`, or.Port) -} - -func (*ocDataReceiver) ProtocolName() string { - return "opencensus" -} diff --git a/testbed/datasenders/opencensus.go b/testbed/datasenders/opencensus.go deleted file mode 100644 index d2b0a8ad3dba3..0000000000000 --- a/testbed/datasenders/opencensus.go +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package datasenders // import "github.com/open-telemetry/opentelemetry-collector-contrib/testbed/datasenders" - -import ( - "context" - "fmt" - - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/testbed/testbed" -) - -type ocDataSender struct { - testbed.DataSenderBase -} - -func (ods *ocDataSender) fillConfig(cfg *opencensusexporter.Config) *opencensusexporter.Config { - cfg.Endpoint = ods.GetEndpoint().String() - cfg.TLS = configtls.ClientConfig{ - Insecure: true, - } - return cfg -} - -func (ods *ocDataSender) GenConfigYAMLStr() string { - // Note that this generates a receiver config for agent. - return fmt.Sprintf(` - opencensus: - endpoint: "%s"`, ods.GetEndpoint()) -} - -func (*ocDataSender) ProtocolName() string { - return "opencensus" -} - -// ocTracesDataSender implements TraceDataSender for OpenCensus trace exporter. -type ocTracesDataSender struct { - ocDataSender - consumer.Traces -} - -// NewOCTraceDataSender creates a new ocTracesDataSender that will send -// to the specified port after Start is called. -func NewOCTraceDataSender(host string, port int) testbed.TraceDataSender { - return &ocTracesDataSender{ - ocDataSender: ocDataSender{ - DataSenderBase: testbed.DataSenderBase{ - Port: port, - Host: host, - }, - }, - } -} - -func (ote *ocTracesDataSender) Start() error { - factory := opencensusexporter.NewFactory() - cfg := ote.fillConfig(factory.CreateDefaultConfig().(*opencensusexporter.Config)) - params := exportertest.NewNopSettings(factory.Type()) - params.Logger = zap.L() - - exp, err := factory.CreateTraces(context.Background(), params, cfg) - if err != nil { - return err - } - - ote.Traces = exp - return exp.Start(context.Background(), componenttest.NewNopHost()) -} - -// ocMetricsDataSender implements MetricDataSender for OpenCensus metrics exporter. -type ocMetricsDataSender struct { - ocDataSender - consumer.Metrics -} - -// NewOCMetricDataSender creates a new OpenCensus metric exporter sender that will send -// to the specified port after Start is called. -func NewOCMetricDataSender(host string, port int) testbed.MetricDataSender { - return &ocMetricsDataSender{ - ocDataSender: ocDataSender{ - DataSenderBase: testbed.DataSenderBase{ - Port: port, - Host: host, - }, - }, - } -} - -func (ome *ocMetricsDataSender) Start() error { - factory := opencensusexporter.NewFactory() - cfg := ome.fillConfig(factory.CreateDefaultConfig().(*opencensusexporter.Config)) - params := exportertest.NewNopSettings(factory.Type()) - params.Logger = zap.L() - - exp, err := factory.CreateMetrics(context.Background(), params, cfg) - if err != nil { - return err - } - - ome.Metrics = exp - return exp.Start(context.Background(), componenttest.NewNopHost()) -} diff --git a/testbed/go.mod b/testbed/go.mod index e73127d154274..5581c0893c6ce 100644 --- a/testbed/go.mod +++ b/testbed/go.mod @@ -8,7 +8,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stefexporter v0.133.0 @@ -23,7 +22,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.133.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.133.0 @@ -131,7 +129,6 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect - github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect @@ -267,7 +264,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.133.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.133.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.133.0 // indirect @@ -299,7 +295,6 @@ require ( github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 // indirect - github.com/soheilhy/cmux v0.1.5 // indirect github.com/spf13/cobra v1.9.1 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/splunk/stef/go/grpc v0.0.7 // indirect @@ -317,7 +312,6 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector v0.133.0 // indirect go.opentelemetry.io/collector/client v1.39.0 // indirect @@ -425,8 +419,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/rout replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter => ../exporter/carbonexporter -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../exporter/opencensusexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter => ../exporter/prometheusexporter replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter => ../exporter/prometheusremotewriteexporter @@ -449,8 +441,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperre replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../pkg/experimentalmetricmetadata -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../pkg/translator/opencensus - replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus => ../pkg/translator/prometheus replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite => ../pkg/translator/prometheusremotewrite @@ -465,8 +455,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datad replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver => ../receiver/jaegerreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../receiver/opencensusreceiver - replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver => ../receiver/prometheusreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver => ../receiver/signalfxreceiver diff --git a/testbed/go.sum b/testbed/go.sum index 496dd1dd08fdb..590cae0d69967 100644 --- a/testbed/go.sum +++ b/testbed/go.sum @@ -1,4 +1,3 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go/auth v0.16.2 h1:QvBAGFPLrDeoiNjyfVunhQ10HKNYuOwZ5noee0M5df4= cloud.google.com/go/auth v0.16.2/go.mod h1:sRBas2Y1fB1vZTdurouM0AzuYQBMZinrUYL8EufhtEA= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= @@ -27,7 +26,6 @@ github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJ github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 h1:oygO0locgZJe7PpYPXT5A29ZkwJaPqcva7BVeemZOZs= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= github.com/DataDog/agent-payload/v5 v5.0.163 h1:hVLI1birNKxr9eiwGXQOopUIlAoJuTZqi2+Db0vP7uU= @@ -150,9 +148,6 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -161,8 +156,6 @@ github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1 github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -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/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls= github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= @@ -211,12 +204,8 @@ github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -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/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/expr-lang/expr v1.17.6 h1:1h6i8ONk9cexhDmowO/A64VPxHScu7qfSl2k8OlINec= @@ -300,11 +289,8 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -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/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U= github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs= @@ -317,7 +303,6 @@ github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:x 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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= @@ -332,9 +317,7 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a 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.2/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.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -352,7 +335,6 @@ github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a h1://KbezygeMJZCSHH+H github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4= @@ -615,7 +597,6 @@ github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaX github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= @@ -670,8 +651,6 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= @@ -754,8 +733,6 @@ github.com/zorkian/go-datadog-api v2.30.0+incompatible h1:R4ryGocppDqZZbnNc5EDR8 github.com/zorkian/go-datadog-api v2.30.0+incompatible/go.mod h1:PkXwHX9CUQa/FpB9ZwAD45N1uhCW4MT/Wj7m36PbKss= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/collector v0.133.0 h1:Mwsad2QzN4SF+GP22Te7BrPjTzwvrXYbIumySY4LifU= @@ -989,12 +966,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 h1:bsqhLWFR6G6xiQcb+JoGqdKdRU6WzPWmK8E0jxTjzo4= golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= -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/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -1005,11 +978,7 @@ golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= -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= -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-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1018,8 +987,6 @@ golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/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.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= @@ -1032,10 +999,8 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1051,7 +1016,6 @@ golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -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= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1119,10 +1083,6 @@ golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/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-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 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= @@ -1142,25 +1102,15 @@ gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/api v0.238.0 h1:+EldkglWIg/pWjkq97sd+XxH7PxakNYoe/rkSTbnvOs= google.golang.org/api v0.238.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50= -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/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -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 v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78= google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:49MsLSx0oWMOZqcpB3uL8ZOkAh1+TndpJ8ONoCBWiZk= google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c h1:AtEkQdl5b6zsybXcbz00j1LwNodDuH6hVifIaNqk7NQ= google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c/go.mod h1:ea2MjsO70ssTfCjiwHgI0ZFqcw45Ksuk2ckf9G468GA= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c h1:qXWI/sQtv5UKboZ/zUk7h+mrf/lXORyI+n9DKDAusdg= google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c/go.mod h1:gw1tLEfykwDz2ET4a12jcXt4couGAm7IwsVaTy0Sflo= -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.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1168,10 +1118,7 @@ google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ 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.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1200,8 +1147,6 @@ gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 h1:umQdVO0Ytx+kYadhuJNjFtDgIsIEBnKrOT gopkg.in/zorkian/go-datadog-api.v2 v2.30.0/go.mod h1:kx0CSMRpzEZfx/nFH62GLU4stZjparh/BRpM89t4XCQ= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -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= k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls= k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k= k8s.io/apimachinery v0.32.3 h1:JmDuDarhDmA/Li7j3aPrwhpNBA94Nvk5zLeOge9HH1U= diff --git a/testbed/stabilitytests/metric_test.go b/testbed/stabilitytests/metric_test.go index 05d310bfdc2ce..a16abba531bbc 100644 --- a/testbed/stabilitytests/metric_test.go +++ b/testbed/stabilitytests/metric_test.go @@ -30,23 +30,6 @@ func TestStabilityMetricsOTLP(t *testing.T) { ) } -func TestStabilityMetricsOpenCensus(t *testing.T) { - scenarios.Scenario10kItemsPerSecond( - t, - datasenders.NewOCMetricDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), - datareceivers.NewOCDataReceiver(testutil.GetAvailablePort(t)), - testbed.ResourceSpec{ - ExpectedMaxCPU: 85, - ExpectedMaxRAM: 86, - ResourceCheckPeriod: resourceCheckPeriod, - }, - contribPerfResultsSummary, - nil, - nil, - nil, - ) -} - func TestStabilityMetricsCarbon(t *testing.T) { scenarios.Scenario10kItemsPerSecond( t, diff --git a/testbed/stabilitytests/trace_test.go b/testbed/stabilitytests/trace_test.go index 85aaceb9706c9..8120b0e1cc48c 100644 --- a/testbed/stabilitytests/trace_test.go +++ b/testbed/stabilitytests/trace_test.go @@ -39,23 +39,6 @@ func TestMain(m *testing.M) { testbed.DoTestMain(m, contribPerfResultsSummary) } -func TestStabilityTracesOpenCensus(t *testing.T) { - scenarios.Scenario10kItemsPerSecond( - t, - datasenders.NewOCTraceDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), - datareceivers.NewOCDataReceiver(testutil.GetAvailablePort(t)), - testbed.ResourceSpec{ - ExpectedMaxCPU: 39, - ExpectedMaxRAM: 90, - ResourceCheckPeriod: resourceCheckPeriod, - }, - contribPerfResultsSummary, - processorsConfig, - nil, - nil, - ) -} - func TestStabilityTracesOTLP(t *testing.T) { scenarios.Scenario10kItemsPerSecond( t, diff --git a/testbed/testbed/components.go b/testbed/testbed/components.go index 40663e20b0136..133cc51e4470b 100644 --- a/testbed/testbed/components.go +++ b/testbed/testbed/components.go @@ -21,12 +21,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stefexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/stefreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" @@ -46,7 +44,6 @@ func Components() ( receivers, err := otelcol.MakeFactoryMap[receiver.Factory]( jaegerreceiver.NewFactory(), - opencensusreceiver.NewFactory(), otlpreceiver.NewFactory(), stefreceiver.NewFactory(), syslogreceiver.NewFactory(), @@ -56,7 +53,6 @@ func Components() ( exporters, err := otelcol.MakeFactoryMap[exporter.Factory]( debugexporter.NewFactory(), - opencensusexporter.NewFactory(), otlpexporter.NewFactory(), otlphttpexporter.NewFactory(), stefexporter.NewFactory(), diff --git a/testbed/tests/metric_test.go b/testbed/tests/metric_test.go index 4fd67fb88986a..9f2100277eb7e 100644 --- a/testbed/tests/metric_test.go +++ b/testbed/tests/metric_test.go @@ -37,15 +37,6 @@ func TestMetric10kDPS(t *testing.T) { ExpectedMaxRAM: 105, }, }, - { - name: "OpenCensus", - sender: datasenders.NewOCMetricDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), - receiver: datareceivers.NewOCDataReceiver(testutil.GetAvailablePort(t)), - resourceSpec: testbed.ResourceSpec{ - ExpectedMaxCPU: 85, - ExpectedMaxRAM: 100, - }, - }, { name: "OTLP", sender: testbed.NewOTLPMetricDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), diff --git a/testbed/tests/trace_test.go b/testbed/tests/trace_test.go index e826faa1bc1ae..5c49763bd9453 100644 --- a/testbed/tests/trace_test.go +++ b/testbed/tests/trace_test.go @@ -37,15 +37,6 @@ func TestTrace10kSPS(t *testing.T) { receiver testbed.DataReceiver resourceSpec testbed.ResourceSpec }{ - { - "OpenCensus", - datasenders.NewOCTraceDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), - datareceivers.NewOCDataReceiver(testutil.GetAvailablePort(t)), - testbed.ResourceSpec{ - ExpectedMaxCPU: 39, - ExpectedMaxRAM: 100, - }, - }, { "OTLP-gRPC", testbed.NewOTLPTraceDataSender(testbed.DefaultHost, testutil.GetAvailablePort(t)), diff --git a/versions.yaml b/versions.yaml index 0530812a5af7b..bcedfd83eed91 100644 --- a/versions.yaml +++ b/versions.yaml @@ -59,7 +59,6 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter - - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter @@ -273,7 +272,6 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/netflowreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/ntpreceiver - - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/osqueryreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver