diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index cec3c3a22f33..d5e26a4a08c5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -309,6 +309,8 @@ receiver/windowsperfcountersreceiver/ @open-telemetry receiver/zipkinreceiver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy @andrzej-stencel @crobert-1 receiver/zookeeperreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski +scraper/zookeeperscraper/ @open-telemetry/collector-contrib-approvers @djaglowski + testbed/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers testbed/mockdatasenders/mockdatadogagentexporter/ @open-telemetry/collector-contrib-approvers @boostchicken diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 684025a1b526..090ac6bdfd4e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -311,6 +311,7 @@ body: - receiver/windowsperfcounters - receiver/zipkin - receiver/zookeeper + - scraper/zookeeperscraper - testbed - testbed/mockdatasenders/mockdatadogagentexporter # End Collector components list diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 6dd4d83344f3..faa74202c42c 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -305,6 +305,7 @@ body: - receiver/windowsperfcounters - receiver/zipkin - receiver/zookeeper + - scraper/zookeeperscraper - testbed - testbed/mockdatasenders/mockdatadogagentexporter # End Collector components list diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index 3ae1f6623d2f..c0d87431483b 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -305,6 +305,7 @@ body: - receiver/windowsperfcounters - receiver/zipkin - receiver/zookeeper + - scraper/zookeeperscraper - testbed - testbed/mockdatasenders/mockdatadogagentexporter # End Collector components list diff --git a/.github/ISSUE_TEMPLATE/unmaintained.yaml b/.github/ISSUE_TEMPLATE/unmaintained.yaml index b1f1f809fe8b..135a3923abbb 100644 --- a/.github/ISSUE_TEMPLATE/unmaintained.yaml +++ b/.github/ISSUE_TEMPLATE/unmaintained.yaml @@ -310,6 +310,7 @@ body: - receiver/windowsperfcounters - receiver/zipkin - receiver/zookeeper + - scraper/zookeeperscraper - testbed - testbed/mockdatasenders/mockdatadogagentexporter # End Collector components list diff --git a/cmd/otelcontribcol/builder-config.yaml b/cmd/otelcontribcol/builder-config.yaml index 634d8c0f9ebb..3ca76898223b 100644 --- a/cmd/otelcontribcol/builder-config.yaml +++ b/cmd/otelcontribcol/builder-config.yaml @@ -253,4 +253,3 @@ providers: # When using `make genotelcontribcol`, a `replaces` section is appended to this # file before passing it to OCB, to ensure that local versions are used for all # Contrib modules. - diff --git a/receiver/zookeeperreceiver/README.md b/receiver/zookeeperreceiver/README.md index 3819dafea1cb..9d0a6a5cb555 100644 --- a/receiver/zookeeperreceiver/README.md +++ b/receiver/zookeeperreceiver/README.md @@ -31,10 +31,6 @@ receivers: initial_delay: 1s ``` -## Metrics +## Scraper -Details about the metrics produced by this receiver can be found in [metadata.yaml](./metadata.yaml) with further documentation in [documentation.md](./documentation.md) - -## Limitations - -This receiver does not support scraping metrics from Zookeeper's [New Metric System](https://zookeeper.apache.org/doc/r3.6.3/zookeeperMonitor.html#Metrics-System). +Details about the scraper in [README.md](../../scraper/zookeeperscraper/README.md) diff --git a/receiver/zookeeperreceiver/config.go b/receiver/zookeeperreceiver/config.go index 873484aac48c..e928cbbb9a06 100644 --- a/receiver/zookeeperreceiver/config.go +++ b/receiver/zookeeperreceiver/config.go @@ -4,14 +4,12 @@ package zookeeperreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver" import ( - "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/scraper/scraperhelper" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" ) type Config struct { scraperhelper.ControllerConfig `mapstructure:",squash"` - confignet.TCPAddrConfig `mapstructure:",squash"` - metadata.MetricsBuilderConfig `mapstructure:",squash"` + zookeeperscraper.Config `mapstructure:",squash"` } diff --git a/receiver/zookeeperreceiver/factory.go b/receiver/zookeeperreceiver/factory.go index 6feba7061d00..4106c615541d 100644 --- a/receiver/zookeeperreceiver/factory.go +++ b/receiver/zookeeperreceiver/factory.go @@ -8,21 +8,21 @@ import ( "time" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/scraper" "go.opentelemetry.io/collector/scraper/scraperhelper" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" ) const ( - defaultEndpoint = "localhost:2181" defaultCollectionInterval = 10 * time.Second defaultTimeout = 10 * time.Second ) +var sFact = zookeeperscraper.NewFactory() + func NewFactory() receiver.Factory { return receiver.NewFactory( metadata.Type, @@ -38,10 +38,7 @@ func createDefaultConfig() component.Config { return &Config{ ControllerConfig: cfg, - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: defaultEndpoint, - }, - MetricsBuilderConfig: metadata.DefaultMetricsBuilderConfig(), + Config: *sFact.CreateDefaultConfig().(*zookeeperscraper.Config), } } @@ -53,23 +50,10 @@ func createMetricsReceiver( consumer consumer.Metrics, ) (receiver.Metrics, error) { rConfig := config.(*Config) - zms, err := newZookeeperMetricsScraper(params, rConfig) - if err != nil { - return nil, err - } - - scrp, err := scraper.NewMetrics( - zms.scrape, - scraper.WithShutdown(zms.shutdown), - ) - if err != nil { - return nil, err - } - return scraperhelper.NewMetricsController( &rConfig.ControllerConfig, params, consumer, - scraperhelper.AddScraper(metadata.Type, scrp), + scraperhelper.AddFactoryWithConfig(sFact, &rConfig.Config), ) } diff --git a/receiver/zookeeperreceiver/factory_test.go b/receiver/zookeeperreceiver/factory_test.go deleted file mode 100644 index d1690dfd9ba9..000000000000 --- a/receiver/zookeeperreceiver/factory_test.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package zookeeperreceiver - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/receiver/receivertest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" -) - -func TestFactory(t *testing.T) { - f := NewFactory() - require.Equal(t, metadata.Type, f.Type()) - - cfg := f.CreateDefaultConfig() - rCfg := cfg.(*Config) - - // Assert defaults. - assert.Equal(t, 10*time.Second, rCfg.CollectionInterval) - assert.Equal(t, 10*time.Second, rCfg.Timeout) - assert.Equal(t, "localhost:2181", rCfg.Endpoint) - - tests := []struct { - name string - config component.Config - wantErr bool - }{ - { - name: "Happy path", - config: createDefaultConfig(), - }, - { - name: "Invalid endpoint", - config: &Config{}, - wantErr: true, - }, - { - name: "Invalid timeout", - config: &Config{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: ":2181", - }, - }, - wantErr: true, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - r, err := f.CreateMetrics( - context.Background(), - receivertest.NewNopSettings(), - test.config, - consumertest.NewNop(), - ) - - if test.wantErr { - require.Error(t, err) - require.Nil(t, r) - return - } - - require.NoError(t, err) - require.NotNil(t, r) - }) - } -} diff --git a/receiver/zookeeperreceiver/go.mod b/receiver/zookeeperreceiver/go.mod index e14ba035dbf9..94e36ba63d43 100644 --- a/receiver/zookeeperreceiver/go.mod +++ b/receiver/zookeeperreceiver/go.mod @@ -3,27 +3,20 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookee go 1.22.0 require ( - github.com/google/go-cmp v0.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0 github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper v0.118.0 github.com/stretchr/testify v1.10.0 github.com/testcontainers/testcontainers-go v0.35.0 go.opentelemetry.io/collector/component v0.118.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/component/componenttest v0.118.1-0.20250130000211-c119b2a55eb4 - go.opentelemetry.io/collector/config/confignet v1.24.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/confmap v1.24.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/consumer v1.24.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/consumer/consumertest v0.118.1-0.20250130000211-c119b2a55eb4 - go.opentelemetry.io/collector/filter v0.118.1-0.20250130000211-c119b2a55eb4 - go.opentelemetry.io/collector/pdata v1.24.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/receiver v0.118.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/receiver/receivertest v0.118.1-0.20250130000211-c119b2a55eb4 - go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4 go.opentelemetry.io/collector/scraper/scraperhelper v0.118.1-0.20250130000211-c119b2a55eb4 go.uber.org/goleak v1.3.0 - go.uber.org/zap v1.27.0 ) require ( @@ -47,7 +40,6 @@ require ( github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // 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.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect @@ -66,6 +58,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/morikuni/aec v1.0.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect @@ -79,40 +72,36 @@ require ( github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.24.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/config/configtelemetry v0.118.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.118.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.118.1-0.20250130000211-c119b2a55eb4 // indirect - go.opentelemetry.io/collector/featuregate v1.24.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/collector/filter v0.118.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/collector/pdata v1.24.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.118.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/pipeline v0.118.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/collector/receiver/xreceiver v0.118.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect - go.opentelemetry.io/proto/otlp v1.0.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.31.0 // indirect golang.org/x/net v0.33.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect google.golang.org/grpc v1.70.0 // indirect google.golang.org/protobuf v1.36.4 // 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/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - // see https://github.com/distribution/distribution/issues/3590 exclude github.com/docker/distribution v2.8.0+incompatible @@ -122,4 +111,14 @@ retract ( v0.65.0 ) +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil + replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest + +replace github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper => ../../scraper/zookeeperscraper + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common diff --git a/receiver/zookeeperreceiver/go.sum b/receiver/zookeeperreceiver/go.sum index b01c1a08b66e..62579f75cd4d 100644 --- a/receiver/zookeeperreceiver/go.sum +++ b/receiver/zookeeperreceiver/go.sum @@ -50,8 +50,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= 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.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ= 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= @@ -176,12 +176,14 @@ go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4 h1: go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:3emjr1Or5hqINEzb5848fDpZguQQqwQ3ES44sASQGUg= go.opentelemetry.io/collector/scraper/scraperhelper v0.118.1-0.20250130000211-c119b2a55eb4 h1:60dZvPmmzQpaqXAej/OKdRDYjFv8kyBOJB+6VFn5vZ0= go.opentelemetry.io/collector/scraper/scraperhelper v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:lmaDcg1p2+Kt7iEtrzyL0AETFQs9bStgZU8XHoI+5pU= +go.opentelemetry.io/collector/scraper/scrapertest v0.118.1-0.20250130000211-c119b2a55eb4 h1:tNlNF+T+ktGLtcEdWSB4BW0NHnzqIHWavOp1wwXuvnw= +go.opentelemetry.io/collector/scraper/scrapertest v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:r0lzMsazeHI+Rs4oHjTIeaB4fMIidjePZHQxOCP9RrA= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -192,8 +194,8 @@ go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= 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= @@ -243,10 +245,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a h1:OAiGFfOiA0v9MRYsSidp3ubZaBnteRUyn3xB2ZQ5G/E= -google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d h1:H8tOf8XM88HvKqLTxe755haY6r1fqqzLbEnfrmLXlSA= +google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d/go.mod h1:2v7Z7gP2ZUOGsaFyxATQSRoBnKygqVq2Cwnvom7QiqY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4= google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= diff --git a/receiver/zookeeperreceiver/metadata.yaml b/receiver/zookeeperreceiver/metadata.yaml index e72fbbf068c0..f0ced1348fc8 100644 --- a/receiver/zookeeperreceiver/metadata.yaml +++ b/receiver/zookeeperreceiver/metadata.yaml @@ -9,151 +9,5 @@ status: active: [djaglowski] seeking_new: true -resource_attributes: - server.state: - description: State of the Zookeeper server (leader, standalone or follower). - enabled: true - type: string - zk.version: - description: Zookeeper version of the instance. - enabled: true - type: string - -attributes: - state: - description: State of followers - type: string - enum: - - synced - - unsynced - direction: - description: State of a packet based on io direction. - type: string - enum: - - received - - sent - -metrics: - zookeeper.follower.count: - enabled: true - description: The number of followers. Only exposed by the leader. - unit: "{followers}" - attributes: [state] - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.sync.pending: - enabled: true - description: The number of pending syncs from the followers. Only exposed by the leader. - unit: "{syncs}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.latency.avg: - enabled: true - description: Average time in milliseconds for requests to be processed. - unit: ms - gauge: - value_type: int - zookeeper.latency.max: - enabled: true - description: Maximum time in milliseconds for requests to be processed. - unit: ms - gauge: - value_type: int - zookeeper.latency.min: - enabled: true - description: Minimum time in milliseconds for requests to be processed. - unit: ms - gauge: - value_type: int - zookeeper.connection.active: - enabled: true - description: Number of active clients connected to a ZooKeeper server. - unit: "{connections}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.request.active: - enabled: true - description: Number of currently executing requests. - unit: "{requests}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.znode.count: - enabled: true - description: Number of z-nodes that a ZooKeeper server has in its data tree. - unit: "{znodes}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.watch.count: - enabled: true - description: Number of watches placed on Z-Nodes on a ZooKeeper server. - unit: "{watches}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.data_tree.ephemeral_node.count: - enabled: true - description: Number of ephemeral nodes that a ZooKeeper server has in its data tree. - unit: "{nodes}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.data_tree.size: - enabled: true - description: Size of data in bytes that a ZooKeeper server has in its data tree. - unit: By - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.file_descriptor.open: - enabled: true - description: Number of file descriptors that a ZooKeeper server has open. - unit: "{file_descriptors}" - sum: - monotonic: false - aggregation_temporality: cumulative - value_type: int - zookeeper.file_descriptor.limit: - enabled: true - description: Maximum number of file descriptors that a ZooKeeper server can open. - unit: "{file_descriptors}" - gauge: - value_type: int - zookeeper.packet.count: - enabled: true - description: The number of ZooKeeper packets received or sent by a server. - unit: "{packets}" - attributes: [direction] - sum: - value_type: int - monotonic: true - aggregation_temporality: cumulative - zookeeper.fsync.exceeded_threshold.count: - enabled: true - description: Number of times fsync duration has exceeded warning threshold. - unit: "{events}" - sum: - value_type: int - monotonic: true - aggregation_temporality: cumulative - zookeeper.ruok: - enabled: true - description: Response from zookeeper ruok command - unit: "1" - gauge: - value_type: int - tests: config: diff --git a/receiver/zookeeperreceiver/testdata/integration/expected-3.4.13.yaml b/receiver/zookeeperreceiver/testdata/integration/expected-3.4.13.yaml index 21c82a63ad2a..8a5a8fa33d03 100644 --- a/receiver/zookeeperreceiver/testdata/integration/expected-3.4.13.yaml +++ b/receiver/zookeeperreceiver/testdata/integration/expected-3.4.13.yaml @@ -144,5 +144,5 @@ resourceMetrics: timeUnixNano: "1684779363308697000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10-standalone.yaml b/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10-standalone.yaml index 1deede267134..d8c54801e898 100644 --- a/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10-standalone.yaml +++ b/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10-standalone.yaml @@ -134,5 +134,5 @@ resourceMetrics: timeUnixNano: "1684780475969536000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10.yaml b/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10.yaml index 1f0576dd0796..785dc5e1df20 100644 --- a/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10.yaml +++ b/receiver/zookeeperreceiver/testdata/integration/expected-3.5.10.yaml @@ -163,5 +163,5 @@ resourceMetrics: timeUnixNano: "1684779392577522000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/reports/distributions/contrib.yaml b/reports/distributions/contrib.yaml index 1f2347d84634..e98b5b7d6d3b 100644 --- a/reports/distributions/contrib.yaml +++ b/reports/distributions/contrib.yaml @@ -213,3 +213,4 @@ components: - process - processes - system + - zookeeper diff --git a/scraper/zookeeperscraper/Makefile b/scraper/zookeeperscraper/Makefile new file mode 100644 index 000000000000..c1496226e590 --- /dev/null +++ b/scraper/zookeeperscraper/Makefile @@ -0,0 +1 @@ +include ../../Makefile.Common \ No newline at end of file diff --git a/scraper/zookeeperscraper/README.md b/scraper/zookeeperscraper/README.md new file mode 100644 index 000000000000..3611914e945c --- /dev/null +++ b/scraper/zookeeperscraper/README.md @@ -0,0 +1,30 @@ +# Zookeeper Scraper + +<!-- status autogenerated section --> +| Status | | +| ------------- |-----------| +| Stability | [alpha]: metrics | +| Distributions | [contrib] | +| Issues | [](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Ascraper%2Fzookeeper) [](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Ascraper%2Fzookeeper) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@djaglowski](https://www.github.com/djaglowski) \| Seeking more code owners! | + +[alpha]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#alpha +[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +<!-- end autogenerated section --> + +The Zookeeper scraper collects metrics from a Zookeeper instance, using the `mntr` command. The `mntr` 4 letter word command needs +to be enabled for the scraper to be able to collect metrics. + +## Configuration + +- `endpoint`: (default = `localhost:2181`) Endpoint to connect to collect metrics. Takes the form `host:port`. 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. + +Example configuration. + +## Metrics + +Details about the metrics produced by this scraper can be found in [metadata.yaml](./metadata.yaml) with further documentation in [documentation.md](./documentation.md) + +## Limitations + +This scraper does not support scraping metrics from Zookeeper's [New Metric System](https://zookeeper.apache.org/doc/r3.6.3/zookeeperMonitor.html#Metrics-System). diff --git a/scraper/zookeeperscraper/config.go b/scraper/zookeeperscraper/config.go new file mode 100644 index 000000000000..9fdfd1b53bce --- /dev/null +++ b/scraper/zookeeperscraper/config.go @@ -0,0 +1,22 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package zookeeperscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" + +import ( + "net" + + "go.opentelemetry.io/collector/config/confignet" + + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" +) + +type Config struct { + confignet.TCPAddrConfig `mapstructure:",squash"` + metadata.MetricsBuilderConfig `mapstructure:",squash"` +} + +func (cfg *Config) Validate() error { + _, _, err := net.SplitHostPort(cfg.TCPAddrConfig.Endpoint) + return err +} diff --git a/scraper/zookeeperscraper/config_test.go b/scraper/zookeeperscraper/config_test.go new file mode 100644 index 000000000000..509f469ebb40 --- /dev/null +++ b/scraper/zookeeperscraper/config_test.go @@ -0,0 +1,15 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package zookeeperscraper + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestConfigValidate(t *testing.T) { + cfg := &Config{} + require.Error(t, cfg.Validate()) +} diff --git a/scraper/zookeeperscraper/doc.go b/scraper/zookeeperscraper/doc.go new file mode 100644 index 000000000000..621baf58b57b --- /dev/null +++ b/scraper/zookeeperscraper/doc.go @@ -0,0 +1,6 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:generate mdatagen metadata.yaml + +package zookeeperscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" diff --git a/receiver/zookeeperreceiver/documentation.md b/scraper/zookeeperscraper/documentation.md similarity index 100% rename from receiver/zookeeperreceiver/documentation.md rename to scraper/zookeeperscraper/documentation.md diff --git a/scraper/zookeeperscraper/factory.go b/scraper/zookeeperscraper/factory.go new file mode 100644 index 000000000000..1ec2354e38dc --- /dev/null +++ b/scraper/zookeeperscraper/factory.go @@ -0,0 +1,44 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package zookeeperscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" + +import ( + "context" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/confignet" + "go.opentelemetry.io/collector/scraper" + + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" +) + +const ( + defaultEndpoint = "localhost:2181" +) + +func NewFactory() scraper.Factory { + return scraper.NewFactory( + metadata.Type, + createDefaultConfig, + scraper.WithMetrics(createMetrics, metadata.MetricsStability), + ) +} + +func createDefaultConfig() component.Config { + return &Config{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: defaultEndpoint, + }, + MetricsBuilderConfig: metadata.DefaultMetricsBuilderConfig(), + } +} + +// createMetrics creates zookeeper (metrics) scraper. +func createMetrics( + _ context.Context, + params scraper.Settings, + config component.Config, +) (scraper.Metrics, error) { + return newZookeeperMetricsScraper(params, config.(*Config)), nil +} diff --git a/scraper/zookeeperscraper/factory_test.go b/scraper/zookeeperscraper/factory_test.go new file mode 100644 index 000000000000..13650c65acaa --- /dev/null +++ b/scraper/zookeeperscraper/factory_test.go @@ -0,0 +1,29 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package zookeeperscraper + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/scraper/scrapertest" + + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" +) + +func TestFactory(t *testing.T) { + f := NewFactory() + require.Equal(t, metadata.Type, f.Type()) + + cfg := f.CreateDefaultConfig() + // Assert defaults. + assert.Equal(t, "localhost:2181", cfg.(*Config).Endpoint) + + r, err := f.CreateMetrics(context.Background(), scrapertest.NewNopSettings(), cfg) + + require.NoError(t, err) + require.NotNil(t, r) +} diff --git a/scraper/zookeeperscraper/generated_component_test.go b/scraper/zookeeperscraper/generated_component_test.go new file mode 100644 index 000000000000..64ed6f2c3a3b --- /dev/null +++ b/scraper/zookeeperscraper/generated_component_test.go @@ -0,0 +1,68 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package zookeeperscraper + +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/scraper" + "go.opentelemetry.io/collector/scraper/scrapertest" +) + +func TestComponentFactoryType(t *testing.T) { + require.Equal(t, "zookeeper", NewFactory().Type().String()) +} + +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 scraper.Settings, cfg component.Config) (component.Component, error) + name string + }{ + + { + name: "metrics", + createFn: func(ctx context.Context, set scraper.Settings, cfg component.Config) (component.Component, error) { + return factory.CreateMetrics(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(), scrapertest.NewNopSettings(), 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(), scrapertest.NewNopSettings(), cfg) + require.NoError(t, err) + host := componenttest.NewNopHost() + 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(), scrapertest.NewNopSettings(), cfg) + require.NoError(t, err) + require.NoError(t, secondRcvr.Start(context.Background(), host)) + require.NoError(t, secondRcvr.Shutdown(context.Background())) + }) + } +} diff --git a/scraper/zookeeperscraper/generated_package_test.go b/scraper/zookeeperscraper/generated_package_test.go new file mode 100644 index 000000000000..bf88a1698c5e --- /dev/null +++ b/scraper/zookeeperscraper/generated_package_test.go @@ -0,0 +1,13 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package zookeeperscraper + +import ( + "testing" + + "go.uber.org/goleak" +) + +func TestMain(m *testing.M) { + goleak.VerifyTestMain(m) +} diff --git a/scraper/zookeeperscraper/go.mod b/scraper/zookeeperscraper/go.mod new file mode 100644 index 000000000000..36c4184faf91 --- /dev/null +++ b/scraper/zookeeperscraper/go.mod @@ -0,0 +1,67 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper + +go 1.22.0 + +require ( + github.com/google/go-cmp v0.6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 + github.com/stretchr/testify v1.10.0 + go.opentelemetry.io/collector/component v0.118.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/component/componenttest v0.118.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/config/confignet v1.24.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/confmap v1.24.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/filter v0.118.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/pdata v1.24.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4 + go.opentelemetry.io/collector/scraper/scrapertest v0.118.1-0.20250130000211-c119b2a55eb4 + go.uber.org/goleak v1.3.0 + go.uber.org/zap v1.27.0 +) + +require ( + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/gogo/protobuf v1.3.2 // 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/knadh/koanf/maps v0.1.1 // indirect + github.com/knadh/koanf/providers/confmap v0.1.0 // indirect + github.com/knadh/koanf/v2 v2.1.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.2 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.118.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/collector/featuregate v1.24.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/collector/pipeline v0.118.1-0.20250130000211-c119b2a55eb4 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +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 + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common diff --git a/scraper/zookeeperscraper/go.sum b/scraper/zookeeperscraper/go.sum new file mode 100644 index 000000000000..13ef0f10f80b --- /dev/null +++ b/scraper/zookeeperscraper/go.sum @@ -0,0 +1,138 @@ +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/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/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/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.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +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/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/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= +github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= +github.com/knadh/koanf/v2 v2.1.2 h1:I2rtLRqXRy1p01m/utEtpZSSA6dcJbgGVuE27kW2PzQ= +github.com/knadh/koanf/v2 v2.1.2/go.mod h1:Gphfaen0q1Fc1HTgJgSTC4oRX9R2R5ErYMZJy8fLJBo= +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 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +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/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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +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.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/component v0.118.1-0.20250130000211-c119b2a55eb4 h1:NUVBjiZNGbfhbPk1LB956X197n4/OrUtuOqq0XlmMyQ= +go.opentelemetry.io/collector/component v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:X6S0R6vXECThDa1q+m682asO/WEfMWIMeafJsFidr3E= +go.opentelemetry.io/collector/component/componenttest v0.118.1-0.20250130000211-c119b2a55eb4 h1:77B30QO8IrBUtD3mhvq4g1IiYDXerFb35g91+lK14Wk= +go.opentelemetry.io/collector/component/componenttest v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:VyxLB3apQi4ureRTv8HhSGrKpimubvgWs1yiXMubYmc= +go.opentelemetry.io/collector/config/confignet v1.24.1-0.20250130000211-c119b2a55eb4 h1:kfEd3QcDgvPNRuHkBMtElECP5uM0kDRWuIZVhQr1+R0= +go.opentelemetry.io/collector/config/confignet v1.24.1-0.20250130000211-c119b2a55eb4/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= +go.opentelemetry.io/collector/config/configtelemetry v0.118.1-0.20250130000211-c119b2a55eb4 h1:Cr/TN9njhCCu6YdqkWaNvQlSZVLI/W/EpWawGGymZgI= +go.opentelemetry.io/collector/config/configtelemetry v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.24.1-0.20250130000211-c119b2a55eb4 h1:XMGNUDNAMmlGVGjTQgG9BCh1WOKSOZQSER47ZRi2gWk= +go.opentelemetry.io/collector/confmap v1.24.1-0.20250130000211-c119b2a55eb4/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/featuregate v1.24.1-0.20250130000211-c119b2a55eb4 h1:FQaYa9hV8DlUwV7NCdegMQTXCFvTjfx5kKM2MnjT6YI= +go.opentelemetry.io/collector/featuregate v1.24.1-0.20250130000211-c119b2a55eb4/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/filter v0.118.1-0.20250130000211-c119b2a55eb4 h1:6TGNOGYpV8hwC/u57/7tEvARDjjNozRamskRjHzAR9U= +go.opentelemetry.io/collector/filter v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:Pgii0Ad2PXdxYSYYqki6Mr4gZdueJG9rDOiaB3fXf3Q= +go.opentelemetry.io/collector/pdata v1.24.1-0.20250130000211-c119b2a55eb4 h1:jMNwHuYLgYKbBdv4m52lD22sqPI7tnC0uNd/QrjVANA= +go.opentelemetry.io/collector/pdata v1.24.1-0.20250130000211-c119b2a55eb4/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pipeline v0.118.1-0.20250130000211-c119b2a55eb4 h1:Zv0i8l1HzArbqEyOF3hSJuaIQixLDScry/vhwnD19xw= +go.opentelemetry.io/collector/pipeline v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4 h1:M4kVV9p80w+NPGR5IffzKwlOAH2UCQZdaYB+sSg0TKQ= +go.opentelemetry.io/collector/scraper v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:3emjr1Or5hqINEzb5848fDpZguQQqwQ3ES44sASQGUg= +go.opentelemetry.io/collector/scraper/scrapertest v0.118.1-0.20250130000211-c119b2a55eb4 h1:tNlNF+T+ktGLtcEdWSB4BW0NHnzqIHWavOp1wwXuvnw= +go.opentelemetry.io/collector/scraper/scrapertest v0.118.1-0.20250130000211-c119b2a55eb4/go.mod h1:r0lzMsazeHI+Rs4oHjTIeaB4fMIidjePZHQxOCP9RrA= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +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= +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/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-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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +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-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.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +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= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_config.go b/scraper/zookeeperscraper/internal/metadata/generated_config.go similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/generated_config.go rename to scraper/zookeeperscraper/internal/metadata/generated_config.go diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_config_test.go b/scraper/zookeeperscraper/internal/metadata/generated_config_test.go similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/generated_config_test.go rename to scraper/zookeeperscraper/internal/metadata/generated_config_test.go diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_metrics.go b/scraper/zookeeperscraper/internal/metadata/generated_metrics.go similarity index 99% rename from receiver/zookeeperreceiver/internal/metadata/generated_metrics.go rename to scraper/zookeeperscraper/internal/metadata/generated_metrics.go index 0ee553cb4f1a..56d0815ea457 100644 --- a/receiver/zookeeperreceiver/internal/metadata/generated_metrics.go +++ b/scraper/zookeeperscraper/internal/metadata/generated_metrics.go @@ -9,7 +9,7 @@ import ( "go.opentelemetry.io/collector/filter" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/receiver" + "go.opentelemetry.io/collector/scraper" ) // AttributeDirection specifies the value direction attribute. @@ -919,7 +919,7 @@ func WithStartTime(startTime pcommon.Timestamp) MetricBuilderOption { mb.startTime = startTime }) } -func NewMetricsBuilder(mbc MetricsBuilderConfig, settings receiver.Settings, options ...MetricBuilderOption) *MetricsBuilder { +func NewMetricsBuilder(mbc MetricsBuilderConfig, settings scraper.Settings, options ...MetricBuilderOption) *MetricsBuilder { mb := &MetricsBuilder{ config: mbc, startTime: pcommon.NewTimestampFromTime(time.Now()), @@ -1022,7 +1022,7 @@ func WithStartTimeOverride(start pcommon.Timestamp) ResourceMetricsOption { func (mb *MetricsBuilder) EmitForResource(options ...ResourceMetricsOption) { rm := pmetric.NewResourceMetrics() ils := rm.ScopeMetrics().AppendEmpty() - ils.Scope().SetName("github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver") + ils.Scope().SetName("github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper") ils.Scope().SetVersion(mb.buildInfo.Version) ils.Metrics().EnsureCapacity(mb.metricsCapacity) mb.metricZookeeperConnectionActive.emit(ils.Metrics()) diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_metrics_test.go b/scraper/zookeeperscraper/internal/metadata/generated_metrics_test.go similarity index 99% rename from receiver/zookeeperreceiver/internal/metadata/generated_metrics_test.go rename to scraper/zookeeperscraper/internal/metadata/generated_metrics_test.go index f437a201045f..3d6f5a199598 100644 --- a/receiver/zookeeperreceiver/internal/metadata/generated_metrics_test.go +++ b/scraper/zookeeperscraper/internal/metadata/generated_metrics_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/receiver/receivertest" + "go.opentelemetry.io/collector/scraper/scrapertest" "go.uber.org/zap" "go.uber.org/zap/zaptest/observer" ) @@ -57,7 +57,7 @@ func TestMetricsBuilder(t *testing.T) { start := pcommon.Timestamp(1_000_000_000) ts := pcommon.Timestamp(1_000_001_000) observedZapCore, observedLogs := observer.New(zap.WarnLevel) - settings := receivertest.NewNopSettings() + settings := scrapertest.NewNopSettings() settings.Logger = zap.New(observedZapCore) mb := NewMetricsBuilder(loadMetricsBuilderConfig(t, tt.name), settings, WithStartTime(start)) diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_resource.go b/scraper/zookeeperscraper/internal/metadata/generated_resource.go similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/generated_resource.go rename to scraper/zookeeperscraper/internal/metadata/generated_resource.go diff --git a/receiver/zookeeperreceiver/internal/metadata/generated_resource_test.go b/scraper/zookeeperscraper/internal/metadata/generated_resource_test.go similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/generated_resource_test.go rename to scraper/zookeeperscraper/internal/metadata/generated_resource_test.go diff --git a/scraper/zookeeperscraper/internal/metadata/generated_status.go b/scraper/zookeeperscraper/internal/metadata/generated_status.go new file mode 100644 index 000000000000..275df5a7500b --- /dev/null +++ b/scraper/zookeeperscraper/internal/metadata/generated_status.go @@ -0,0 +1,16 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package metadata + +import ( + "go.opentelemetry.io/collector/component" +) + +var ( + Type = component.MustNewType("zookeeper") + ScopeName = "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" +) + +const ( + MetricsStability = component.StabilityLevelAlpha +) diff --git a/receiver/zookeeperreceiver/internal/metadata/package_test.go b/scraper/zookeeperscraper/internal/metadata/package_test.go similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/package_test.go rename to scraper/zookeeperscraper/internal/metadata/package_test.go diff --git a/receiver/zookeeperreceiver/internal/metadata/testdata/config.yaml b/scraper/zookeeperscraper/internal/metadata/testdata/config.yaml similarity index 100% rename from receiver/zookeeperreceiver/internal/metadata/testdata/config.yaml rename to scraper/zookeeperscraper/internal/metadata/testdata/config.yaml diff --git a/scraper/zookeeperscraper/metadata.yaml b/scraper/zookeeperscraper/metadata.yaml new file mode 100644 index 000000000000..97943d2a3cc7 --- /dev/null +++ b/scraper/zookeeperscraper/metadata.yaml @@ -0,0 +1,159 @@ +type: zookeeper + +status: + class: scraper + stability: + alpha: [metrics] + distributions: [contrib] + codeowners: + active: [djaglowski] + seeking_new: true + +resource_attributes: + server.state: + description: State of the Zookeeper server (leader, standalone or follower). + enabled: true + type: string + zk.version: + description: Zookeeper version of the instance. + enabled: true + type: string + +attributes: + state: + description: State of followers + type: string + enum: + - synced + - unsynced + direction: + description: State of a packet based on io direction. + type: string + enum: + - received + - sent + +metrics: + zookeeper.follower.count: + enabled: true + description: The number of followers. Only exposed by the leader. + unit: "{followers}" + attributes: [state] + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.sync.pending: + enabled: true + description: The number of pending syncs from the followers. Only exposed by the leader. + unit: "{syncs}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.latency.avg: + enabled: true + description: Average time in milliseconds for requests to be processed. + unit: ms + gauge: + value_type: int + zookeeper.latency.max: + enabled: true + description: Maximum time in milliseconds for requests to be processed. + unit: ms + gauge: + value_type: int + zookeeper.latency.min: + enabled: true + description: Minimum time in milliseconds for requests to be processed. + unit: ms + gauge: + value_type: int + zookeeper.connection.active: + enabled: true + description: Number of active clients connected to a ZooKeeper server. + unit: "{connections}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.request.active: + enabled: true + description: Number of currently executing requests. + unit: "{requests}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.znode.count: + enabled: true + description: Number of z-nodes that a ZooKeeper server has in its data tree. + unit: "{znodes}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.watch.count: + enabled: true + description: Number of watches placed on Z-Nodes on a ZooKeeper server. + unit: "{watches}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.data_tree.ephemeral_node.count: + enabled: true + description: Number of ephemeral nodes that a ZooKeeper server has in its data tree. + unit: "{nodes}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.data_tree.size: + enabled: true + description: Size of data in bytes that a ZooKeeper server has in its data tree. + unit: By + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.file_descriptor.open: + enabled: true + description: Number of file descriptors that a ZooKeeper server has open. + unit: "{file_descriptors}" + sum: + monotonic: false + aggregation_temporality: cumulative + value_type: int + zookeeper.file_descriptor.limit: + enabled: true + description: Maximum number of file descriptors that a ZooKeeper server can open. + unit: "{file_descriptors}" + gauge: + value_type: int + zookeeper.packet.count: + enabled: true + description: The number of ZooKeeper packets received or sent by a server. + unit: "{packets}" + attributes: [direction] + sum: + value_type: int + monotonic: true + aggregation_temporality: cumulative + zookeeper.fsync.exceeded_threshold.count: + enabled: true + description: Number of times fsync duration has exceeded warning threshold. + unit: "{events}" + sum: + value_type: int + monotonic: true + aggregation_temporality: cumulative + zookeeper.ruok: + enabled: true + description: Response from zookeeper ruok command + unit: "1" + gauge: + value_type: int + +tests: + config: diff --git a/receiver/zookeeperreceiver/metrics.go b/scraper/zookeeperscraper/metrics.go similarity index 95% rename from receiver/zookeeperreceiver/metrics.go rename to scraper/zookeeperscraper/metrics.go index 86ae2eeb0049..ae73df4e4228 100644 --- a/receiver/zookeeperreceiver/metrics.go +++ b/scraper/zookeeperscraper/metrics.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package zookeeperreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver" +package zookeeperscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" import ( "fmt" @@ -9,7 +9,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" ) // Constants to define entries in the output of "mntr" command. diff --git a/receiver/zookeeperreceiver/scraper.go b/scraper/zookeeperscraper/scraper.go similarity index 83% rename from receiver/zookeeperreceiver/scraper.go rename to scraper/zookeeperscraper/scraper.go index 17062a3784a8..668cd5f4263f 100644 --- a/receiver/zookeeperreceiver/scraper.go +++ b/scraper/zookeeperscraper/scraper.go @@ -1,24 +1,24 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package zookeeperreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver" +package zookeeperscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper" import ( "bufio" "context" - "errors" "fmt" "net" "regexp" "strconv" "time" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/receiver" + "go.opentelemetry.io/collector/scraper" "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" ) var zookeeperFormatRE = regexp.MustCompile(`(^zk_\w+)\s+([\w\.\-]+)`) @@ -29,6 +29,7 @@ const ( ) type zookeeperMetricsScraper struct { + component.StartFunc logger *zap.Logger config *Config cancel context.CancelFunc @@ -41,21 +42,8 @@ type zookeeperMetricsScraper struct { sendCmd func(net.Conn, string) (*bufio.Scanner, error) } -func (z *zookeeperMetricsScraper) Name() string { - return metadata.Type.String() -} - -func newZookeeperMetricsScraper(settings receiver.Settings, config *Config) (*zookeeperMetricsScraper, error) { - _, _, err := net.SplitHostPort(config.TCPAddrConfig.Endpoint) - if err != nil { - return nil, err - } - - if config.Timeout <= 0 { - return nil, errors.New("timeout must be a positive duration") - } - - z := &zookeeperMetricsScraper{ +func newZookeeperMetricsScraper(settings scraper.Settings, config *Config) *zookeeperMetricsScraper { + return &zookeeperMetricsScraper{ logger: settings.Logger, config: config, rb: metadata.NewResourceBuilder(config.ResourceAttributes), @@ -64,11 +52,9 @@ func newZookeeperMetricsScraper(settings receiver.Settings, config *Config) (*zo setConnectionDeadline: setConnectionDeadline, sendCmd: sendCmd, } - - return z, nil } -func (z *zookeeperMetricsScraper) shutdown(_ context.Context) error { +func (z *zookeeperMetricsScraper) Shutdown(context.Context) error { if z.cancel != nil { z.cancel() z.cancel = nil @@ -76,7 +62,7 @@ func (z *zookeeperMetricsScraper) shutdown(_ context.Context) error { return nil } -func (z *zookeeperMetricsScraper) scrape(ctx context.Context) (pmetric.Metrics, error) { +func (z *zookeeperMetricsScraper) ScrapeMetrics(ctx context.Context) (pmetric.Metrics, error) { responseMntr, err := z.runCommand(ctx, "mntr") if err != nil { return pmetric.NewMetrics(), err diff --git a/receiver/zookeeperreceiver/scraper_test.go b/scraper/zookeeperscraper/scraper_test.go similarity index 91% rename from receiver/zookeeperreceiver/scraper_test.go rename to scraper/zookeeperscraper/scraper_test.go index cee0c9cacfea..4a16ad1dd496 100644 --- a/receiver/zookeeperreceiver/scraper_test.go +++ b/scraper/zookeeperscraper/scraper_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package zookeeperreceiver +package zookeeperscraper import ( "bufio" @@ -16,8 +16,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/receiver/receivertest" + "go.opentelemetry.io/collector/scraper/scrapertest" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" @@ -25,7 +26,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pmetrictest" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper/internal/metadata" ) type logMsg struct { @@ -290,12 +291,10 @@ func TestZookeeperMetricsScraperScrape(t *testing.T) { } core, observedLogs := observer.New(zap.DebugLevel) - settings := receivertest.NewNopSettings() + settings := scrapertest.NewNopSettings() settings.Logger = zap.New(core) - z, err := newZookeeperMetricsScraper(settings, cfg) - require.NoError(t, err) - require.Equal(t, "zookeeper", z.Name()) + z := newZookeeperMetricsScraper(settings, cfg) if tt.setConnectionDeadline != nil { z.setConnectionDeadline = tt.setConnectionDeadline } @@ -307,10 +306,11 @@ func TestZookeeperMetricsScraperScrape(t *testing.T) { if tt.sendCmd != nil { z.sendCmd = tt.sendCmd } - ctx, cancel := context.WithTimeout(context.Background(), z.config.Timeout) + require.NoError(t, z.Start(context.Background(), componenttest.NewNopHost())) + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - actualMetrics, err := z.scrape(ctx) - require.NoError(t, z.shutdown(ctx)) + actualMetrics, err := z.ScrapeMetrics(ctx) + require.NoError(t, z.Shutdown(context.Background())) require.Equal(t, len(tt.expectedLogs), observedLogs.Len()) for i, log := range tt.expectedLogs { @@ -323,7 +323,7 @@ func TestZookeeperMetricsScraperScrape(t *testing.T) { require.Error(t, err) require.Equal(t, pmetric.NewMetrics(), actualMetrics) } - require.NoError(t, z.shutdown(ctx)) + require.NoError(t, z.Shutdown(context.Background())) return } @@ -339,9 +339,9 @@ func TestZookeeperMetricsScraperScrape(t *testing.T) { func TestZookeeperShutdownBeforeScrape(t *testing.T) { cfg := createDefaultConfig().(*Config) - z, err := newZookeeperMetricsScraper(receivertest.NewNopSettings(), cfg) - require.NoError(t, err) - require.NoError(t, z.shutdown(context.Background())) + z := newZookeeperMetricsScraper(scrapertest.NewNopSettings(), cfg) + require.NoError(t, z.Start(context.Background(), componenttest.NewNopHost())) + require.NoError(t, z.Shutdown(context.Background())) } type mockedServer struct { diff --git a/receiver/zookeeperreceiver/testdata/mntr-3.4.14 b/scraper/zookeeperscraper/testdata/mntr-3.4.14 similarity index 100% rename from receiver/zookeeperreceiver/testdata/mntr-3.4.14 rename to scraper/zookeeperscraper/testdata/mntr-3.4.14 diff --git a/receiver/zookeeperreceiver/testdata/mntr-3.5.5 b/scraper/zookeeperscraper/testdata/mntr-3.5.5 similarity index 100% rename from receiver/zookeeperreceiver/testdata/mntr-3.5.5 rename to scraper/zookeeperscraper/testdata/mntr-3.5.5 diff --git a/receiver/zookeeperreceiver/testdata/mntr-unexpected_line_format b/scraper/zookeeperscraper/testdata/mntr-unexpected_line_format similarity index 100% rename from receiver/zookeeperreceiver/testdata/mntr-unexpected_line_format rename to scraper/zookeeperscraper/testdata/mntr-unexpected_line_format diff --git a/receiver/zookeeperreceiver/testdata/mntr-unexpected_value_type b/scraper/zookeeperscraper/testdata/mntr-unexpected_value_type similarity index 100% rename from receiver/zookeeperreceiver/testdata/mntr-unexpected_value_type rename to scraper/zookeeperscraper/testdata/mntr-unexpected_value_type diff --git a/receiver/zookeeperreceiver/testdata/ruok-invalid b/scraper/zookeeperscraper/testdata/ruok-invalid similarity index 100% rename from receiver/zookeeperreceiver/testdata/ruok-invalid rename to scraper/zookeeperscraper/testdata/ruok-invalid diff --git a/receiver/zookeeperreceiver/testdata/ruok-null b/scraper/zookeeperscraper/testdata/ruok-null similarity index 100% rename from receiver/zookeeperreceiver/testdata/ruok-null rename to scraper/zookeeperscraper/testdata/ruok-null diff --git a/receiver/zookeeperreceiver/testdata/ruok-valid b/scraper/zookeeperscraper/testdata/ruok-valid similarity index 100% rename from receiver/zookeeperreceiver/testdata/ruok-valid rename to scraper/zookeeperscraper/testdata/ruok-valid diff --git a/receiver/zookeeperreceiver/testdata/scraper/correctness-ruok.yaml b/scraper/zookeeperscraper/testdata/scraper/correctness-ruok.yaml similarity index 100% rename from receiver/zookeeperreceiver/testdata/scraper/correctness-ruok.yaml rename to scraper/zookeeperscraper/testdata/scraper/correctness-ruok.yaml diff --git a/receiver/zookeeperreceiver/testdata/scraper/correctness-v3.4.14.yaml b/scraper/zookeeperscraper/testdata/scraper/correctness-v3.4.14.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/correctness-v3.4.14.yaml rename to scraper/zookeeperscraper/testdata/scraper/correctness-v3.4.14.yaml index 0bd76f06ddbc..f2660bab6743 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/correctness-v3.4.14.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/correctness-v3.4.14.yaml @@ -144,5 +144,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/correctness-v3.5.5.yaml b/scraper/zookeeperscraper/testdata/scraper/correctness-v3.5.5.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/correctness-v3.5.5.yaml rename to scraper/zookeeperscraper/testdata/scraper/correctness-v3.5.5.yaml index 68f28a967bda..54352a2a63a5 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/correctness-v3.5.5.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/correctness-v3.5.5.yaml @@ -163,5 +163,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/disable-watches.yaml b/scraper/zookeeperscraper/testdata/scraper/disable-watches.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/disable-watches.yaml rename to scraper/zookeeperscraper/testdata/scraper/disable-watches.yaml index 27def9b6fb87..6102123261c5 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/disable-watches.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/disable-watches.yaml @@ -135,5 +135,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/error-closing-connection.yaml b/scraper/zookeeperscraper/testdata/scraper/error-closing-connection.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/error-closing-connection.yaml rename to scraper/zookeeperscraper/testdata/scraper/error-closing-connection.yaml index 0bd76f06ddbc..f2660bab6743 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/error-closing-connection.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/error-closing-connection.yaml @@ -144,5 +144,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/error-setting-connection-deadline.yaml b/scraper/zookeeperscraper/testdata/scraper/error-setting-connection-deadline.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/error-setting-connection-deadline.yaml rename to scraper/zookeeperscraper/testdata/scraper/error-setting-connection-deadline.yaml index 0bd76f06ddbc..f2660bab6743 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/error-setting-connection-deadline.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/error-setting-connection-deadline.yaml @@ -144,5 +144,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/invalid-ruok.yaml b/scraper/zookeeperscraper/testdata/scraper/invalid-ruok.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/invalid-ruok.yaml rename to scraper/zookeeperscraper/testdata/scraper/invalid-ruok.yaml index ac65bdd8f075..5f869053119f 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/invalid-ruok.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/invalid-ruok.yaml @@ -136,5 +136,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/receiver/zookeeperreceiver/testdata/scraper/null-ruok.yaml b/scraper/zookeeperscraper/testdata/scraper/null-ruok.yaml similarity index 99% rename from receiver/zookeeperreceiver/testdata/scraper/null-ruok.yaml rename to scraper/zookeeperscraper/testdata/scraper/null-ruok.yaml index 68f140fc11e0..48401a26c051 100644 --- a/receiver/zookeeperreceiver/testdata/scraper/null-ruok.yaml +++ b/scraper/zookeeperscraper/testdata/scraper/null-ruok.yaml @@ -144,5 +144,5 @@ resourceMetrics: timeUnixNano: "2000000" unit: '{znodes}' scope: - name: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + name: github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper version: latest diff --git a/versions.yaml b/versions.yaml index 00053edafaa4..bb66fe86ebe4 100644 --- a/versions.yaml +++ b/versions.yaml @@ -299,6 +299,7 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver + - github.com/open-telemetry/opentelemetry-collector-contrib/scraper/zookeeperscraper - github.com/open-telemetry/opentelemetry-collector-contrib/testbed - github.com/open-telemetry/opentelemetry-collector-contrib/testbed/mockdatasenders/mockdatadogagentexporter