From dcebfdcb598e03a62a0cec9c715cbbf1edb75887 Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Wed, 22 Apr 2026 15:46:00 -0300 Subject: [PATCH 1/2] otelcollector: Re-use logger from bridge Signed-off-by: Arthur Silva Sens --- otelcollector/factory.go | 4 +- otelcollector/go.mod | 57 ++++++++------- otelcollector/go.sum | 122 +++++++++++++++++--------------- otelcollector/lifecycle.go | 25 +++++-- otelcollector/lifecycle_test.go | 60 +++++++++++++--- 5 files changed, 168 insertions(+), 100 deletions(-) diff --git a/otelcollector/factory.go b/otelcollector/factory.go index 257753a..45c9a46 100644 --- a/otelcollector/factory.go +++ b/otelcollector/factory.go @@ -14,8 +14,6 @@ package otelcollector import ( - "log/slog" - prombridge "github.com/prometheus/opentelemetry-collector-bridge" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/receiver" @@ -26,7 +24,7 @@ var receiverType = component.MustNewType("stackdriver_exporter") func NewFactory() receiver.Factory { return prombridge.NewFactory( receiverType, - newLifecycleManager(slog.Default()), + newLifecycleManager(), configUnmarshaler{}, prombridge.WithComponentDefaults(defaultComponentDefaults()), ) diff --git a/otelcollector/go.mod b/otelcollector/go.mod index b810941..d0fd49c 100644 --- a/otelcollector/go.mod +++ b/otelcollector/go.mod @@ -5,11 +5,13 @@ go 1.25.0 require ( github.com/prometheus-community/stackdriver_exporter v0.0.0 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260317204527-5fc426455618 - go.opentelemetry.io/collector/component v1.54.0 - go.opentelemetry.io/collector/consumer/consumertest v0.148.0 - go.opentelemetry.io/collector/receiver v1.54.0 - go.opentelemetry.io/collector/receiver/receivertest v0.148.0 + github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de + go.opentelemetry.io/collector/component v1.56.0 + go.opentelemetry.io/collector/consumer/consumertest v0.150.0 + go.opentelemetry.io/collector/receiver v1.56.0 + go.opentelemetry.io/collector/receiver/receivertest v0.150.0 + go.uber.org/zap v1.27.1 + go.uber.org/zap/exp v0.3.0 google.golang.org/api v0.251.0 ) @@ -29,7 +31,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect github.com/googleapis/gax-go/v2 v2.15.0 // indirect - github.com/hashicorp/go-version v1.8.0 // indirect + github.com/hashicorp/go-version v1.9.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -41,34 +43,37 @@ require ( github.com/prometheus/procfs v0.20.1 // indirect github.com/stretchr/testify v1.11.1 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/collector/component/componenttest v0.148.0 // indirect - go.opentelemetry.io/collector/consumer v1.54.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.148.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 // indirect - go.opentelemetry.io/collector/featuregate v1.54.0 // indirect - go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect - go.opentelemetry.io/collector/pdata v1.54.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.148.0 // indirect - go.opentelemetry.io/collector/pipeline v1.54.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 // indirect - go.opentelemetry.io/contrib/bridges/prometheus v0.67.0 // indirect + go.opentelemetry.io/collector/component/componenttest v0.150.0 // indirect + go.opentelemetry.io/collector/consumer v1.56.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.150.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.150.0 // indirect + go.opentelemetry.io/collector/featuregate v1.56.0 // indirect + go.opentelemetry.io/collector/internal/componentalias v0.150.0 // indirect + go.opentelemetry.io/collector/pdata v1.56.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.150.0 // indirect + go.opentelemetry.io/collector/pipeline v1.56.0 // indirect + go.opentelemetry.io/collector/pipeline/xpipeline v0.150.0 // indirect + go.opentelemetry.io/collector/receiver/receiverhelper v0.150.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.150.0 // indirect + go.opentelemetry.io/collector/scraper v0.150.0 // indirect + go.opentelemetry.io/collector/scraper/scraperhelper v0.150.0 // indirect + go.opentelemetry.io/contrib/bridges/prometheus v0.68.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect - go.opentelemetry.io/otel v1.42.0 // indirect - go.opentelemetry.io/otel/metric v1.42.0 // indirect - go.opentelemetry.io/otel/sdk v1.42.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.42.0 // indirect - go.opentelemetry.io/otel/trace v1.42.0 // indirect + go.opentelemetry.io/otel v1.43.0 // indirect + go.opentelemetry.io/otel/metric v1.43.0 // indirect + go.opentelemetry.io/otel/sdk v1.43.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.43.0 // indirect + go.opentelemetry.io/otel/trace v1.43.0 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.1 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect golang.org/x/crypto v0.48.0 // indirect golang.org/x/net v0.51.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sys v0.41.0 // indirect + golang.org/x/sys v0.42.0 // indirect golang.org/x/text v0.34.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect - google.golang.org/grpc v1.79.3 // indirect + google.golang.org/grpc v1.80.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/otelcollector/go.sum b/otelcollector/go.sum index 4e6d78d..0f6f95f 100644 --- a/otelcollector/go.sum +++ b/otelcollector/go.sum @@ -42,8 +42,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo= github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc= -github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= -github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= +github.com/hashicorp/go-version v1.9.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/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -74,8 +74,8 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= -github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260317204527-5fc426455618 h1:avrl4ZBB6yhuq4v44d9vEBiOsdvCbfRQ4JArrAibjhY= -github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260317204527-5fc426455618/go.mod h1:w/7D5Cq1Hu2qYrKyWP/qf9H7Chlr91Ia8zqKBfqGx00= +github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de h1:9O/hyWCksNot/u2JRHvb5Fj6kZYRjoE/C5ibKaGICJs= +github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de/go.mod h1:60zEYUglpm0QDYiGVOA1rf0kMQlRCs4xkpm7khDyBHQ= github.com/prometheus/procfs v0.20.1 h1:XwbrGOIplXW/AU3YhIhLODXMJYyC1isLFfYCsTEycfc= github.com/prometheus/procfs v0.20.1/go.mod h1:o9EMBZGRyvDrSPH1RqdxhojkuXstoe4UlK79eF5TGGo= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= @@ -87,52 +87,60 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector/component v1.54.0 h1:LvtX0Tzz18n44OrUFVk77N1FNsejfWJqztB28hrmDM8= -go.opentelemetry.io/collector/component v1.54.0/go.mod h1:yUMBYsySY/sDcXm8kOzEoZxt+JLdala6hxzSW0npOxY= -go.opentelemetry.io/collector/component/componenttest v0.148.0 h1:tBXJWmy2X6KD8S0QU2YZa2zYBqP+IycSM4iOtwDD2pA= -go.opentelemetry.io/collector/component/componenttest v0.148.0/go.mod h1:1c1+6mZOmI0raoya5vA/X0F+fawEjNS6tCEs5xLATtA= -go.opentelemetry.io/collector/consumer v1.54.0 h1:RGGtUN+GbkV1px3T6XdUHmgJ+ldJ1hAHdesFzW/wgL0= -go.opentelemetry.io/collector/consumer v1.54.0/go.mod h1:1PC6XINTL9DdT1bwvfMdHE72EB4RWU/WcPemUrhqKN8= -go.opentelemetry.io/collector/consumer/consumererror v0.148.0 h1:lKVkNWBeRXG41lHBf5KzA9oErRZifx6qTd9erAFfEkE= -go.opentelemetry.io/collector/consumer/consumererror v0.148.0/go.mod h1:N/UppmtknIdzpEiy3xirH1EiBEBOqKqD77NCyNi2Rbc= -go.opentelemetry.io/collector/consumer/consumertest v0.148.0 h1:ms0HtWMj17tI1Yds0hSuUI5QYpNEqd11AAhwIoUY2HE= -go.opentelemetry.io/collector/consumer/consumertest v0.148.0/go.mod h1:wScw/OzKkf/ZzJn4ToI30OoI1kJiY16WNrcFToXSzK0= -go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 h1:m3b9rY7CLD5Pcge6sSKHIT3OlcPN6xqYsdtVs9oJ528= -go.opentelemetry.io/collector/consumer/xconsumer v0.148.0/go.mod h1:bG+Wz6xmIBl/gHzq1sqvksWXqTLuTX17Wo//zIsdZpw= -go.opentelemetry.io/collector/featuregate v1.54.0 h1:ufo5Hy4Co9pcHVg24hyanm8qFG3TkkYbVyQXPVAbwDc= -go.opentelemetry.io/collector/featuregate v1.54.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= -go.opentelemetry.io/collector/internal/componentalias v0.148.0 h1:Y6MftNIZSzOr47TTj6A2z2UR3IwbeG46sAQshicGtDg= -go.opentelemetry.io/collector/internal/componentalias v0.148.0/go.mod h1:uwKzfehzwRgHxdHgFXYSBHNBeWSSqsqQYGWr5fk08G0= -go.opentelemetry.io/collector/internal/testutil v0.148.0 h1:3Z9hperte3vSmbBTYeNndoEUICICrNz8hzx+v0FYXBQ= -go.opentelemetry.io/collector/internal/testutil v0.148.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= -go.opentelemetry.io/collector/pdata v1.54.0 h1:3LharKb792cQ3VrUGxd3IcpWwfu3ST+GSTU382jVz1s= -go.opentelemetry.io/collector/pdata v1.54.0/go.mod h1:+MqC3VVOv/EX9YVFUo+mI4F0YmwJ+fXBYwjmu+mRiZ8= -go.opentelemetry.io/collector/pdata/pprofile v0.148.0 h1:MgrNZmqwhZGfiYwcKKtM/iXgTZqqvG5dUphriRXMZHU= -go.opentelemetry.io/collector/pdata/pprofile v0.148.0/go.mod h1:MTTMnZPqWX1S/rBDatU0W19udlycBkWuzVV5qnemHdc= -go.opentelemetry.io/collector/pdata/testdata v0.148.0 h1:yzakPuFgoKK8WcrlhyYHLMLA/kLScQKGsXkIgwieAQ8= -go.opentelemetry.io/collector/pdata/testdata v0.148.0/go.mod h1:2rFvxm8qwd3nlO90FtJw6ZGAjt+bLndxmQuJaMO9kfQ= -go.opentelemetry.io/collector/pipeline v1.54.0 h1:jYlCkdFLITVBdeB+IGS07zXWywEgvT3Ky46vdKKT+Ks= -go.opentelemetry.io/collector/pipeline v1.54.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= -go.opentelemetry.io/collector/receiver v1.54.0 h1:2e9o+eihZ/nJnzVj5JAcJ+VQ653HcZRiT127qBZRqa8= -go.opentelemetry.io/collector/receiver v1.54.0/go.mod h1:xFZnvYTBjdi9iS/d/UUXzss4h311mLsZliQFQXk4o/k= -go.opentelemetry.io/collector/receiver/receivertest v0.148.0 h1:Fu+B4jCqgZVZmhsKBz3tcgimFryR6TRAK2D5VGLD2Xc= -go.opentelemetry.io/collector/receiver/receivertest v0.148.0/go.mod h1:K8dMDMEggEg6jB688VOHutivOGEEZ20FJGe4jV9RtWU= -go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 h1:u66Zi3udD9RMRiNOsZzsVcUjRwqJEK+5LV76Ry9l3K0= -go.opentelemetry.io/collector/receiver/xreceiver v0.148.0/go.mod h1:jyHxf8SOfH48ZXb32IS3vPbVYDinsLlZYQddyrveqMg= -go.opentelemetry.io/contrib/bridges/prometheus v0.67.0 h1:dkBzNEAIKADEaFnuESzcXvpd09vxvDZsOjx11gjUqLk= -go.opentelemetry.io/contrib/bridges/prometheus v0.67.0/go.mod h1:Z5RIwRkZgauOIfnG5IpidvLpERjhTninpP1dTG2jTl4= +go.opentelemetry.io/collector/component v1.56.0 h1:fOCs36Dxg95w2RQCVI2i5IsHc5IbZ99vmbipK9FM7pQ= +go.opentelemetry.io/collector/component v1.56.0/go.mod h1:MkAjcSc2T0BiYf/uARZdTlfnxBB9BwmvY6v08D+qeY4= +go.opentelemetry.io/collector/component/componenttest v0.150.0 h1:pT7avT/Pfn8tAOOlmFWgtOaGvXY0nxSwrivnhOl/LH0= +go.opentelemetry.io/collector/component/componenttest v0.150.0/go.mod h1:D+7mfbcZ/TfneQRZNtVwH+/YKQdalc1joa9NhH1BGPk= +go.opentelemetry.io/collector/consumer v1.56.0 h1:olhuaTI3cic6VfcraXt3qqsv1v4Qxf55gHxOO1uIVXw= +go.opentelemetry.io/collector/consumer v1.56.0/go.mod h1:FpnfeTLQAdcOtzrkQ36Z+E5aconIymkv9xpJuAdLvy0= +go.opentelemetry.io/collector/consumer/consumererror v0.150.0 h1:DC4QGlGGU6HoPChbCzAlNzv/diLTlbrJ/q6+1P+35zQ= +go.opentelemetry.io/collector/consumer/consumererror v0.150.0/go.mod h1:rLkPStz81IOOMVzhmGiezt/Rf9l9jJg6bsCQ8Qbw6J0= +go.opentelemetry.io/collector/consumer/consumertest v0.150.0 h1:DQtVy0BUTQqHKKOyM0hYnxV8H2kKHjayc8aMMa2fow0= +go.opentelemetry.io/collector/consumer/consumertest v0.150.0/go.mod h1:2mgIllFOgoq+SQ7QfXzaZn65pa6OZWobcy3yj+Ik9Ug= +go.opentelemetry.io/collector/consumer/xconsumer v0.150.0 h1:URO73bAV00wTH9bJeloqaiLgS3Q80GNci+nm1iZ3W6Q= +go.opentelemetry.io/collector/consumer/xconsumer v0.150.0/go.mod h1:BMcOInfcRUpVZ2R4qa3vNglvU6mWL+0dhAayH87YSB8= +go.opentelemetry.io/collector/featuregate v1.56.0 h1:NjcbOZkdCSXddAJmFLdO+pv1gmAgrU6sC5PBga2KlKI= +go.opentelemetry.io/collector/featuregate v1.56.0/go.mod h1:4ga1QBMPEejXXmpyJS8lmaRpknJ3Lb9Bvk6e420bUFU= +go.opentelemetry.io/collector/internal/componentalias v0.150.0 h1:qvcJr0m/fFgsc3x6Oya3RNDOZp/WyfmOKIv9jtvoLYw= +go.opentelemetry.io/collector/internal/componentalias v0.150.0/go.mod h1:abuQP8ELgPpCSq6xbHM1b2hPOGqaKxUeLgHHdU/XGP0= +go.opentelemetry.io/collector/internal/testutil v0.150.0 h1:J4PLQGPfbLVaL5eI1aMc0m0TMixV9wzBhNhoHU00J0I= +go.opentelemetry.io/collector/internal/testutil v0.150.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= +go.opentelemetry.io/collector/pdata v1.56.0 h1:W+QAfN2Iz8SNss1T5JNzRWFnw+7oP1vXBQH9ZuOJkXY= +go.opentelemetry.io/collector/pdata v1.56.0/go.mod h1:usR9utboXufbD1rp1oJy+3smQXXpZ+CsI3WN7QsiOs0= +go.opentelemetry.io/collector/pdata/pprofile v0.150.0 h1:Ae+FxmYXDdcqeLqIAdNSO3YGxco7RS2mIMTdjvavfso= +go.opentelemetry.io/collector/pdata/pprofile v0.150.0/go.mod h1:tEBeGysY/LpIh39NLoQQl3qmUBOF9wyH5p/fmn7smzM= +go.opentelemetry.io/collector/pdata/testdata v0.150.0 h1:nZE3UNuDYd9lfXTk/n5UplPwXBD4tptDIZH5PvWhHKQ= +go.opentelemetry.io/collector/pdata/testdata v0.150.0/go.mod h1:RPOOH2KNevfhu7adoEXVTNtPPZsHwbrSOQKeFZE/220= +go.opentelemetry.io/collector/pipeline v1.56.0 h1:KfyCes/EPC2hpBhU28z9WnJzSRlBYS5FfMHOYAXHbXw= +go.opentelemetry.io/collector/pipeline v1.56.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= +go.opentelemetry.io/collector/pipeline/xpipeline v0.150.0 h1:Bm+xm9vFRuW2kkdRj/iF8aIvCJCDsUHe59FP9FRwuSA= +go.opentelemetry.io/collector/pipeline/xpipeline v0.150.0/go.mod h1:iPY4PBBeih6Wn9SDbgHQY9FTx6WD5FvPLMhBmgsv1lI= +go.opentelemetry.io/collector/receiver v1.56.0 h1:xrLFO3g5/PWvHMG74li6a7Y3yT6B/OehgFsyZJmLII8= +go.opentelemetry.io/collector/receiver v1.56.0/go.mod h1:iOpgr7vRq8R+LXRr9bLQT0jADyPEqmdJWuZTlvARWgo= +go.opentelemetry.io/collector/receiver/receiverhelper v0.150.0 h1:8PBXFdWJ+q0XQzp0j8sDF9KbOxU+H6fNTyYHOs7yt4Q= +go.opentelemetry.io/collector/receiver/receiverhelper v0.150.0/go.mod h1:9kYAlW71t2nJqCNTVWJvgcbT+Ad6ue2wGO7UR6cPQnI= +go.opentelemetry.io/collector/receiver/receivertest v0.150.0 h1:D34dL/NxP+MTMWZsQCWHgAyKOUsEn1JtzU6gPmLk/oc= +go.opentelemetry.io/collector/receiver/receivertest v0.150.0/go.mod h1:/MWpPrRvljhZpbSTOHijr69Kg1A/MhUoKX0tLZpkhgE= +go.opentelemetry.io/collector/receiver/xreceiver v0.150.0 h1:UpgWq1saq6QWGawJzKpJfLmcv52qBLBRjsv3vcy5fLM= +go.opentelemetry.io/collector/receiver/xreceiver v0.150.0/go.mod h1:ltPXHfF5wjxmIti1GfGfAzOeBpovRMePdFj96kefsT0= +go.opentelemetry.io/collector/scraper v0.150.0 h1:Gmz2t282ZpMSWsWzGDWcG3Gy5vMVI2S1pZpRDt7YKCA= +go.opentelemetry.io/collector/scraper v0.150.0/go.mod h1:VjruTyDCZxc7H19UVMfQaZuVytWbsMYcwfNJwV/i6vA= +go.opentelemetry.io/collector/scraper/scraperhelper v0.150.0 h1:cpBVjmn6CBibAyeyvbBnrMKLu0X1NONCZCN+c8VTX6A= +go.opentelemetry.io/collector/scraper/scraperhelper v0.150.0/go.mod h1:hWOiRlYve6kwpiB0TqGKyoBV/eC4m+JVPO7TZlW8Iaw= +go.opentelemetry.io/contrib/bridges/prometheus v0.68.0 h1:w3zlHYETbDwXyWHZlyyR58ZC39XGi8rAhkBgUgJ9d5w= +go.opentelemetry.io/contrib/bridges/prometheus v0.68.0/go.mod h1:GR/mClR2nn7vE8RLwxKjoBNg+QtgdDhRzxVa93koy5o= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= -go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= -go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= -go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= -go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= -go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= -go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= -go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= -go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= -go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= -go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= @@ -145,8 +153,10 @@ 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.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.uber.org/zap/exp v0.3.0 h1:6JYzdifzYkGmTdRR59oYH+Ng7k49H9qVpWwNSsGJj3U= +go.uber.org/zap/exp v0.3.0/go.mod h1:5I384qq7XGxYyByIhHm6jg5CHkGY0nsTfbDLgDDlgJQ= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= 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.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= @@ -160,15 +170,15 @@ golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.251.0 h1:6lea5nHRT8RUmpy9kkC2PJYnhnDAB13LqrLSVQlMIE8= google.golang.org/api v0.251.0/go.mod h1:Rwy0lPf/TD7+T2VhYcffCHhyyInyuxGjICxdfLqT7KI= google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4= @@ -177,8 +187,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1: google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 h1:H86B94AW+VfJWDqFeEbBPhEtHzJwJfTbgE2lZa54ZAQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= -google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/otelcollector/lifecycle.go b/otelcollector/lifecycle.go index 08beb97..5292f88 100644 --- a/otelcollector/lifecycle.go +++ b/otelcollector/lifecycle.go @@ -16,6 +16,7 @@ package otelcollector import ( "context" "fmt" + "io" "log/slog" "time" @@ -25,23 +26,23 @@ import ( "github.com/prometheus-community/stackdriver_exporter/utils" "github.com/prometheus/client_golang/prometheus" prombridge "github.com/prometheus/opentelemetry-collector-bridge" + "go.opentelemetry.io/collector/receiver" + "go.uber.org/zap/exp/zapslog" "google.golang.org/api/monitoring/v3" ) type collectorFactoryFunc func(projectID string, service *monitoring.Service, opts collectors.MonitoringCollectorOptions, deltasTTL time.Duration, logger *slog.Logger) (prometheus.Collector, error) type lifecycleManager struct { - logger *slog.Logger - monitoringServiceFactory func(ctx context.Context, cfg config.RuntimeConfig) (*monitoring.Service, error) collectorFactory collectorFactoryFunc filterProjectDiscoverer func(ctx context.Context, filter string) ([]string, error) defaultProjectDiscoverer func(ctx context.Context) (string, error) + loggerForSettings func(set receiver.Settings) *slog.Logger } -func newLifecycleManager(logger *slog.Logger) *lifecycleManager { +func newLifecycleManager() *lifecycleManager { return &lifecycleManager{ - logger: logger, monitoringServiceFactory: func(ctx context.Context, cfg config.RuntimeConfig) (*monitoring.Service, error) { return cfg.CreateMonitoringService(ctx) }, @@ -57,10 +58,11 @@ func newLifecycleManager(logger *slog.Logger) *lifecycleManager { }, filterProjectDiscoverer: utils.GetProjectIDsFromFilter, defaultProjectDiscoverer: config.DiscoverDefaultProjectID, + loggerForSettings: collectorSlogLogger, } } -func (m *lifecycleManager) Start(ctx context.Context, exporterConfig prombridge.Config) (*prometheus.Registry, error) { +func (m *lifecycleManager) Start(ctx context.Context, set receiver.Settings, exporterConfig prombridge.Config) (*prometheus.Registry, error) { cfg, ok := exporterConfig.(*Config) if !ok { return nil, fmt.Errorf("invalid exporter config type: %T", exporterConfig) @@ -82,9 +84,10 @@ func (m *lifecycleManager) Start(ctx context.Context, exporterConfig prombridge. } registry := prometheus.NewRegistry() + logger := m.loggerForSettings(set) for _, projectID := range projectIDs { - collector, err := m.collectorFactory(projectID, monitoringService, runtimeCfg.MonitoringCollectorOptions(), runtimeCfg.DeltasTTL, m.logger) + collector, err := m.collectorFactory(projectID, monitoringService, runtimeCfg.MonitoringCollectorOptions(), runtimeCfg.DeltasTTL, logger) if err != nil { return nil, fmt.Errorf("failed to create collector for project %q: %w", projectID, err) } @@ -96,10 +99,18 @@ func (m *lifecycleManager) Start(ctx context.Context, exporterConfig prombridge. return registry, nil } -func (m *lifecycleManager) Shutdown(context.Context) error { +func (m *lifecycleManager) Shutdown(context.Context, receiver.Settings) error { return nil } +func collectorSlogLogger(set receiver.Settings) *slog.Logger { + if set.Logger == nil { + return slog.New(slog.NewTextHandler(io.Discard, nil)) + } + + return slog.New(zapslog.NewHandler(set.Logger.Core())) +} + func (m *lifecycleManager) resolveProjectIDs(ctx context.Context, cfg *Config) ([]string, error) { var projectIDs []string diff --git a/otelcollector/lifecycle_test.go b/otelcollector/lifecycle_test.go index 43a3568..3c19493 100644 --- a/otelcollector/lifecycle_test.go +++ b/otelcollector/lifecycle_test.go @@ -25,6 +25,9 @@ import ( "github.com/prometheus-community/stackdriver_exporter/collectors" "github.com/prometheus-community/stackdriver_exporter/config" "github.com/prometheus/client_golang/prometheus" + "go.opentelemetry.io/collector/receiver/receivertest" + "go.uber.org/zap" + "go.uber.org/zap/zaptest/observer" "google.golang.org/api/monitoring/v3" ) @@ -46,7 +49,7 @@ func TestLifecycleManager_Start(t *testing.T) { var createdProjects []string var gotOpts collectors.MonitoringCollectorOptions var gotDeltasTTL time.Duration - mgr := newLifecycleManager(slog.Default()) + mgr := newLifecycleManager() mgr.monitoringServiceFactory = func(context.Context, config.RuntimeConfig) (*monitoring.Service, error) { return &monitoring.Service{}, nil } @@ -60,7 +63,7 @@ func TestLifecycleManager_Start(t *testing.T) { }), nil } - reg, err := mgr.Start(context.Background(), cfg) + reg, err := mgr.Start(context.Background(), receivertest.NewNopSettings(receiverType), cfg) if err != nil { t.Fatalf("Start() error = %v", err) } @@ -95,6 +98,47 @@ func TestLifecycleManager_Start(t *testing.T) { } } +func TestLifecycleManager_Start_UsesCollectorLogger(t *testing.T) { + t.Parallel() + + cfg := &Config{ + ProjectIDs: []string{"project-a"}, + MetricsPrefixes: []string{"compute.googleapis.com/instance"}, + HTTPTimeout: "10s", + MaxBackoff: "5s", + BackoffJitter: "1s", + MetricsInterval: "5m", + MetricsOffset: "0s", + DeltasTTL: "30m", + DescriptorTTL: "0s", + } + + core, observed := observer.New(zap.DebugLevel) + settings := receivertest.NewNopSettings(receiverType) + settings.Logger = zap.New(core) + + mgr := newLifecycleManager() + mgr.monitoringServiceFactory = func(context.Context, config.RuntimeConfig) (*monitoring.Service, error) { + return &monitoring.Service{}, nil + } + mgr.collectorFactory = func(projectID string, _ *monitoring.Service, _ collectors.MonitoringCollectorOptions, _ time.Duration, logger *slog.Logger) (prometheus.Collector, error) { + logger.Info("using collector logger", "project_id", projectID) + return prometheus.NewGauge(prometheus.GaugeOpts{Name: "collector_logger_metric", Help: "test"}), nil + } + + if _, err := mgr.Start(context.Background(), settings, cfg); err != nil { + t.Fatalf("Start() error = %v", err) + } + + entries := observed.FilterMessage("using collector logger").AllUntimed() + if len(entries) != 1 { + t.Fatalf("logged entries = %d, want 1", len(entries)) + } + if got := entries[0].ContextMap()["project_id"]; got != "project-a" { + t.Fatalf("logged project_id = %#v, want %q", got, "project-a") + } +} + func TestLifecycleManager_Start_UsesDefaultProjectDiscovery(t *testing.T) { t.Parallel() @@ -109,7 +153,7 @@ func TestLifecycleManager_Start_UsesDefaultProjectDiscovery(t *testing.T) { DescriptorTTL: "0s", } - mgr := newLifecycleManager(slog.Default()) + mgr := newLifecycleManager() mgr.defaultProjectDiscoverer = func(context.Context) (string, error) { return "auto-project", nil } @@ -123,7 +167,7 @@ func TestLifecycleManager_Start_UsesDefaultProjectDiscovery(t *testing.T) { return prometheus.NewGauge(prometheus.GaugeOpts{Name: "auto_project_metric", Help: "test"}), nil } - if _, err := mgr.Start(context.Background(), cfg); err != nil { + if _, err := mgr.Start(context.Background(), receivertest.NewNopSettings(receiverType), cfg); err != nil { t.Fatalf("Start() error = %v", err) } } @@ -143,7 +187,7 @@ func TestLifecycleManager_Start_ReturnsErrorFromCollectorFactory(t *testing.T) { DescriptorTTL: "0s", } - mgr := newLifecycleManager(slog.Default()) + mgr := newLifecycleManager() mgr.monitoringServiceFactory = func(context.Context, config.RuntimeConfig) (*monitoring.Service, error) { return &monitoring.Service{}, nil } @@ -151,7 +195,7 @@ func TestLifecycleManager_Start_ReturnsErrorFromCollectorFactory(t *testing.T) { return nil, errors.New("boom") } - if _, err := mgr.Start(context.Background(), cfg); err == nil { + if _, err := mgr.Start(context.Background(), receivertest.NewNopSettings(receiverType), cfg); err == nil { t.Fatal("Start() expected error, got nil") } } @@ -159,8 +203,8 @@ func TestLifecycleManager_Start_ReturnsErrorFromCollectorFactory(t *testing.T) { func TestLifecycleManager_Shutdown(t *testing.T) { t.Parallel() - mgr := newLifecycleManager(slog.Default()) - if err := mgr.Shutdown(context.Background()); err != nil { + mgr := newLifecycleManager() + if err := mgr.Shutdown(context.Background(), receivertest.NewNopSettings(receiverType)); err != nil { t.Fatalf("Shutdown() error = %v", err) } } From 183d69254f415ee49170063bd8998fbe1dffe04c Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Thu, 23 Apr 2026 15:16:26 -0300 Subject: [PATCH 2/2] Remove telemetry.Settings from Shutdown Signed-off-by: Arthur Silva Sens --- otelcollector/go.mod | 2 +- otelcollector/go.sum | 4 ++-- otelcollector/lifecycle.go | 2 +- otelcollector/lifecycle_test.go | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/otelcollector/go.mod b/otelcollector/go.mod index d0fd49c..b8717d3 100644 --- a/otelcollector/go.mod +++ b/otelcollector/go.mod @@ -5,7 +5,7 @@ go 1.25.0 require ( github.com/prometheus-community/stackdriver_exporter v0.0.0 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de + github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260423181221-8d9338897ca9 go.opentelemetry.io/collector/component v1.56.0 go.opentelemetry.io/collector/consumer/consumertest v0.150.0 go.opentelemetry.io/collector/receiver v1.56.0 diff --git a/otelcollector/go.sum b/otelcollector/go.sum index 0f6f95f..c1de52e 100644 --- a/otelcollector/go.sum +++ b/otelcollector/go.sum @@ -74,8 +74,8 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= -github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de h1:9O/hyWCksNot/u2JRHvb5Fj6kZYRjoE/C5ibKaGICJs= -github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260420185709-98919ded11de/go.mod h1:60zEYUglpm0QDYiGVOA1rf0kMQlRCs4xkpm7khDyBHQ= +github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260423181221-8d9338897ca9 h1:cjZ50T+ETG0OdZbnCOKNlQfPWWEqGd8ClJPgyZbd0HI= +github.com/prometheus/opentelemetry-collector-bridge v0.0.0-20260423181221-8d9338897ca9/go.mod h1:60zEYUglpm0QDYiGVOA1rf0kMQlRCs4xkpm7khDyBHQ= github.com/prometheus/procfs v0.20.1 h1:XwbrGOIplXW/AU3YhIhLODXMJYyC1isLFfYCsTEycfc= github.com/prometheus/procfs v0.20.1/go.mod h1:o9EMBZGRyvDrSPH1RqdxhojkuXstoe4UlK79eF5TGGo= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= diff --git a/otelcollector/lifecycle.go b/otelcollector/lifecycle.go index 5292f88..992a989 100644 --- a/otelcollector/lifecycle.go +++ b/otelcollector/lifecycle.go @@ -99,7 +99,7 @@ func (m *lifecycleManager) Start(ctx context.Context, set receiver.Settings, exp return registry, nil } -func (m *lifecycleManager) Shutdown(context.Context, receiver.Settings) error { +func (m *lifecycleManager) Shutdown(context.Context) error { return nil } diff --git a/otelcollector/lifecycle_test.go b/otelcollector/lifecycle_test.go index 3c19493..41d3eb4 100644 --- a/otelcollector/lifecycle_test.go +++ b/otelcollector/lifecycle_test.go @@ -204,7 +204,7 @@ func TestLifecycleManager_Shutdown(t *testing.T) { t.Parallel() mgr := newLifecycleManager() - if err := mgr.Shutdown(context.Background(), receivertest.NewNopSettings(receiverType)); err != nil { + if err := mgr.Shutdown(context.Background()); err != nil { t.Fatalf("Shutdown() error = %v", err) } }