diff --git a/Dockerfile b/Dockerfile index 7306745..46b53d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.21.11 as builder +FROM golang:1.22.7 as builder WORKDIR /sidecar COPY . . @@ -10,6 +10,7 @@ RUN apt update && apt install -y make RUN make build FROM alpine:latest +RUN apk update && apk upgrade RUN apk add --no-cache ca-certificates COPY --from=builder /sidecar/bin/rungmpcol /rungmpcol COPY --from=builder /sidecar/bin/run-gmp-entrypoint /run-gmp-entrypoint diff --git a/collector/exporter/googlemanagedprometheusexporter/config.go b/collector/exporter/googlemanagedprometheusexporter/config.go index 0e292bc..c7befc1 100644 --- a/collector/exporter/googlemanagedprometheusexporter/config.go +++ b/collector/exporter/googlemanagedprometheusexporter/config.go @@ -9,7 +9,9 @@ import ( "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector" "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus" "go.opentelemetry.io/collector/exporter/exporterhelper" - "go.opentelemetry.io/collector/featuregate" + "go.opentelemetry.io/collector/pdata/pmetric" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus" ) // Config defines configuration for Google Cloud Managed Service for Prometheus exporter. @@ -17,8 +19,8 @@ type Config struct { GMPConfig `mapstructure:",squash"` // Timeout for all API calls. If not set, defaults to 12 seconds. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` } // GMPConfig is a subset of the collector config applicable to the GMP exporter. @@ -26,25 +28,18 @@ type GMPConfig struct { ProjectID string `mapstructure:"project"` UserAgent string `mapstructure:"user_agent"` MetricConfig MetricConfig `mapstructure:"metric"` - - // Setting UntypedDoubleExport to true makes the collector double write prometheus - // untyped metrics to GMP similar to the GMP collector. That is, it writes it once as - // a gauge with the metric name suffix `unknown` and once as a counter with the - // metric name suffix `unknown:counter`. - // For the counter, if the point value is smaller than the previous point in the series - // it is considered a reset point. - UntypedDoubleExport bool `mapstructure:"untyped_double_export"` } type MetricConfig struct { // Prefix configures the prefix of metrics sent to GoogleManagedPrometheus. Defaults to prometheus.googleapis.com. // Changing this prefix is not recommended, as it may cause metrics to not be queryable with promql in the Cloud Monitoring UI. - Prefix string `mapstructure:"prefix"` - ClientConfig collector.ClientConfig `mapstructure:",squash"` - Config googlemanagedprometheus.Config `mapstructure:",squash"` + Prefix string `mapstructure:"prefix"` + ClientConfig collector.ClientConfig `mapstructure:",squash"` + Config googlemanagedprometheus.Config `mapstructure:",squash"` + ResourceFilters []collector.ResourceFilter `mapstructure:"resource_filters"` } -func (c *GMPConfig) toCollectorConfig() (collector.Config, error) { +func (c *GMPConfig) toCollectorConfig() collector.Config { // start with whatever the default collector config is. cfg := collector.DefaultConfig() cfg.MetricConfig.Prefix = c.MetricConfig.Prefix @@ -55,30 +50,27 @@ func (c *GMPConfig) toCollectorConfig() (collector.Config, error) { cfg.MetricConfig.InstrumentationLibraryLabels = false cfg.MetricConfig.ServiceResourceLabels = false // Update metric naming to match GMP conventions - cfg.MetricConfig.GetMetricName = c.MetricConfig.Config.GetMetricName + cfg.MetricConfig.GetMetricName = func(baseName string, metric pmetric.Metric) (string, error) { + compliantName := prometheus.BuildCompliantName(metric, "", c.MetricConfig.Config.AddMetricSuffixes) + return googlemanagedprometheus.GetMetricName(baseName, compliantName, metric) + } // Map to the prometheus_target monitored resource cfg.MetricConfig.MapMonitoredResource = c.MetricConfig.Config.MapToPrometheusTarget + cfg.MetricConfig.ExtraMetrics = c.MetricConfig.Config.ExtraMetrics cfg.MetricConfig.EnableSumOfSquaredDeviation = true // map the GMP config's fields to the collector config cfg.ProjectID = c.ProjectID cfg.UserAgent = c.UserAgent cfg.MetricConfig.ClientConfig = c.MetricConfig.ClientConfig - if c.UntypedDoubleExport { - err := featuregate.GlobalRegistry().Set("gcp.untypedDoubleExport", true) - if err != nil { - return cfg, err - } - } - - return cfg, nil + cfg.MetricConfig.ResourceFilters = c.MetricConfig.ResourceFilters + return cfg } func (cfg *Config) Validate() error { - collectorConfig, err := cfg.toCollectorConfig() - if err != nil { - return fmt.Errorf("error setting featuregate option: %w", err) + if err := collector.ValidateConfig(cfg.toCollectorConfig()); err != nil { + return fmt.Errorf("exporter settings are invalid :%w", err) } - if err := collector.ValidateConfig(collectorConfig); err != nil { + if err := cfg.MetricConfig.Config.Validate(); err != nil { return fmt.Errorf("exporter settings are invalid :%w", err) } return nil diff --git a/collector/exporter/googlemanagedprometheusexporter/config_test.go b/collector/exporter/googlemanagedprometheusexporter/config_test.go index 6997bc0..77c23e1 100644 --- a/collector/exporter/googlemanagedprometheusexporter/config_test.go +++ b/collector/exporter/googlemanagedprometheusexporter/config_test.go @@ -37,7 +37,7 @@ func TestLoadConfig(t *testing.T) { r1 := cfg.Exporters[component.NewIDWithName(metadata.Type, "customname")].(*Config) assert.Equal(t, r1, &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 20 * time.Second, }, GMPConfig: GMPConfig{ @@ -54,7 +54,7 @@ func TestLoadConfig(t *testing.T) { Prefix: "my-metric-domain.com", }, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/collector/exporter/googlemanagedprometheusexporter/factory.go b/collector/exporter/googlemanagedprometheusexporter/factory.go index c55e6eb..466770c 100644 --- a/collector/exporter/googlemanagedprometheusexporter/factory.go +++ b/collector/exporter/googlemanagedprometheusexporter/factory.go @@ -12,6 +12,7 @@ import ( "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector" "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -34,8 +35,8 @@ func NewFactory() exporter.Factory { // createDefaultConfig creates the default configuration for exporter. func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: defaultTimeout}, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: defaultTimeout}, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), GMPConfig: GMPConfig{ MetricConfig: MetricConfig{ Config: googlemanagedprometheus.DefaultConfig(), @@ -47,28 +48,26 @@ func createDefaultConfig() component.Config { // createMetricsExporter creates a metrics exporter based on this config. func createMetricsExporter( ctx context.Context, - params exporter.CreateSettings, + params exporter.Settings, cfg component.Config) (exporter.Metrics, error) { eCfg := cfg.(*Config) - - // We turn off normalization for serverless environments. - collectorConfig, err := eCfg.GMPConfig.toCollectorConfig() - if err != nil { - return nil, err - } + collectorConfig := eCfg.GMPConfig.toCollectorConfig() collectorConfig.MetricConfig.CumulativeNormalization = false - mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, collectorConfig, params.TelemetrySettings.Logger, params.BuildInfo.Version, eCfg.Timeout) + mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, collectorConfig, params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout) if err != nil { return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, params, cfg, mExp.PushMetrics, + exporterhelper.WithStart(mExp.Start), exporterhelper.WithShutdown(mExp.Shutdown), // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithQueue(eCfg.QueueSettings)) + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(eCfg.QueueSettings), + exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), + ) } diff --git a/collector/exporter/googlemanagedprometheusexporter/factory_test.go b/collector/exporter/googlemanagedprometheusexporter/factory_test.go index 5fd7c1f..bf43b04 100644 --- a/collector/exporter/googlemanagedprometheusexporter/factory_test.go +++ b/collector/exporter/googlemanagedprometheusexporter/factory_test.go @@ -30,11 +30,11 @@ func TestCreateExporter(t *testing.T) { eCfg := cfg.(*Config) eCfg.ProjectID = "test" - te, err := factory.CreateTracesExporter(ctx, exportertest.NewNopCreateSettings(), eCfg) + te, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopCreateSettings(), eCfg) + me, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, me, "failed to create metrics exporter") } diff --git a/collector/exporter/googlemanagedprometheusexporter/generated_component_test.go b/collector/exporter/googlemanagedprometheusexporter/generated_component_test.go index db599eb..d954a95 100644 --- a/collector/exporter/googlemanagedprometheusexporter/generated_component_test.go +++ b/collector/exporter/googlemanagedprometheusexporter/generated_component_test.go @@ -32,12 +32,12 @@ func TestComponentLifecycle(t *testing.T) { tests := []struct { name string - createFn func(ctx context.Context, set exporter.CreateSettings, cfg component.Config) (component.Component, error) + createFn func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) }{ { name: "metrics", - createFn: func(ctx context.Context, set exporter.CreateSettings, cfg component.Config) (component.Component, error) { + createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { return factory.CreateMetricsExporter(ctx, set, cfg) }, }, @@ -50,9 +50,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopCreateSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) @@ -93,4 +93,4 @@ func generateLifecycleTestTraces() ptrace.Traces { span.SetStartTimestamp(pcommon.NewTimestampFromTime(time.Now().Add(-1 * time.Second))) span.SetEndTimestamp(pcommon.NewTimestampFromTime(time.Now())) return traces -} +} \ No newline at end of file diff --git a/collector/internal/tools/go.mod b/collector/internal/tools/go.mod index 1ffecbe..141f7e1 100644 --- a/collector/internal/tools/go.mod +++ b/collector/internal/tools/go.mod @@ -1,7 +1,8 @@ module github.com/GoogleCloudPlatform/opentelemetry-operations-collector -go 1.21 -toolchain go1.22.5 +go 1.22.0 + +toolchain go1.23.1 require ( github.com/client9/misspell v0.3.4 @@ -55,7 +56,7 @@ require ( github.com/go-toolsmith/astp v1.1.0 // indirect github.com/go-toolsmith/strparse v1.1.0 // indirect github.com/go-toolsmith/typep v1.1.0 // indirect - github.com/go-viper/mapstructure/v2 v2.0.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gofrs/flock v0.8.1 // indirect @@ -148,7 +149,7 @@ require ( github.com/sourcegraph/go-diff v0.7.0 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect @@ -170,24 +171,24 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect - go.opentelemetry.io/collector/confmap v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1 // indirect - go.opentelemetry.io/collector/pdata v1.9.0 // indirect - go.opentelemetry.io/collector/receiver v0.102.1 // indirect - go.opentelemetry.io/collector/semconv v0.102.1 // indirect + go.opentelemetry.io/collector/confmap v1.17.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.17.0 // indirect + go.opentelemetry.io/collector/pdata v1.17.0 // indirect + go.opentelemetry.io/collector/receiver v0.111.0 // indirect + go.opentelemetry.io/collector/semconv v0.111.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/exp/typeparams v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.64.1 // indirect - google.golang.org/protobuf v1.34.1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/collector/internal/tools/go.sum b/collector/internal/tools/go.sum index 22fa329..1c4aeb0 100644 --- a/collector/internal/tools/go.sum +++ b/collector/internal/tools/go.sum @@ -125,7 +125,7 @@ github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnht github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/daixiang0/gci v0.10.1 h1:eheNA3ljF6SxnPD/vE4lCBusVHmV3Rs3dkKvFrJ7MR0= @@ -176,8 +176,8 @@ github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -200,8 +200,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= -github.com/go-viper/mapstructure/v2 v2.0.0 h1:dhn8MZ1gZ0mzeodTG3jt5Vj/o87xZKuNAprG2mQfMfc= -github.com/go-viper/mapstructure/v2 v2.0.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +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/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -362,7 +362,6 @@ github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSo github.com/hjson/hjson-go/v4 v4.0.0/go.mod h1:KaYt3bTw3zhBjYqnXkYywcYctk0A2nxeEFTse3rH13E= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= @@ -612,8 +611,8 @@ github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -690,35 +689,42 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opentelemetry.io/collector v0.102.1 h1:M/ciCcReQsSDYG9bJ2Qwqk7pQILDJ2bM/l0MdeCAvJE= -go.opentelemetry.io/collector/component v0.102.1 h1:66z+LN5dVCXhvuVKD1b56/3cYLK+mtYSLIwlskYA9IQ= -go.opentelemetry.io/collector/component v0.102.1/go.mod h1:XfkiSeImKYaewT2DavA80l0VZ3JjvGndZ8ayPXfp8d0= -go.opentelemetry.io/collector/config/configtelemetry v0.102.1 h1:f/CYcrOkaHd+COIJ2lWnEgBCHfhEycpbow4ZhrGwAlA= -go.opentelemetry.io/collector/config/configtelemetry v0.102.1/go.mod h1:WxWKNVAQJg/Io1nA3xLgn/DWLE/W1QOB2+/Js3ACi40= -go.opentelemetry.io/collector/confmap v0.102.1 h1:wZuH+d/P11Suz8wbp+xQCJ0BPE9m5pybtUe74c+rU7E= -go.opentelemetry.io/collector/confmap v0.102.1/go.mod h1:KgpS7UxH5rkd69CzAzlY2I1heH8Z7eNCZlHmwQBMxNg= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1 h1:nPhOtUbJHfTDqZqtvU76HmEz9iV4O/4/DSCZdnm0mpY= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1/go.mod h1:eJnr6YDQiocmoRBvsKj33bIc4wysq5hy/jmOApv1dSM= -go.opentelemetry.io/collector/consumer v0.102.1 h1:0CkgHhxwx4lI/m+hWjh607xyjooW5CObZ8hFQy5vvo0= -go.opentelemetry.io/collector/consumer v0.102.1/go.mod h1:HoXqmrRV13jLnP3/Gg3fYNdRkDPoO7UW58hKiLyFF60= -go.opentelemetry.io/collector/pdata v1.9.0 h1:qyXe3HEVYYxerIYu0rzgo1Tx2d1Zs6iF+TCckbHLFOw= -go.opentelemetry.io/collector/pdata v1.9.0/go.mod h1:vk7LrfpyVpGZrRWcpjyy0DDZzL3SZiYMQxfap25551w= -go.opentelemetry.io/collector/receiver v0.102.1 h1:353t4U3o0RdU007JcQ4sRRzl72GHCJZwXDr8cCOcEbI= -go.opentelemetry.io/collector/receiver v0.102.1/go.mod h1:pYjMzUkvUlxJ8xt+VbI1to8HMtVlv8AW/K/2GQQOTB0= -go.opentelemetry.io/collector/semconv v0.102.1 h1:zLhz2Gu//j7HHESFTGTrfKIaoS4r+lZFQDnGCOThggo= -go.opentelemetry.io/collector/semconv v0.102.1/go.mod h1:yMVUCNoQPZVq/IPfrHrnntZTWsLf5YGZ7qwKulIl5hw= -go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= -go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= -go.opentelemetry.io/otel/exporters/prometheus v0.49.0 h1:Er5I1g/YhfYv9Affk9nJLfH/+qCCVVg1f2R9AbJfqDQ= -go.opentelemetry.io/otel/exporters/prometheus v0.49.0/go.mod h1:KfQ1wpjf3zsHjzP149P4LyAwWRupc6c7t1ZJ9eXpKQM= -go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= -go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= -go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI= -go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A= -go.opentelemetry.io/otel/sdk/metric v1.27.0 h1:5uGNOlpXi+Hbo/DRoI31BSb1v+OGcpv2NemcCrOL8gI= -go.opentelemetry.io/otel/sdk/metric v1.27.0/go.mod h1:we7jJVrYN2kh3mVBlswtPU22K0SA+769l93J6bsyvqw= -go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= -go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= +go.opentelemetry.io/collector/component v0.111.0 h1:AiDIrhkq6sbHnU9Rhq6t4DC4Gal43bryd1+NTJNojAQ= +go.opentelemetry.io/collector/component v0.111.0/go.mod h1:wYwbRuhzK5bm5x1bX+ukm1tT50QXYLs4MKwzyfiVGoE= +go.opentelemetry.io/collector/config/configtelemetry v0.111.0 h1:Q3TJRM2A3FIDjIvzWa3uFArsdFN0I/0GzcWynHjC+oY= +go.opentelemetry.io/collector/config/configtelemetry v0.111.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.17.0 h1:5UKHtPGtzNGaOGBsJ6aFpvsKElNUXOVuErBfC0eTWLM= +go.opentelemetry.io/collector/confmap v1.17.0/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.17.0 h1:UyMO2ddtO7GKuFjrkR51IxmeBuRJrb1KKatu60oosxI= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.17.0/go.mod h1:SCJ8zvuuaOwQJk+zI87XSuc+HbquP2tsYb9aPlfeeRg= +go.opentelemetry.io/collector/consumer v0.111.0 h1:d2kRTDnu+p0q4D5fTU+Pk59KRm5F2JRYrk30Ep5j0xI= +go.opentelemetry.io/collector/consumer v0.111.0/go.mod h1:FjY9bPbVkFZLKKxnNbGsIqaz3lcFDKGf+7wxA1uCugs= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.111.0 h1:w9kGdTaXdwD/ZtbxVOvuYQEFKBX3THQgEz/enQnMt9s= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.111.0/go.mod h1:Ebt1jDdrQb3G2sNHrWHNr5wS3UJ9k3h8LHCqUPTbxLY= +go.opentelemetry.io/collector/internal/globalsignal v0.111.0 h1:oq0nSD+7K2Q1Fx5d3s6lPRdKZeTL0FEg4sIaR7ZJzIc= +go.opentelemetry.io/collector/internal/globalsignal v0.111.0/go.mod h1:GqMXodPWOxK5uqpX8MaMXC2389y2XJTa5nPwf8FYDK8= +go.opentelemetry.io/collector/pdata v1.17.0 h1:z8cjjT2FThAehWu5fbF48OnZyK5q8xd1UhC4XszDo0w= +go.opentelemetry.io/collector/pdata v1.17.0/go.mod h1:yZaQ9KZAm/qie96LTygRKxOXMq0/54h8OW7330ycuvQ= +go.opentelemetry.io/collector/pdata/pprofile v0.111.0 h1:4if6rItcX8a6X4bIh6lwQnlE+ncKXQaIim7F5O7ZA58= +go.opentelemetry.io/collector/pdata/pprofile v0.111.0/go.mod h1:iBwrNFB6za1qspy46ZE41H3MmcxUogn2AuYbrWdoMd8= +go.opentelemetry.io/collector/pipeline v0.111.0 h1:qENDGvWWnDXguEfmj8eO+5kr8Y6XFKytU5SuMinz3Ls= +go.opentelemetry.io/collector/pipeline v0.111.0/go.mod h1:ZZMU3019geEU283rTW5M/LkcqLqHp/YI2Nl6/Vp68PQ= +go.opentelemetry.io/collector/receiver v0.111.0 h1:6cRHZ9cUxYfRPkArUCkIhoo7Byf6tq/2qvbMIKlhG3s= +go.opentelemetry.io/collector/receiver v0.111.0/go.mod h1:QSl/n9ikDP+6n39QcRY/VLjwQI0qbT1RQp512uBQl3g= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.111.0 h1:oYLAdGMQQR7gB6wVkbV0G4EMsrmiOs3O0qf3hh/3avw= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.111.0/go.mod h1:M/OfdEGnvyB+fSTSW4RPKj5N06FXL8oKSIf60FlrKmM= +go.opentelemetry.io/collector/semconv v0.111.0 h1:ELleMtLBzeZ3xhfhYPmFcLc0hJMqRxhOB0eY60WLivw= +go.opentelemetry.io/collector/semconv v0.111.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= +go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= +go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= +go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= +go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE= +go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg= +go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM= +go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y= +go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= +go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= @@ -833,8 +839,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -858,8 +864,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -933,8 +939,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -956,8 +962,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1106,8 +1112,8 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f h1:cUMEy+8oS78BWIH9OWazBkzbr090Od9tWBNtZHkOhf0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1128,8 +1134,8 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA= -google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1142,8 +1148,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/receiver/prometheusreceiver/config.go b/collector/receiver/prometheusreceiver/config.go index 0b9238a..bbe8014 100644 --- a/collector/receiver/prometheusreceiver/config.go +++ b/collector/receiver/prometheusreceiver/config.go @@ -83,12 +83,6 @@ type Config struct { BufferPeriod time.Duration `mapstructure:"buffer_period"` BufferCount int `mapstructure:"buffer_count"` - // PreserveUntyped is a setting that lets the collector preserve the untypedness of - // untyped metrics as a metric attribute. If set, all untyped prometheus metrics from - // this receiver will have an additional metric attribute called "prometheus_untyped_metric" - // that is a boolean value set to true. - PreserveUntyped bool `mapstructure:"preserve_untyped"` - TargetAllocator *targetAllocator `mapstructure:"target_allocator"` // ConfigPlaceholder is just an entry to make the configuration pass a check diff --git a/collector/receiver/prometheusreceiver/config_test.go b/collector/receiver/prometheusreceiver/config_test.go index 4c342cd..f213887 100644 --- a/collector/receiver/prometheusreceiver/config_test.go +++ b/collector/receiver/prometheusreceiver/config_test.go @@ -38,14 +38,14 @@ func TestLoadConfig(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) r0 := cfg.(*Config) assert.Equal(t, r0, factory.CreateDefaultConfig()) sub, err = cm.Sub(component.NewIDWithName(metadata.Type, "customname").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) r1 := cfg.(*Config) assert.Equal(t, r1.PrometheusConfig.ScrapeConfigs[0].JobName, "demo") @@ -70,7 +70,7 @@ func TestLoadTargetAllocatorConfig(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) r0 := cfg.(*Config) assert.NotNil(t, r0.PrometheusConfig) @@ -81,7 +81,7 @@ func TestLoadTargetAllocatorConfig(t *testing.T) { sub, err = cm.Sub(component.NewIDWithName(metadata.Type, "withScrape").String()) require.NoError(t, err) cfg = factory.CreateDefaultConfig() - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) r1 := cfg.(*Config) assert.NotNil(t, r0.PrometheusConfig) @@ -96,7 +96,7 @@ func TestLoadTargetAllocatorConfig(t *testing.T) { sub, err = cm.Sub(component.NewIDWithName(metadata.Type, "withOnlyScrape").String()) require.NoError(t, err) cfg = factory.CreateDefaultConfig() - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) r2 := cfg.(*Config) assert.Equal(t, 1, len(r2.PrometheusConfig.ScrapeConfigs)) @@ -112,7 +112,7 @@ func TestLoadConfigFailsOnUnknownSection(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.Error(t, component.UnmarshalConfig(sub, cfg)) + require.Error(t, sub.Unmarshal(cfg)) } // As one of the config parameters is consuming prometheus @@ -126,7 +126,7 @@ func TestLoadConfigFailsOnUnknownPrometheusSection(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.Error(t, component.UnmarshalConfig(sub, cfg)) + require.Error(t, sub.Unmarshal(cfg)) } // Renaming is not allowed @@ -138,7 +138,7 @@ func TestLoadConfigFailsOnRenameDisallowed(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) assert.Error(t, component.ValidateConfig(cfg)) } @@ -151,7 +151,7 @@ func TestRejectUnsupportedPrometheusFeatures(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") @@ -176,7 +176,7 @@ func TestNonExistentAuthCredentialsFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") @@ -195,7 +195,7 @@ func TestTLSConfigNonExistentCertFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") @@ -214,7 +214,7 @@ func TestTLSConfigNonExistentKeyFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") @@ -233,7 +233,7 @@ func TestTLSConfigCertFileWithoutKeyFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - err = component.UnmarshalConfig(sub, cfg) + err = sub.Unmarshal(cfg) if assert.Error(t, err) { assert.Contains(t, err.Error(), "exactly one of key or key_file must be configured when a client certificate is configured") } @@ -247,7 +247,7 @@ func TestTLSConfigKeyFileWithoutCertFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - err = component.UnmarshalConfig(sub, cfg) + err = sub.Unmarshal(cfg) if assert.Error(t, err) { assert.Contains(t, err.Error(), "exactly one of cert or cert_file must be configured when a client key is configured") } @@ -261,7 +261,7 @@ func TestKubernetesSDConfigWithoutKeyFile(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - err = component.UnmarshalConfig(sub, cfg) + err = sub.Unmarshal(cfg) if assert.Error(t, err) { assert.Contains(t, err.Error(), "exactly one of key or key_file must be configured when a client certificate is configured") } @@ -275,7 +275,7 @@ func TestFileSDConfigJsonNilTargetGroup(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") @@ -294,7 +294,7 @@ func TestFileSDConfigYamlNilTargetGroup(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - require.NoError(t, component.UnmarshalConfig(sub, cfg)) + require.NoError(t, sub.Unmarshal(cfg)) err = component.ValidateConfig(cfg) require.NotNil(t, err, "Expected a non-nil error") diff --git a/collector/receiver/prometheusreceiver/factory.go b/collector/receiver/prometheusreceiver/factory.go index 43c96f8..439ba64 100644 --- a/collector/receiver/prometheusreceiver/factory.go +++ b/collector/receiver/prometheusreceiver/factory.go @@ -55,7 +55,7 @@ func createDefaultConfig() component.Config { func createMetricsReceiver( _ context.Context, - set receiver.CreateSettings, + set receiver.Settings, cfg component.Config, nextConsumer consumer.Metrics, ) (receiver.Metrics, error) { diff --git a/collector/receiver/prometheusreceiver/factory_test.go b/collector/receiver/prometheusreceiver/factory_test.go index c05305a..29d4bbd 100644 --- a/collector/receiver/prometheusreceiver/factory_test.go +++ b/collector/receiver/prometheusreceiver/factory_test.go @@ -40,7 +40,7 @@ func TestCreateReceiver(t *testing.T) { // The default config does not provide scrape_config so we expect that metrics receiver // creation must also fail. - creationSet := receivertest.NewNopCreateSettings() + creationSet := receivertest.NewNopSettings() mReceiver, _ := createMetricsReceiver(context.Background(), creationSet, cfg, nil) assert.NotNil(t, mReceiver) assert.NotNil(t, mReceiver.(*pReceiver).cfg.PrometheusConfig.GlobalConfig) @@ -54,5 +54,5 @@ func TestFactoryCanParseServiceDiscoveryConfigs(t *testing.T) { sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "").String()) require.NoError(t, err) - assert.NoError(t, component.UnmarshalConfig(sub, cfg)) + assert.NoError(t, sub.Unmarshal(cfg)) } diff --git a/collector/receiver/prometheusreceiver/generated_component_test.go b/collector/receiver/prometheusreceiver/generated_component_test.go index 4fdbe6d..10922b5 100644 --- a/collector/receiver/prometheusreceiver/generated_component_test.go +++ b/collector/receiver/prometheusreceiver/generated_component_test.go @@ -28,13 +28,13 @@ func TestComponentLifecycle(t *testing.T) { tests := []struct { name string - createFn func(ctx context.Context, set receiver.CreateSettings, cfg component.Config) (component.Component, error) + createFn func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) }{ { name: "metrics", - createFn: func(ctx context.Context, set receiver.CreateSettings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsReceiver(ctx, set, cfg, consumertest.NewNop()) + createFn: func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { + return factory.CreateMetrics(ctx, set, cfg, consumertest.NewNop()) }, }, } @@ -46,21 +46,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), receivertest.NewNopCreateSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), receivertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstRcvr, err := test.createFn(context.Background(), receivertest.NewNopCreateSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstRcvr, err := tt.createFn(context.Background(), receivertest.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 := test.createFn(context.Background(), receivertest.NewNopCreateSettings(), cfg) + secondRcvr, err := tt.createFn(context.Background(), receivertest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondRcvr.Start(context.Background(), host)) require.NoError(t, secondRcvr.Shutdown(context.Background())) diff --git a/collector/receiver/prometheusreceiver/internal/appendable.go b/collector/receiver/prometheusreceiver/internal/appendable.go index 3bb9473..b2e8987 100644 --- a/collector/receiver/prometheusreceiver/internal/appendable.go +++ b/collector/receiver/prometheusreceiver/internal/appendable.go @@ -32,21 +32,19 @@ type appendable struct { metricAdjuster MetricsAdjuster useStartTimeMetric bool trimSuffixes bool - preserveUntyped bool startTimeMetricRegex *regexp.Regexp externalLabels labels.Labels - settings receiver.CreateSettings + settings receiver.Settings obsrecv *receiverhelper.ObsReport } // NewAppendable returns a storage.Appendable instance that emits metrics to the sink. func NewAppendable( sink consumer.Metrics, - set receiver.CreateSettings, + set receiver.Settings, gcInterval time.Duration, useStartTimeMetric bool, - preserveUntyped bool, startTimeMetricRegex *regexp.Regexp, useCreatedMetric bool, useCollectorStartTimeFallback bool, @@ -74,10 +72,9 @@ func NewAppendable( startTimeMetricRegex: startTimeMetricRegex, externalLabels: externalLabels, obsrecv: obsrecv, - preserveUntyped: preserveUntyped, }, nil } func (o *appendable) Appender(ctx context.Context) storage.Appender { - return newTransaction(ctx, o.metricAdjuster, o.sink, o.externalLabels, o.settings, o.obsrecv, o.trimSuffixes, o.preserveUntyped) + return newTransaction(ctx, o.metricAdjuster, o.sink, o.externalLabels, o.settings, o.obsrecv, o.trimSuffixes) } diff --git a/collector/receiver/prometheusreceiver/internal/metadata.go b/collector/receiver/prometheusreceiver/internal/metadata.go index f1cb222..8351404 100644 --- a/collector/receiver/prometheusreceiver/internal/metadata.go +++ b/collector/receiver/prometheusreceiver/internal/metadata.go @@ -15,7 +15,7 @@ package internal // import "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/receiver/prometheusreceiver/internal" import ( - "github.com/prometheus/prometheus/model/textparse" + "github.com/prometheus/common/model" "github.com/prometheus/prometheus/scrape" ) @@ -28,28 +28,28 @@ type dataPoint struct { var internalMetricMetadata = map[string]*scrape.MetricMetadata{ scrapeUpMetricName: { Metric: scrapeUpMetricName, - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "The scraping was successful", }, "scrape_duration_seconds": { Metric: "scrape_duration_seconds", Unit: "seconds", - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "Duration of the scrape", }, "scrape_samples_scraped": { Metric: "scrape_samples_scraped", - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "The number of samples the target exposed", }, "scrape_series_added": { Metric: "scrape_series_added", - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "The approximate number of new series in this scrape", }, "scrape_samples_post_metric_relabeling": { Metric: "scrape_samples_post_metric_relabeling", - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "The number of samples remaining after metric relabeling was applied", }, } @@ -65,7 +65,7 @@ func metadataForMetric(metricName string, mc scrape.MetricMetadataStore) (*scrap // try with suffixes trimmed, in-case it is a "merged" metric type. normalizedName := normalizeMetricName(metricName) if metadata, ok := mc.GetMetadata(normalizedName); ok { - if metadata.Type == textparse.MetricTypeCounter { + if metadata.Type == model.MetricTypeCounter { return &metadata, metricName } return &metadata, normalizedName @@ -73,6 +73,6 @@ func metadataForMetric(metricName string, mc scrape.MetricMetadataStore) (*scrap // Otherwise, the metric is unknown return &scrape.MetricMetadata{ Metric: metricName, - Type: textparse.MetricTypeUnknown, + Type: model.MetricTypeUnknown, }, metricName } diff --git a/collector/receiver/prometheusreceiver/internal/metricfamily.go b/collector/receiver/prometheusreceiver/internal/metricfamily.go index 2479ad1..db97b4b 100644 --- a/collector/receiver/prometheusreceiver/internal/metricfamily.go +++ b/collector/receiver/prometheusreceiver/internal/metricfamily.go @@ -23,7 +23,6 @@ import ( "github.com/prometheus/prometheus/model/exemplar" "github.com/prometheus/prometheus/model/labels" - "github.com/prometheus/prometheus/model/textparse" "github.com/prometheus/prometheus/model/value" "github.com/prometheus/prometheus/scrape" "go.opentelemetry.io/collector/pdata/pcommon" @@ -36,14 +35,10 @@ import ( const ( traceIDKey = "trace_id" spanIDKey = "span_id" - - GCPOpsAgentUntypedMetricKey = "prometheus.googleapis.com/internal/untyped_metric" ) type metricFamily struct { - mtype pmetric.MetricType - preserveUntyped bool - pType textparse.MetricType + mtype pmetric.MetricType // isMonotonic only applies to sums isMonotonic bool groups map[uint64]*metricGroup @@ -56,22 +51,20 @@ type metricFamily struct { // a couple data complexValue (buckets and count/sum), a group of a metric family always share a same set of tags. for // simple types like counter and gauge, each data point is a group of itself type metricGroup struct { - mtype pmetric.MetricType - preserveUntyped bool - pType textparse.MetricType - ts int64 - ls labels.Labels - count float64 - hasCount bool - sum float64 - hasSum bool - created float64 - value float64 - complexValue []*dataPoint - exemplars pmetric.ExemplarSlice + mtype pmetric.MetricType + ts int64 + ls labels.Labels + count float64 + hasCount bool + sum float64 + hasSum bool + created float64 + value float64 + complexValue []*dataPoint + exemplars pmetric.ExemplarSlice } -func newMetricFamily(metricName string, mc scrape.MetricMetadataStore, logger *zap.Logger, preserveUntyped bool) *metricFamily { +func newMetricFamily(metricName string, mc scrape.MetricMetadataStore, logger *zap.Logger) *metricFamily { metadata, familyName := metadataForMetric(metricName, mc) mtype, isMonotonic := convToMetricType(metadata.Type) if mtype == pmetric.MetricTypeEmpty { @@ -79,13 +72,11 @@ func newMetricFamily(metricName string, mc scrape.MetricMetadataStore, logger *z } return &metricFamily{ - mtype: mtype, - pType: metadata.Type, - isMonotonic: isMonotonic, - groups: make(map[uint64]*metricGroup), - name: familyName, - metadata: metadata, - preserveUntyped: preserveUntyped, + mtype: mtype, + isMonotonic: isMonotonic, + groups: make(map[uint64]*metricGroup), + name: familyName, + metadata: metadata, } } @@ -162,7 +153,7 @@ func (mg *metricGroup) toDistributionPoint(dest pmetric.HistogramDataPointSlice) point.SetStartTimestamp(tsNanos) } point.SetTimestamp(tsNanos) - populateAttributes(pmetric.MetricTypeHistogram, mg.pType, mg.ls, point.Attributes(), mg.preserveUntyped) + populateAttributes(pmetric.MetricTypeHistogram, mg.ls, point.Attributes()) mg.setExemplars(point.Exemplars()) } @@ -221,7 +212,7 @@ func (mg *metricGroup) toSummaryPoint(dest pmetric.SummaryDataPointSlice) { // metrics_adjuster adjusts the startTimestamp to the initial scrape timestamp point.SetStartTimestamp(tsNanos) } - populateAttributes(pmetric.MetricTypeSummary, mg.pType, mg.ls, point.Attributes(), mg.preserveUntyped) + populateAttributes(pmetric.MetricTypeSummary, mg.ls, point.Attributes()) } func (mg *metricGroup) toNumberDataPoint(dest pmetric.NumberDataPointSlice) { @@ -242,11 +233,11 @@ func (mg *metricGroup) toNumberDataPoint(dest pmetric.NumberDataPointSlice) { } else { point.SetDoubleValue(mg.value) } - populateAttributes(pmetric.MetricTypeGauge, mg.pType, mg.ls, point.Attributes(), mg.preserveUntyped) + populateAttributes(pmetric.MetricTypeGauge, mg.ls, point.Attributes()) mg.setExemplars(point.Exemplars()) } -func populateAttributes(mType pmetric.MetricType, pType textparse.MetricType, ls labels.Labels, dest pcommon.Map, preserveUntyped bool) { +func populateAttributes(mType pmetric.MetricType, ls labels.Labels, dest pcommon.Map) { dest.EnsureCapacity(ls.Len()) names := getSortedNotUsefulLabels(mType) j := 0 @@ -263,23 +254,16 @@ func populateAttributes(mType pmetric.MetricType, pType textparse.MetricType, ls } dest.PutStr(ls[i].Name, ls[i].Value) } - - // Preserve the untypedness of the metric as a metric attribute. - if preserveUntyped && (pType == textparse.MetricTypeUnknown) { - dest.PutBool(GCPOpsAgentUntypedMetricKey, true) - } } func (mf *metricFamily) loadMetricGroupOrCreate(groupKey uint64, ls labels.Labels, ts int64) *metricGroup { mg, ok := mf.groups[groupKey] if !ok { mg = &metricGroup{ - mtype: mf.mtype, - pType: mf.pType, - ts: ts, - ls: ls, - exemplars: pmetric.NewExemplarSlice(), - preserveUntyped: mf.preserveUntyped, + mtype: mf.mtype, + ts: ts, + ls: ls, + exemplars: pmetric.NewExemplarSlice(), } mf.groups[groupKey] = mg // maintaining data insertion order is helpful to generate stable/reproducible metric output @@ -334,6 +318,7 @@ func (mf *metricFamily) appendMetric(metrics pmetric.MetricSlice, trimSuffixes b } metric.SetName(name) metric.SetDescription(mf.metadata.Help) + metric.Metadata().PutStr(prometheus.MetricMetadataTypeKey, string(mf.metadata.Type)) metric.SetUnit(mf.metadata.Unit) pointCount := 0 diff --git a/collector/receiver/prometheusreceiver/internal/metricfamily_test.go b/collector/receiver/prometheusreceiver/internal/metricfamily_test.go index 1a9446d..44c4556 100644 --- a/collector/receiver/prometheusreceiver/internal/metricfamily_test.go +++ b/collector/receiver/prometheusreceiver/internal/metricfamily_test.go @@ -19,8 +19,8 @@ import ( "testing" "time" + "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" - "github.com/prometheus/prometheus/model/textparse" "github.com/prometheus/prometheus/model/value" "github.com/prometheus/prometheus/scrape" "github.com/stretchr/testify/require" @@ -47,61 +47,61 @@ func (tmc testMetadataStore) LengthMetadata() int { var mc = testMetadataStore{ "counter": scrape.MetricMetadata{ Metric: "cr", - Type: textparse.MetricTypeCounter, + Type: model.MetricTypeCounter, Help: "This is some help for a counter", Unit: "By", }, "gauge": scrape.MetricMetadata{ Metric: "ge", - Type: textparse.MetricTypeGauge, + Type: model.MetricTypeGauge, Help: "This is some help for a gauge", Unit: "1", }, "gaugehistogram": scrape.MetricMetadata{ Metric: "gh", - Type: textparse.MetricTypeGaugeHistogram, + Type: model.MetricTypeGaugeHistogram, Help: "This is some help for a gauge histogram", Unit: "?", }, "histogram": scrape.MetricMetadata{ Metric: "hg", - Type: textparse.MetricTypeHistogram, + Type: model.MetricTypeHistogram, Help: "This is some help for a histogram", Unit: "ms", }, "histogram_with_created": scrape.MetricMetadata{ Metric: "hg", - Type: textparse.MetricTypeHistogram, + Type: model.MetricTypeHistogram, Help: "This is some help for a histogram", Unit: "ms", }, "histogram_stale": scrape.MetricMetadata{ Metric: "hg_stale", - Type: textparse.MetricTypeHistogram, + Type: model.MetricTypeHistogram, Help: "This is some help for a histogram", Unit: "ms", }, "summary": scrape.MetricMetadata{ Metric: "s", - Type: textparse.MetricTypeSummary, + Type: model.MetricTypeSummary, Help: "This is some help for a summary", Unit: "ms", }, "summary_with_created": scrape.MetricMetadata{ Metric: "s", - Type: textparse.MetricTypeSummary, + Type: model.MetricTypeSummary, Help: "This is some help for a summary", Unit: "ms", }, "summary_stale": scrape.MetricMetadata{ Metric: "s_stale", - Type: textparse.MetricTypeSummary, + Type: model.MetricTypeSummary, Help: "This is some help for a summary", Unit: "ms", }, "unknown": scrape.MetricMetadata{ Metric: "u", - Type: textparse.MetricTypeUnknown, + Type: model.MetricTypeUnknown, Help: "This is some help for an unknown metric", Unit: "?", }, @@ -234,7 +234,7 @@ func TestMetricGroupData_toDistributionUnitTest(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - mp := newMetricFamily(tt.metricName, mc, zap.NewNop(), true) + mp := newMetricFamily(tt.metricName, mc, zap.NewNop()) for i, tv := range tt.scrapes { var lbls labels.Labels if tv.extraLabel.Name != "" { @@ -524,7 +524,7 @@ func TestMetricGroupData_toSummaryUnitTest(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - mp := newMetricFamily(tt.name, mc, zap.NewNop(), true) + mp := newMetricFamily(tt.name, mc, zap.NewNop()) for _, lbs := range tt.labelsScrapes { for i, scrape := range lbs.scrapes { lb := lbs.labels.Copy() @@ -644,7 +644,7 @@ func TestMetricGroupData_toNumberDataUnitTest(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - mp := newMetricFamily(tt.metricKind, mc, zap.NewNop(), true) + mp := newMetricFamily(tt.metricKind, mc, zap.NewNop()) for _, tv := range tt.scrapes { lb := tt.labels.Copy() sRef, _ := getSeriesRef(nil, lb, mp.mtype) diff --git a/collector/receiver/prometheusreceiver/internal/transaction.go b/collector/receiver/prometheusreceiver/internal/transaction.go index f5c5ff3..d7f9697 100644 --- a/collector/receiver/prometheusreceiver/internal/transaction.go +++ b/collector/receiver/prometheusreceiver/internal/transaction.go @@ -53,8 +53,7 @@ type transaction struct { metricAdjuster MetricsAdjuster obsrecv *receiverhelper.ObsReport // Used as buffer to calculate series ref hash. - bufBytes []byte - preserveUntyped bool + bufBytes []byte } func newTransaction( @@ -62,22 +61,20 @@ func newTransaction( metricAdjuster MetricsAdjuster, sink consumer.Metrics, externalLabels labels.Labels, - settings receiver.CreateSettings, + settings receiver.Settings, obsrecv *receiverhelper.ObsReport, - trimSuffixes bool, - preserveUntyped bool) *transaction { + trimSuffixes bool) *transaction { return &transaction{ - ctx: ctx, - families: make(map[string]*metricFamily), - isNew: true, - trimSuffixes: trimSuffixes, - sink: sink, - metricAdjuster: metricAdjuster, - externalLabels: externalLabels, - logger: settings.Logger, - obsrecv: obsrecv, - bufBytes: make([]byte, 0, 1024), - preserveUntyped: preserveUntyped, + ctx: ctx, + families: make(map[string]*metricFamily), + isNew: true, + trimSuffixes: trimSuffixes, + sink: sink, + metricAdjuster: metricAdjuster, + externalLabels: externalLabels, + logger: settings.Logger, + obsrecv: obsrecv, + bufBytes: make([]byte, 0, 1024), } } @@ -149,7 +146,7 @@ func (t *transaction) getOrCreateMetricFamily(mn string) *metricFamily { if mf, ok := t.families[fn]; ok && mf.includesMetric(mn) { curMf = mf } else { - curMf = newMetricFamily(mn, t.mc, t.logger, t.preserveUntyped) + curMf = newMetricFamily(mn, t.mc, t.logger) t.families[curMf.name] = curMf } } @@ -191,6 +188,11 @@ func (t *transaction) AppendHistogram(ref storage.SeriesRef, l labels.Labels, at return 0, nil } +func (t *transaction) AppendCTZeroSample(_ storage.SeriesRef, _ labels.Labels, _, _ int64) (storage.SeriesRef, error) { + //TODO: implement this func + return 0, nil +} + func (t *transaction) getSeriesRef(ls labels.Labels, mtype pmetric.MetricType) uint64 { var hash uint64 hash, t.bufBytes = getSeriesRef(t.bufBytes, ls, mtype) diff --git a/collector/receiver/prometheusreceiver/internal/transaction_test.go b/collector/receiver/prometheusreceiver/internal/transaction_test.go index 83a8e4e..23657d5 100644 --- a/collector/receiver/prometheusreceiver/internal/transaction_test.go +++ b/collector/receiver/prometheusreceiver/internal/transaction_test.go @@ -62,24 +62,24 @@ var ( ) func TestTransactionCommitWithoutAdding(t *testing.T) { - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) assert.NoError(t, tr.Commit()) } func TestTransactionRollbackDoesNothing(t *testing.T) { - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) assert.NoError(t, tr.Rollback()) } func TestTransactionUpdateMetadataDoesNothing(t *testing.T) { - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.UpdateMetadata(0, labels.New(), metadata.Metadata{}) assert.NoError(t, err) } func TestTransactionAppendNoTarget(t *testing.T) { badLabels := labels.FromStrings(model.MetricNameLabel, "counter_test") - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.Append(0, badLabels, time.Now().Unix()*1000, 1.0) assert.Error(t, err) } @@ -89,7 +89,7 @@ func TestTransactionAppendNoMetricName(t *testing.T) { model.InstanceLabel: "localhost:8080", model.JobLabel: "test2", }) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.Append(0, jobNotFoundLb, time.Now().Unix()*1000, 1.0) assert.ErrorIs(t, err, errMetricNameNotFound) @@ -97,7 +97,7 @@ func TestTransactionAppendNoMetricName(t *testing.T) { } func TestTransactionAppendEmptyMetricName(t *testing.T) { - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, consumertest.NewNop(), nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.Append(0, labels.FromMap(map[string]string{ model.InstanceLabel: "localhost:8080", model.JobLabel: "test2", @@ -108,7 +108,7 @@ func TestTransactionAppendEmptyMetricName(t *testing.T) { func TestTransactionAppendResource(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.Append(0, labels.FromMap(map[string]string{ model.InstanceLabel: "localhost:8080", model.JobLabel: "test", @@ -137,7 +137,7 @@ func TestTransactionCommitErrorWhenAdjusterError(t *testing.T) { }) sink := new(consumertest.MetricsSink) adjusterErr := errors.New("adjuster error") - tr := newTransaction(scrapeCtx, &errorAdjuster{err: adjusterErr}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &errorAdjuster{err: adjusterErr}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.Append(0, goodLabels, time.Now().Unix()*1000, 1.0) assert.NoError(t, err) assert.ErrorIs(t, tr.Commit(), adjusterErr) @@ -146,7 +146,7 @@ func TestTransactionCommitErrorWhenAdjusterError(t *testing.T) { // Ensure that we reject duplicate label keys. See https://github.com/open-telemetry/wg-prometheus/issues/44. func TestTransactionAppendDuplicateLabels(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) dupLabels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -164,7 +164,7 @@ func TestTransactionAppendDuplicateLabels(t *testing.T) { func TestTransactionAppendHistogramNoLe(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) goodLabels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -178,7 +178,7 @@ func TestTransactionAppendHistogramNoLe(t *testing.T) { func TestTransactionAppendSummaryNoQuantile(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) goodLabels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -192,7 +192,7 @@ func TestTransactionAppendSummaryNoQuantile(t *testing.T) { func TestAppendExemplarWithNoMetricName(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) labels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -205,7 +205,7 @@ func TestAppendExemplarWithNoMetricName(t *testing.T) { func TestAppendExemplarWithEmptyMetricName(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) labels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -218,7 +218,7 @@ func TestAppendExemplarWithEmptyMetricName(t *testing.T) { func TestAppendExemplarWithDuplicateLabels(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) labels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -234,7 +234,7 @@ func TestAppendExemplarWithDuplicateLabels(t *testing.T) { func TestAppendExemplarWithoutAddingMetric(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) labels := labels.FromStrings( model.InstanceLabel, "0.0.0.0:8855", @@ -248,7 +248,7 @@ func TestAppendExemplarWithoutAddingMetric(t *testing.T) { func TestAppendExemplarWithNoLabels(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.AppendExemplar(0, nil, exemplar.Exemplar{Value: 0}) assert.Equal(t, errNoJobInstance, err) @@ -256,7 +256,7 @@ func TestAppendExemplarWithNoLabels(t *testing.T) { func TestAppendExemplarWithEmptyLabelArray(t *testing.T) { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) _, err := tr.AppendExemplar(0, []labels.Label{}, exemplar.Exemplar{Value: 0}) assert.Equal(t, errNoJobInstance, err) @@ -266,7 +266,7 @@ func nopObsRecv(t *testing.T) *receiverhelper.ObsReport { obsrecv, err := receiverhelper.NewObsReport(receiverhelper.ObsReportSettings{ ReceiverID: component.MustNewID("prometheus"), Transport: transport, - ReceiverCreateSettings: receivertest.NewNopCreateSettings(), + ReceiverCreateSettings: receivertest.NewNopSettings(), }) require.NoError(t, err) return obsrecv @@ -288,6 +288,7 @@ func TestMetricBuilderCounters(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("counter_test") + m0.Metadata().PutStr("prometheus.type", "counter") sum := m0.SetEmptySum() sum.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum.SetIsMonotonic(true) @@ -339,6 +340,7 @@ func TestMetricBuilderCounters(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("counter_test") + m0.Metadata().PutStr("prometheus.type", "counter") sum := m0.SetEmptySum() sum.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum.SetIsMonotonic(true) @@ -393,6 +395,7 @@ func TestMetricBuilderCounters(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("counter_test") + m0.Metadata().PutStr("prometheus.type", "counter") sum := m0.SetEmptySum() sum.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum.SetIsMonotonic(true) @@ -427,6 +430,7 @@ func TestMetricBuilderCounters(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("counter_test") + m0.Metadata().PutStr("prometheus.type", "counter") sum0 := m0.SetEmptySum() sum0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum0.SetIsMonotonic(true) @@ -444,6 +448,7 @@ func TestMetricBuilderCounters(t *testing.T) { m1 := mL0.AppendEmpty() m1.SetName("counter_test2") + m1.Metadata().PutStr("prometheus.type", "counter") sum1 := m1.SetEmptySum() sum1.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum1.SetIsMonotonic(true) @@ -470,6 +475,7 @@ func TestMetricBuilderCounters(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("poor_name_count") + m0.Metadata().PutStr("prometheus.type", "counter") sum := m0.SetEmptySum() sum.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) sum.SetIsMonotonic(true) @@ -512,6 +518,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("gauge_test") + m0.Metadata().PutStr("prometheus.type", "gauge") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) @@ -523,6 +530,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL1 := md1.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m1 := mL1.AppendEmpty() m1.SetName("gauge_test") + m1.Metadata().PutStr("prometheus.type", "gauge") gauge1 := m1.SetEmptyGauge() pt1 := gauge1.DataPoints().AppendEmpty() pt1.SetDoubleValue(90.0) @@ -577,6 +585,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("gauge_test") + m0.Metadata().PutStr("prometheus.type", "gauge") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) @@ -615,6 +624,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL1 := md1.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m1 := mL1.AppendEmpty() m1.SetName("gauge_test") + m1.Metadata().PutStr("prometheus.type", "gauge") gauge1 := m1.SetEmptyGauge() pt1 := gauge1.DataPoints().AppendEmpty() pt1.SetDoubleValue(90.0) @@ -640,6 +650,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("gauge_test") + m0.Metadata().PutStr("prometheus.type", "gauge") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) @@ -678,6 +689,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("gauge_test") + m0.Metadata().PutStr("prometheus.type", "gauge") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) @@ -695,6 +707,7 @@ func TestMetricBuilderGauges(t *testing.T) { mL1 := md1.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m1 := mL1.AppendEmpty() m1.SetName("gauge_test") + m1.Metadata().PutStr("prometheus.type", "gauge") gauge1 := m1.SetEmptyGauge() pt2 := gauge1.DataPoints().AppendEmpty() pt2.SetDoubleValue(20.0) @@ -730,13 +743,13 @@ func TestMetricBuilderUntyped(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("unknown_test") + m0.Metadata().PutStr("prometheus.type", "unknown") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) pt0.SetStartTimestamp(0) pt0.SetTimestamp(tsNanos) pt0.Attributes().PutStr("foo", "bar") - pt0.Attributes().PutBool(GCPOpsAgentUntypedMetricKey, true) return []pmetric.Metrics{md0} }, @@ -757,27 +770,26 @@ func TestMetricBuilderUntyped(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("something_not_exists") + m0.Metadata().PutStr("prometheus.type", "unknown") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) pt0.SetTimestamp(tsNanos) pt0.Attributes().PutStr("foo", "bar") - pt0.Attributes().PutBool(GCPOpsAgentUntypedMetricKey, true) m1 := mL0.AppendEmpty() m1.SetName("theother_not_exists") + m1.Metadata().PutStr("prometheus.type", "unknown") gauge1 := m1.SetEmptyGauge() pt1 := gauge1.DataPoints().AppendEmpty() pt1.SetDoubleValue(200.0) pt1.SetTimestamp(tsNanos) pt1.Attributes().PutStr("foo", "bar") - pt1.Attributes().PutBool(GCPOpsAgentUntypedMetricKey, true) pt2 := gauge1.DataPoints().AppendEmpty() pt2.SetDoubleValue(300.0) pt2.SetTimestamp(tsNanos) pt2.Attributes().PutStr("bar", "foo") - pt2.Attributes().PutBool(GCPOpsAgentUntypedMetricKey, true) return []pmetric.Metrics{md0} }, @@ -796,12 +808,12 @@ func TestMetricBuilderUntyped(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("some_count") + m0.Metadata().PutStr("prometheus.type", "unknown") gauge0 := m0.SetEmptyGauge() pt0 := gauge0.DataPoints().AppendEmpty() pt0.SetDoubleValue(100.0) pt0.SetTimestamp(tsNanos) pt0.Attributes().PutStr("foo", "bar") - pt0.Attributes().PutBool(GCPOpsAgentUntypedMetricKey, true) return []pmetric.Metrics{md0} }, @@ -835,6 +847,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -897,6 +910,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -970,6 +984,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -1021,6 +1036,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -1043,6 +1059,7 @@ func TestMetricBuilderHistogram(t *testing.T) { m1 := mL0.AppendEmpty() m1.SetName("hist_test2") + m1.Metadata().PutStr("prometheus.type", "histogram") hist1 := m1.SetEmptyHistogram() hist1.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt2 := hist1.DataPoints().AppendEmpty() @@ -1075,6 +1092,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -1106,6 +1124,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -1153,6 +1172,7 @@ func TestMetricBuilderHistogram(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("hist_test") + m0.Metadata().PutStr("prometheus.type", "histogram") hist0 := m0.SetEmptyHistogram() hist0.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) pt0 := hist0.DataPoints().AppendEmpty() @@ -1253,6 +1273,7 @@ func TestMetricBuilderSummary(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("summary_test") + m0.Metadata().PutStr("prometheus.type", "summary") sum0 := m0.SetEmptySummary() pt0 := sum0.DataPoints().AppendEmpty() pt0.SetTimestamp(tsNanos) @@ -1288,6 +1309,7 @@ func TestMetricBuilderSummary(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("summary_test") + m0.Metadata().PutStr("prometheus.type", "summary") sum0 := m0.SetEmptySummary() pt0 := sum0.DataPoints().AppendEmpty() pt0.SetStartTimestamp(startTimestamp) @@ -1317,6 +1339,7 @@ func TestMetricBuilderSummary(t *testing.T) { mL0 := md0.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics() m0 := mL0.AppendEmpty() m0.SetName("summary_test") + m0.Metadata().PutStr("prometheus.type", "summary") sum0 := m0.SetEmptySummary() pt0 := sum0.DataPoints().AppendEmpty() pt0.SetStartTimestamp(startTimestamp) @@ -1360,7 +1383,7 @@ func (tt buildTestData) run(t *testing.T) { st := ts for i, page := range tt.inputs { sink := new(consumertest.MetricsSink) - tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopCreateSettings(), nopObsRecv(t), false, true) + tr := newTransaction(scrapeCtx, &startTimeAdjuster{startTime: startTimestamp}, sink, nil, receivertest.NewNopSettings(), nopObsRecv(t), false) for _, pt := range page.pts { // set ts for testing pt.t = st diff --git a/collector/receiver/prometheusreceiver/internal/util.go b/collector/receiver/prometheusreceiver/internal/util.go index ec356f3..bf90cdc 100644 --- a/collector/receiver/prometheusreceiver/internal/util.go +++ b/collector/receiver/prometheusreceiver/internal/util.go @@ -22,7 +22,6 @@ import ( "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" - "github.com/prometheus/prometheus/model/textparse" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" ) @@ -103,23 +102,23 @@ func getBoundary(metricType pmetric.MetricType, labels labels.Labels) (float64, } // convToMetricType returns the data type and if it is monotonic -func convToMetricType(metricType textparse.MetricType) (pmetric.MetricType, bool) { +func convToMetricType(metricType model.MetricType) (pmetric.MetricType, bool) { switch metricType { - case textparse.MetricTypeCounter: + case model.MetricTypeCounter: // always use float64, as it's the internal data type used in prometheus return pmetric.MetricTypeSum, true - // textparse.MetricTypeUnknown is converted to gauge by default to prevent Prometheus untyped metrics from being dropped - case textparse.MetricTypeGauge, textparse.MetricTypeUnknown: + // model.MetricTypeUnknown is converted to gauge by default to prevent Prometheus untyped metrics from being dropped + case model.MetricTypeGauge, model.MetricTypeUnknown: return pmetric.MetricTypeGauge, false - case textparse.MetricTypeHistogram: + case model.MetricTypeHistogram: return pmetric.MetricTypeHistogram, true // dropping support for gaugehistogram for now until we have an official spec of its implementation // a draft can be found in: https://docs.google.com/document/d/1KwV0mAXwwbvvifBvDKH_LU1YjyXE_wxCkHNoCGq1GX0/edit#heading=h.1cvzqd4ksd23 - // case textparse.MetricTypeGaugeHistogram: + // case model.MetricTypeGaugeHistogram: // return - case textparse.MetricTypeSummary: + case model.MetricTypeSummary: return pmetric.MetricTypeSummary, true - case textparse.MetricTypeInfo, textparse.MetricTypeStateset: + case model.MetricTypeInfo, model.MetricTypeStateset: return pmetric.MetricTypeSum, false default: // including: textparse.MetricTypeGaugeHistogram diff --git a/collector/receiver/prometheusreceiver/internal/util_test.go b/collector/receiver/prometheusreceiver/internal/util_test.go index afb98ab..458e69c 100644 --- a/collector/receiver/prometheusreceiver/internal/util_test.go +++ b/collector/receiver/prometheusreceiver/internal/util_test.go @@ -20,7 +20,6 @@ import ( "github.com/prometheus/common/model" "github.com/prometheus/prometheus/model/labels" - "github.com/prometheus/prometheus/model/textparse" "github.com/prometheus/prometheus/scrape" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -29,25 +28,25 @@ import ( ) var testMetadata = map[string]scrape.MetricMetadata{ - "counter_test": {Metric: "counter_test", Type: textparse.MetricTypeCounter, Help: "", Unit: ""}, - "counter_test2": {Metric: "counter_test2", Type: textparse.MetricTypeCounter, Help: "", Unit: ""}, - "gauge_test": {Metric: "gauge_test", Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, - "gauge_test2": {Metric: "gauge_test2", Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, - "hist_test": {Metric: "hist_test", Type: textparse.MetricTypeHistogram, Help: "", Unit: ""}, - "hist_test2": {Metric: "hist_test2", Type: textparse.MetricTypeHistogram, Help: "", Unit: ""}, - "ghist_test": {Metric: "ghist_test", Type: textparse.MetricTypeGaugeHistogram, Help: "", Unit: ""}, - "summary_test": {Metric: "summary_test", Type: textparse.MetricTypeSummary, Help: "", Unit: ""}, - "summary_test2": {Metric: "summary_test2", Type: textparse.MetricTypeSummary, Help: "", Unit: ""}, - "unknown_test": {Metric: "unknown_test", Type: textparse.MetricTypeUnknown, Help: "", Unit: ""}, - "poor_name": {Metric: "poor_name", Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, - "poor_name_count": {Metric: "poor_name_count", Type: textparse.MetricTypeCounter, Help: "", Unit: ""}, - "scrape_foo": {Metric: "scrape_foo", Type: textparse.MetricTypeCounter, Help: "", Unit: ""}, + "counter_test": {Metric: "counter_test", Type: model.MetricTypeCounter, Help: "", Unit: ""}, + "counter_test2": {Metric: "counter_test2", Type: model.MetricTypeCounter, Help: "", Unit: ""}, + "gauge_test": {Metric: "gauge_test", Type: model.MetricTypeGauge, Help: "", Unit: ""}, + "gauge_test2": {Metric: "gauge_test2", Type: model.MetricTypeGauge, Help: "", Unit: ""}, + "hist_test": {Metric: "hist_test", Type: model.MetricTypeHistogram, Help: "", Unit: ""}, + "hist_test2": {Metric: "hist_test2", Type: model.MetricTypeHistogram, Help: "", Unit: ""}, + "ghist_test": {Metric: "ghist_test", Type: model.MetricTypeGaugeHistogram, Help: "", Unit: ""}, + "summary_test": {Metric: "summary_test", Type: model.MetricTypeSummary, Help: "", Unit: ""}, + "summary_test2": {Metric: "summary_test2", Type: model.MetricTypeSummary, Help: "", Unit: ""}, + "unknown_test": {Metric: "unknown_test", Type: model.MetricTypeUnknown, Help: "", Unit: ""}, + "poor_name": {Metric: "poor_name", Type: model.MetricTypeGauge, Help: "", Unit: ""}, + "poor_name_count": {Metric: "poor_name_count", Type: model.MetricTypeCounter, Help: "", Unit: ""}, + "scrape_foo": {Metric: "scrape_foo", Type: model.MetricTypeCounter, Help: "", Unit: ""}, "example_process_start_time_seconds": {Metric: "example_process_start_time_seconds", - Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, + Type: model.MetricTypeGauge, Help: "", Unit: ""}, "process_start_time_seconds": {Metric: "process_start_time_seconds", - Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, + Type: model.MetricTypeGauge, Help: "", Unit: ""}, "subprocess_start_time_seconds": {Metric: "subprocess_start_time_seconds", - Type: textparse.MetricTypeGauge, Help: "", Unit: ""}, + Type: model.MetricTypeGauge, Help: "", Unit: ""}, } func TestTimestampFromMs(t *testing.T) { @@ -64,55 +63,55 @@ func TestTimestampFromFloat64(t *testing.T) { func TestConvToMetricType(t *testing.T) { tests := []struct { name string - mtype textparse.MetricType + mtype model.MetricType want pmetric.MetricType wantMonotonic bool }{ { - name: "textparse.counter", - mtype: textparse.MetricTypeCounter, + name: "model.counter", + mtype: model.MetricTypeCounter, want: pmetric.MetricTypeSum, wantMonotonic: true, }, { - name: "textparse.gauge", - mtype: textparse.MetricTypeGauge, + name: "model.gauge", + mtype: model.MetricTypeGauge, want: pmetric.MetricTypeGauge, wantMonotonic: false, }, { - name: "textparse.unknown", - mtype: textparse.MetricTypeUnknown, + name: "model.unknown", + mtype: model.MetricTypeUnknown, want: pmetric.MetricTypeGauge, wantMonotonic: false, }, { - name: "textparse.histogram", - mtype: textparse.MetricTypeHistogram, + name: "model.histogram", + mtype: model.MetricTypeHistogram, want: pmetric.MetricTypeHistogram, wantMonotonic: true, }, { - name: "textparse.summary", - mtype: textparse.MetricTypeSummary, + name: "model.summary", + mtype: model.MetricTypeSummary, want: pmetric.MetricTypeSummary, wantMonotonic: true, }, { - name: "textparse.metric_type_info", - mtype: textparse.MetricTypeInfo, + name: "model.metric_type_info", + mtype: model.MetricTypeInfo, want: pmetric.MetricTypeSum, wantMonotonic: false, }, { - name: "textparse.metric_state_set", - mtype: textparse.MetricTypeStateset, + name: "model.metric_state_set", + mtype: model.MetricTypeStateset, want: pmetric.MetricTypeSum, wantMonotonic: false, }, { - name: "textparse.metric_gauge_hostogram", - mtype: textparse.MetricTypeGaugeHistogram, + name: "model.metric_gauge_hostogram", + mtype: model.MetricTypeGaugeHistogram, want: pmetric.MetricTypeEmpty, wantMonotonic: false, }, diff --git a/collector/receiver/prometheusreceiver/metrics_receiver.go b/collector/receiver/prometheusreceiver/metrics_receiver.go index 096a8c0..0c101ec 100644 --- a/collector/receiver/prometheusreceiver/metrics_receiver.go +++ b/collector/receiver/prometheusreceiver/metrics_receiver.go @@ -28,12 +28,14 @@ import ( "github.com/go-kit/log" "github.com/mitchellh/hashstructure/v2" + "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/model" "github.com/prometheus/prometheus/config" "github.com/prometheus/prometheus/discovery" promHTTP "github.com/prometheus/prometheus/discovery/http" "github.com/prometheus/prometheus/scrape" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componentstatus" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver" "go.uber.org/zap" @@ -56,19 +58,22 @@ type pReceiver struct { configLoaded chan struct{} loadConfigOnce sync.Once - settings receiver.CreateSettings - scrapeManager *scrape.Manager - discoveryManager *discovery.Manager - unregisterMetrics func() + settings receiver.Settings + scrapeManager *scrape.Manager + discoveryManager *discovery.Manager + registerer prometheus.Registerer } // New creates a new prometheus.Receiver reference. -func newPrometheusReceiver(set receiver.CreateSettings, cfg *Config, next consumer.Metrics) *pReceiver { +func newPrometheusReceiver(set receiver.Settings, cfg *Config, next consumer.Metrics) *pReceiver { pr := &pReceiver{ - cfg: cfg, - consumer: next, - settings: set, - configLoaded: make(chan struct{}), + cfg: cfg, + consumer: next, + settings: set, + configLoaded: make(chan struct{}), + registerer: prometheus.WrapRegistererWith( + prometheus.Labels{"receiver": set.ID.String()}, + prometheus.DefaultRegisterer), targetAllocatorStop: make(chan struct{}), } return pr @@ -76,7 +81,7 @@ func newPrometheusReceiver(set receiver.CreateSettings, cfg *Config, next consum // Start is the method that starts Prometheus scraping. It // is controlled by having previously defined a Configuration using perhaps New. -func (r *pReceiver) Start(_ context.Context, _ component.Host) error { +func (r *pReceiver) Start(_ context.Context, host component.Host) error { discoveryCtx, cancel := context.WithCancel(context.Background()) r.cancelFunc = cancel @@ -85,7 +90,7 @@ func (r *pReceiver) Start(_ context.Context, _ component.Host) error { // add scrape configs defined by the collector configs baseCfg := r.cfg.PrometheusConfig - err := r.initPrometheusComponents(discoveryCtx, logger) + err := r.initPrometheusComponents(discoveryCtx, logger, host) if err != nil { r.settings.Logger.Error("Failed to initPrometheusComponents Prometheus components", zap.Error(err)) return err @@ -246,14 +251,27 @@ func (r *pReceiver) applyCfg(cfg *config.Config) error { return nil } -func (r *pReceiver) initPrometheusComponents(ctx context.Context, logger log.Logger) error { - r.discoveryManager = discovery.NewManager(ctx, logger, discovery.SkipInitialWait()) +func (r *pReceiver) initPrometheusComponents(ctx context.Context, logger log.Logger, host component.Host) error { + // Some SD mechanisms use the "refresh" package, which has its own metrics. + refreshSdMetrics := discovery.NewRefreshMetrics(r.registerer) + + // Register the metrics specific for each SD mechanism, and the ones for the refresh package. + sdMetrics, err := discovery.RegisterSDMetrics(r.registerer, refreshSdMetrics) + if err != nil { + return fmt.Errorf("failed to register service discovery metrics: %w", err) + } + r.discoveryManager = discovery.NewManager(ctx, logger, r.registerer, sdMetrics, discovery.SkipInitialWait()) + if r.discoveryManager == nil { + // NewManager can sometimes return nil if it encountered an error, but + // the error message is logged separately. + return fmt.Errorf("failed to create discovery manager") + } go func() { r.settings.Logger.Info("Starting discovery manager") if err := r.discoveryManager.Run(); err != nil { r.settings.Logger.Error("Discovery manager failed", zap.Error(err)) - r.settings.TelemetrySettings.ReportStatus(component.NewFatalErrorEvent(err)) + componentstatus.ReportStatus(host, componentstatus.NewFatalErrorEvent(err)) } }() @@ -271,7 +289,6 @@ func (r *pReceiver) initPrometheusComponents(ctx context.Context, logger log.Log r.settings, gcInterval(r.cfg.PrometheusConfig), r.cfg.AdjusterOpts.UseStartTimeMetric, - r.cfg.PreserveUntyped, startTimeMetricRegex, useCreatedMetricGate.IsEnabled(), r.cfg.AdjusterOpts.UseCollectorStartTimeFallback, @@ -285,7 +302,10 @@ func (r *pReceiver) initPrometheusComponents(ctx context.Context, logger log.Log // For the sidecar, use a 10s offset from the start before scraping the targets. tenSecondOffSet := 10 * time.Second - r.scrapeManager = scrape.NewManager(&scrape.Options{PassMetadataInContext: true, InitialScrapeOffset: &tenSecondOffSet, DiscoveryReloadOnStartup: true}, logger, store) + r.scrapeManager, err = scrape.NewManager(&scrape.Options{PassMetadataInContext: true, InitialScrapeOffset: &tenSecondOffSet, DiscoveryReloadOnStartup: true}, logger, store, r.registerer) + if err != nil { + return err + } go func() { // The scrape manager needs to wait for the configuration to be loaded before beginning diff --git a/collector/receiver/prometheusreceiver/metrics_receiver_helper_test.go b/collector/receiver/prometheusreceiver/metrics_receiver_helper_test.go index e690c51..406ed2e 100644 --- a/collector/receiver/prometheusreceiver/metrics_receiver_helper_test.go +++ b/collector/receiver/prometheusreceiver/metrics_receiver_helper_test.go @@ -595,13 +595,12 @@ func testComponent(t *testing.T, targets []*testData, useStartTimeMetric bool, s defer mp.Close() cms := new(consumertest.MetricsSink) - receiver := newPrometheusReceiver(receivertest.NewNopCreateSettings(), &Config{ + receiver := newPrometheusReceiver(receivertest.NewNopSettings(), &Config{ PrometheusConfig: cfg, AdjusterOpts: MetricAdjusterOpts{ UseStartTimeMetric: useStartTimeMetric, StartTimeMetricRegex: startTimeMetricRegex, }, - PreserveUntyped: true, // This adds a metric label for untyped metrics. Enabling this allows testing for it. TrimMetricSuffixes: trimMetricSuffixes, }, cms) diff --git a/collector/receiver/prometheusreceiver/metrics_receiver_non_numerical_test.go b/collector/receiver/prometheusreceiver/metrics_receiver_non_numerical_test.go index ca70da0..efd00ac 100644 --- a/collector/receiver/prometheusreceiver/metrics_receiver_non_numerical_test.go +++ b/collector/receiver/prometheusreceiver/metrics_receiver_non_numerical_test.go @@ -19,8 +19,6 @@ import ( "math" "testing" - "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/receiver/prometheusreceiver/internal" - "github.com/prometheus/prometheus/model/value" "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" @@ -288,7 +286,7 @@ func verifyNormalNaNs(t *testing.T, td *testData, resourceMetrics []pmetric.Reso { numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), - compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380"}), assertNormalNan(), }, }, @@ -372,7 +370,7 @@ func verifyInfValues(t *testing.T, td *testData, resourceMetrics []pmetric.Resou { numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), - compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380"}), compareDoubleValue(math.Inf(-1)), }, }, diff --git a/collector/receiver/prometheusreceiver/metrics_receiver_target_allocator_test.go b/collector/receiver/prometheusreceiver/metrics_receiver_target_allocator_test.go index 9090911..5a73a9f 100644 --- a/collector/receiver/prometheusreceiver/metrics_receiver_target_allocator_test.go +++ b/collector/receiver/prometheusreceiver/metrics_receiver_target_allocator_test.go @@ -229,7 +229,7 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) { }, }, cfg: &Config{ - PrometheusConfig: &promConfig.Config{}, + PrometheusConfig: &promConfig.Config{GlobalConfig: promConfig.DefaultGlobalConfig}, TargetAllocator: &targetAllocator{ Interval: 10 * time.Second, CollectorID: "collector-1", @@ -323,7 +323,7 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) { }, }, cfg: &Config{ - PrometheusConfig: &promConfig.Config{}, + PrometheusConfig: &promConfig.Config{GlobalConfig: promConfig.DefaultGlobalConfig}, TargetAllocator: &targetAllocator{ Interval: 10 * time.Second, CollectorID: "collector-1", @@ -435,7 +435,7 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) { }, }, cfg: &Config{ - PrometheusConfig: &promConfig.Config{}, + PrometheusConfig: &promConfig.Config{GlobalConfig: promConfig.DefaultGlobalConfig}, TargetAllocator: &targetAllocator{ Interval: 10 * time.Second, CollectorID: "collector-1", @@ -477,7 +477,7 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) { }, }, cfg: &Config{ - PrometheusConfig: &promConfig.Config{}, + PrometheusConfig: &promConfig.Config{GlobalConfig: promConfig.DefaultGlobalConfig}, TargetAllocator: &targetAllocator{ Interval: 50 * time.Millisecond, CollectorID: "collector-1", @@ -504,9 +504,12 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) { defer allocator.Stop() tc.cfg.TargetAllocator.Endpoint = allocator.srv.URL // set service URL with the automatic generated one - receiver := newPrometheusReceiver(receivertest.NewNopCreateSettings(), tc.cfg, cms) + receiver := newPrometheusReceiver(receivertest.NewNopSettings(), tc.cfg, cms) require.NoError(t, receiver.Start(ctx, componenttest.NewNopHost())) + t.Cleanup(func() { + require.NoError(t, receiver.Shutdown(context.Background())) + }) allocator.wg.Wait() diff --git a/collector/receiver/prometheusreceiver/metrics_receiver_test.go b/collector/receiver/prometheusreceiver/metrics_receiver_test.go index a5e4b05..7bb180d 100644 --- a/collector/receiver/prometheusreceiver/metrics_receiver_test.go +++ b/collector/receiver/prometheusreceiver/metrics_receiver_test.go @@ -18,8 +18,6 @@ import ( "testing" "time" - "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/receiver/prometheusreceiver/internal" - "github.com/prometheus/common/model" promConfig "github.com/prometheus/prometheus/config" "github.com/stretchr/testify/assert" @@ -1455,6 +1453,19 @@ func verifyUntypedMetrics(t *testing.T, td *testData, resourceMetrics []pmetric. wantAttributes := td.attributes metrics1 := m1.ScopeMetrics().At(0).Metrics() ts1 := getTS(metrics1) + + // The 2 metrics in m1 are untyped. The internal scraper metrics are not. + unknownMetricCount := 0 + for i := 0; i < metrics1.Len(); i++ { + m := metrics1.At(i) + mType, ok := m.Metadata().Get("prometheus.type") + assert.True(t, ok) + if mType.Str() == string(model.MetricTypeUnknown) { + unknownMetricCount++ + } + } + assert.Equal(t, 2, unknownMetricCount) + e1 := []testExpectation{ assertMetricPresent("http_requests_total", compareMetricType(pmetric.MetricTypeGauge), @@ -1463,14 +1474,14 @@ func verifyUntypedMetrics(t *testing.T, td *testData, resourceMetrics []pmetric. numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(100), - compareAttributes(map[string]string{"method": "post", "code": "200", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"method": "post", "code": "200"}), }, }, { numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(5), - compareAttributes(map[string]string{"method": "post", "code": "400", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"method": "post", "code": "400"}), }, }, }), @@ -1481,14 +1492,14 @@ func verifyUntypedMetrics(t *testing.T, td *testData, resourceMetrics []pmetric. numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(10), - compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6380"}), }, }, { numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(12), - compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6381", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"name": "rough-snowflake-web", "port": "6381"}), }, }, }), diff --git a/collector/receiver/prometheusreceiver/metrics_reciever_metric_rename_test.go b/collector/receiver/prometheusreceiver/metrics_reciever_metric_rename_test.go index b3f9e2e..b56da3b 100644 --- a/collector/receiver/prometheusreceiver/metrics_reciever_metric_rename_test.go +++ b/collector/receiver/prometheusreceiver/metrics_reciever_metric_rename_test.go @@ -17,8 +17,6 @@ package prometheusreceiver import ( "testing" - "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/receiver/prometheusreceiver/internal" - "github.com/prometheus/common/model" promcfg "github.com/prometheus/prometheus/config" "github.com/prometheus/prometheus/model/relabel" @@ -146,7 +144,7 @@ func verifyRenameMetric(t *testing.T, td *testData, resourceMetrics []pmetric.Re numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(15), - compareAttributes(map[string]string{"method": "post", "port": "6380", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"method": "post", "port": "6380"}), }, }, }), @@ -158,14 +156,14 @@ func verifyRenameMetric(t *testing.T, td *testData, resourceMetrics []pmetric.Re numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(10), - compareAttributes(map[string]string{"method": "post", "port": "6380", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"method": "post", "port": "6380"}), }, }, { numberPointComparator: []numberPointComparator{ compareTimestamp(ts1), compareDoubleValue(12), - compareAttributes(map[string]string{"method": "post", "port": "6381", internal.GCPOpsAgentUntypedMetricKey: "true"}), + compareAttributes(map[string]string{"method": "post", "port": "6381"}), }, }, }), diff --git a/collector/receiver/prometheusreceiver/testdata/openmetrics/bad_missing_or_extra_commas_2/metrics b/collector/receiver/prometheusreceiver/testdata/openmetrics/missing_or_extra_commas_2/metrics similarity index 100% rename from collector/receiver/prometheusreceiver/testdata/openmetrics/bad_missing_or_extra_commas_2/metrics rename to collector/receiver/prometheusreceiver/testdata/openmetrics/missing_or_extra_commas_2/metrics diff --git a/collector/service/components.go b/collector/service/components.go index b0f9332..6c4c127 100644 --- a/collector/service/components.go +++ b/collector/service/components.go @@ -24,11 +24,10 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor" "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor" "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/loggingexporter" + "go.opentelemetry.io/collector/exporter/debugexporter" "go.opentelemetry.io/collector/exporter/otlpexporter" "go.opentelemetry.io/collector/exporter/otlphttpexporter" "go.opentelemetry.io/collector/extension" - "go.opentelemetry.io/collector/extension/ballastextension" "go.opentelemetry.io/collector/extension/zpagesextension" "go.opentelemetry.io/collector/otelcol" "go.opentelemetry.io/collector/processor" @@ -109,7 +108,6 @@ func Components() ( extensions, err := extension.MakeFactoryMap( zpagesextension.NewFactory(), - ballastextension.NewFactory(), ) errs = multierr.Append(errs, err) @@ -119,7 +117,7 @@ func Components() ( errs = multierr.Append(errs, err) exporters, err := exporter.MakeFactoryMap( - loggingexporter.NewFactory(), + debugexporter.NewFactory(), otlpexporter.NewFactory(), otlphttpexporter.NewFactory(), ) diff --git a/collector/service/main.go b/collector/service/main.go index c87f93a..7aee6e3 100644 --- a/collector/service/main.go +++ b/collector/service/main.go @@ -20,6 +20,7 @@ import ( "log" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/confmap" "go.opentelemetry.io/collector/otelcol" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -27,6 +28,12 @@ import ( "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/internal/env" "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/internal/levelchanger" "github.com/GoogleCloudPlatform/run-gmp-sidecar/collector/internal/version" + + envprovider "go.opentelemetry.io/collector/confmap/provider/envprovider" + fileprovider "go.opentelemetry.io/collector/confmap/provider/fileprovider" + httpprovider "go.opentelemetry.io/collector/confmap/provider/httpprovider" + httpsprovider "go.opentelemetry.io/collector/confmap/provider/httpsprovider" + yamlprovider "go.opentelemetry.io/collector/confmap/provider/yamlprovider" ) func MainContext(ctx context.Context) { @@ -43,6 +50,17 @@ func MainContext(ctx context.Context) { params := otelcol.CollectorSettings{ Factories: components, BuildInfo: info, + ConfigProviderSettings: otelcol.ConfigProviderSettings{ + ResolverSettings: confmap.ResolverSettings{ + ProviderFactories: []confmap.ProviderFactory{ + fileprovider.NewFactory(), + envprovider.NewFactory(), + yamlprovider.NewFactory(), + httpprovider.NewFactory(), + httpsprovider.NewFactory(), + }, + }, + }, LoggingOptions: []zap.Option{ levelchanger.NewLevelChangerOption( zapcore.ErrorLevel, diff --git a/confgenerator/agentmetrics.go b/confgenerator/agentmetrics.go index d8bd0b7..8567a74 100644 --- a/confgenerator/agentmetrics.go +++ b/confgenerator/agentmetrics.go @@ -54,8 +54,12 @@ func (r AgentSelfMetrics) OTelReceiverPipeline() otel.ReceiverPipeline { "strict", "otelcol_process_uptime", "otelcol_process_memory_rss", - "otelcol_grpc_io_client_completed_rpcs", - "otelcol_googlecloudmonitoring_point_count", + "grpc_client_attempt_duration", + "googlecloudmonitoring_point_count", + ), + otel.Transform("metric", "metric", + // create new count metric from histogram metric + otel.ExtractCountMetric(true, "grpc_client_attempt_duration"), ), otel.MetricsTransform( otel.RenameMetric("otelcol_process_uptime", "agent/uptime", @@ -69,9 +73,7 @@ func (r AgentSelfMetrics) OTelReceiverPipeline() otel.ReceiverPipeline { // remove service.version label otel.AggregateLabels("sum"), ), - otel.RenameMetric("otelcol_grpc_io_client_completed_rpcs", "agent/api_request_count", - // change data type from double -> int64 - otel.ToggleScalarDataType, + otel.RenameMetric("grpc_client_attempt_duration_count", "agent/api_request_count", // TODO: below is proposed new configuration for the metrics transform processor // ignore any non "google.monitoring" RPCs (note there won't be any other RPCs for now) // - action: select_label_values @@ -81,7 +83,7 @@ func (r AgentSelfMetrics) OTelReceiverPipeline() otel.ReceiverPipeline { // delete grpc_client_method dimension & service.version label, retaining only state otel.AggregateLabels("sum", "state"), ), - otel.RenameMetric("otelcol_googlecloudmonitoring_point_count", "agent/monitoring/point_count", + otel.RenameMetric("googlecloudmonitoring_point_count", "agent/monitoring/point_count", // change data type from double -> int64 otel.ToggleScalarDataType, // Remove service.version label diff --git a/confgenerator/confgenerator.go b/confgenerator/confgenerator.go index 6481e45..11d5be8 100644 --- a/confgenerator/confgenerator.go +++ b/confgenerator/confgenerator.go @@ -54,8 +54,7 @@ func googleManagedPrometheusExporter(userAgent string) otel.Component { return otel.Component{ Type: "googlemanagedprometheus", Config: map[string]interface{}{ - "user_agent": userAgent, - "untyped_double_export": true, + "user_agent": userAgent, // The exporter has the config option addMetricSuffixes with default value true. It will add Prometheus // style suffixes to metric names, e.g., `_total` for a counter; set to false to collect metrics as is "metric": map[string]interface{}{ diff --git a/confgenerator/config.go b/confgenerator/config.go index bb072a4..84e09b9 100644 --- a/confgenerator/config.go +++ b/confgenerator/config.go @@ -225,7 +225,6 @@ func (rc *RunMonitoringConfig) OTelReceiverPipeline() (*otel.ReceiverPipeline, e Receiver: otel.Component{ Type: "prometheus", Config: map[string]interface{}{ - "preserve_untyped": true, "use_start_time_metric": true, "use_collector_start_time_fallback": true, "allow_cumulative_resets": true, @@ -294,26 +293,23 @@ func relabelingsForMetadata(keys map[string]struct{}, env *CloudRunEnvironment) if _, ok := keys["service"]; ok { res = append(res, &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - Replacement: env.Service, - TargetLabel: cloudRunServiceLabel, + Action: relabel.Replace, + Replacement: env.Service, + TargetLabel: cloudRunServiceLabel, }) } if _, ok := keys["revision"]; ok { res = append(res, &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - Replacement: env.Revision, - TargetLabel: cloudRunRevisionLabel, + Action: relabel.Replace, + Replacement: env.Revision, + TargetLabel: cloudRunRevisionLabel, }) } if _, ok := keys["configuration"]; ok { res = append(res, &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - Replacement: env.Configuration, - TargetLabel: cloudRunConfigurationLabel, + Action: relabel.Replace, + Replacement: env.Configuration, + TargetLabel: cloudRunConfigurationLabel, }) } return res @@ -337,16 +333,14 @@ func endpointScrapeConfig(id, cfgName string, ep ScrapeEndpoint, relabelCfgs []* TargetLabel: "job", }, &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - TargetLabel: "cluster", - Replacement: "__run__", + Action: relabel.Replace, + TargetLabel: "cluster", + Replacement: "__run__", }, &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - TargetLabel: "namespace", - Replacement: env.Service, + Action: relabel.Replace, + TargetLabel: "namespace", + Replacement: env.Service, }, // The `instance` label will be : in the final metric. // But since is unavailable until the gcp resource detector @@ -355,10 +349,9 @@ func endpointScrapeConfig(id, cfgName string, ep ScrapeEndpoint, relabelCfgs []* // See the usage of PrefixResourceAttribute for when the rest of the // instance label is filled in. &relabel.Config{ - Action: relabel.Replace, - SourceLabels: prommodel.LabelNames{"__address__"}, - TargetLabel: "instance", - Replacement: ep.Port, + Action: relabel.Replace, + TargetLabel: "instance", + Replacement: ep.Port, }, ) @@ -401,6 +394,7 @@ func endpointScrapeConfig(id, cfgName string, ep ScrapeEndpoint, relabelCfgs []* ScrapeTimeout: timeout, RelabelConfigs: relabelCfgs, MetricRelabelConfigs: metricRelabelCfgs, + ScrapeProtocols: promconfig.DefaultScrapeProtocols, } if limits != nil { scrapeCfg.SampleLimit = uint(limits.Samples) @@ -408,6 +402,10 @@ func endpointScrapeConfig(id, cfgName string, ep ScrapeEndpoint, relabelCfgs []* scrapeCfg.LabelNameLengthLimit = uint(limits.LabelNameLength) scrapeCfg.LabelValueLengthLimit = uint(limits.LabelValueLength) } + if err := scrapeCfg.Validate(promconfig.DefaultGlobalConfig); err != nil { + return nil, fmt.Errorf("invalid scrape config: %w", err) + } + // The Prometheus configuration structs do not generally have validation methods and embed their // validation logic in the UnmarshalYAML methods. To keep things reasonable we don't re-validate // everything and simply do a final marshal-unmarshal cycle at the end to run all validation diff --git a/confgenerator/otel/processors.go b/confgenerator/otel/processors.go index 6a1dd64..6e5a64a 100644 --- a/confgenerator/otel/processors.go +++ b/confgenerator/otel/processors.go @@ -158,13 +158,16 @@ func TransformationMetrics(queries ...TransformQuery) Component { for _, q := range queries { queryStrings = append(queryStrings, string(q)) } + datapointStatements := []map[string]any{ + { + "context": "datapoint", + "statements": queryStrings, + }, + } return Component{ Type: "transform", - Config: map[string]map[string]interface{}{ - "metric_statements": { - "context": "datapoint", - "statements": queryStrings, - }, + Config: map[string]any{ + "metric_statements": datapointStatements, }, } } @@ -204,3 +207,30 @@ func PrefixResourceAttribute(destResourceAttribute, srcResourceAttribute, delimi func AddMetricLabel(key, val string) TransformQuery { return TransformQuery(fmt.Sprintf(`set(attributes["%s"], "%s")`, key, val)) } + +// Transform returns a transform processor object that executes statements on statementType data. +func Transform(statementType, context string, statements []string) Component { + return Component{ + Type: "transform", + Config: map[string]any{ + "error_mode": "ignore", + fmt.Sprintf("%s_statements", statementType): []map[string]any{ + { + "context": context, + "statements": statements, + }, + }, + }, + } +} + +// ExtractCountMetric creates a new metric based on the count value of a Histogram metric +func ExtractCountMetric(monotonic bool, metricName string) []string { + monotonicStr := "false" + if monotonic { + monotonicStr = "true" + } + return []string{ + fmt.Sprintf(`extract_count_metric(%s) where name == "%s"`, monotonicStr, metricName), + } +} diff --git a/confgenerator/testdata/add-metadata-labels/golden/otel.yaml b/confgenerator/testdata/add-metadata-labels/golden/otel.yaml index 0f102ee..f1445b1 100644 --- a/confgenerator/testdata/add-metadata-labels/golden/otel.yaml +++ b/confgenerator/testdata/add-metadata-labels/golden/otel.yaml @@ -2,7 +2,6 @@ exporters: googlemanagedprometheus: metric: add_metric_suffixes: false - untyped_double_export: true user_agent: Google-Cloud-Run-GMP-Sidecar/latest; ShortName=run-gmp;ShortVersion=latest processors: filter/run-gmp-self-metrics_0: @@ -12,17 +11,17 @@ processors: metric_names: - otelcol_process_uptime - otelcol_process_memory_rss - - otelcol_grpc_io_client_completed_rpcs - - otelcol_googlecloudmonitoring_point_count + - grpc_client_attempt_duration + - googlecloudmonitoring_point_count groupbyattrs/application-metrics_2: keys: - namespace - cluster - groupbyattrs/run-gmp-self-metrics_4: + groupbyattrs/run-gmp-self-metrics_5: keys: - namespace - cluster - metricstransform/run-gmp-self-metrics_1: + metricstransform/run-gmp-self-metrics_2: transforms: - action: update include: otelcol_process_uptime @@ -44,10 +43,9 @@ processors: aggregation_type: sum label_set: [] - action: update - include: otelcol_grpc_io_client_completed_rpcs + include: grpc_client_attempt_duration_count new_name: agent/api_request_count operations: - - action: toggle_scalar_data_type - action: update_label label: grpc_client_status new_label: state @@ -56,7 +54,7 @@ processors: label_set: - state - action: update - include: otelcol_googlecloudmonitoring_point_count + include: googlecloudmonitoring_point_count new_name: agent/monitoring/point_count operations: - action: toggle_scalar_data_type @@ -68,26 +66,32 @@ processors: detectors: - gcp - env - resourcedetection/run-gmp-self-metrics_2: + resourcedetection/run-gmp-self-metrics_3: detectors: - gcp - env transform/application-metrics_1: metric_statements: - context: datapoint + - context: datapoint statements: - replace_pattern(resource.attributes["service.instance.id"], "^(\\d+)$$", Concat([resource.attributes["faas.id"], "$$1"], ":")) transform/application-metrics_3: metric_statements: - context: datapoint + - context: datapoint statements: - set(resource.attributes["gcp.project.id"], attributes["project_id"]) where attributes["project_id"] != nil - delete_key(attributes, "project_id") - transform/run-gmp-self-metrics_3: + transform/run-gmp-self-metrics_1: + error_mode: ignore + metric_statements: + - context: metric + statements: + - extract_count_metric(true) where name == "grpc_client_attempt_duration" + transform/run-gmp-self-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["namespace"], "test_service") - set(attributes["cluster"], "__run__") @@ -100,37 +104,42 @@ receivers: scrape_configs: - job_name: run-gmp-sidecar-0 honor_timestamps: false + track_timestamps_staleness: false scrape_interval: 1m scrape_timeout: 1m + scrape_protocols: + - OpenMetricsText1.0.0 + - OpenMetricsText0.0.1 + - PrometheusText0.0.4 metrics_path: /metrics + enable_compression: false sample_limit: 1000 follow_redirects: false enable_http2: false - http_headers: null relabel_configs: - - source_labels: [__address__] + - regex: null target_label: service_name replacement: test_service action: replace - - target_label: job + - regex: null + target_label: job replacement: run-run-run action: replace - - source_labels: [__address__] + - regex: null target_label: cluster replacement: __run__ action: replace - - source_labels: [__address__] + - regex: null target_label: namespace replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: instance replacement: "8080" action: replace static_configs: - targets: - 0.0.0.0:8080 - preserve_untyped: true use_collector_start_time_fallback: true use_start_time_metric: true prometheus/run-gmp-self-metrics: @@ -164,10 +173,11 @@ service: - googlemanagedprometheus processors: - filter/run-gmp-self-metrics_0 - - metricstransform/run-gmp-self-metrics_1 - - resourcedetection/run-gmp-self-metrics_2 - - transform/run-gmp-self-metrics_3 - - groupbyattrs/run-gmp-self-metrics_4 + - transform/run-gmp-self-metrics_1 + - metricstransform/run-gmp-self-metrics_2 + - resourcedetection/run-gmp-self-metrics_3 + - transform/run-gmp-self-metrics_4 + - groupbyattrs/run-gmp-self-metrics_5 receivers: - prometheus/run-gmp-self-metrics telemetry: diff --git a/confgenerator/testdata/builtin/golden/otel.yaml b/confgenerator/testdata/builtin/golden/otel.yaml index adb7f82..6d2e63d 100644 --- a/confgenerator/testdata/builtin/golden/otel.yaml +++ b/confgenerator/testdata/builtin/golden/otel.yaml @@ -2,7 +2,6 @@ exporters: googlemanagedprometheus: metric: add_metric_suffixes: false - untyped_double_export: true user_agent: Google-Cloud-Run-GMP-Sidecar/latest; ShortName=run-gmp;ShortVersion=latest processors: filter/run-gmp-self-metrics_0: @@ -12,17 +11,17 @@ processors: metric_names: - otelcol_process_uptime - otelcol_process_memory_rss - - otelcol_grpc_io_client_completed_rpcs - - otelcol_googlecloudmonitoring_point_count + - grpc_client_attempt_duration + - googlecloudmonitoring_point_count groupbyattrs/application-metrics_3: keys: - namespace - cluster - groupbyattrs/run-gmp-self-metrics_4: + groupbyattrs/run-gmp-self-metrics_5: keys: - namespace - cluster - metricstransform/run-gmp-self-metrics_1: + metricstransform/run-gmp-self-metrics_2: transforms: - action: update include: otelcol_process_uptime @@ -44,10 +43,9 @@ processors: aggregation_type: sum label_set: [] - action: update - include: otelcol_grpc_io_client_completed_rpcs + include: grpc_client_attempt_duration_count new_name: agent/api_request_count operations: - - action: toggle_scalar_data_type - action: update_label label: grpc_client_status new_label: state @@ -56,7 +54,7 @@ processors: label_set: - state - action: update - include: otelcol_googlecloudmonitoring_point_count + include: googlecloudmonitoring_point_count new_name: agent/monitoring/point_count operations: - action: toggle_scalar_data_type @@ -68,31 +66,37 @@ processors: detectors: - gcp - env - resourcedetection/run-gmp-self-metrics_2: + resourcedetection/run-gmp-self-metrics_3: detectors: - gcp - env transform/application-metrics_1: metric_statements: - context: datapoint + - context: datapoint statements: - replace_pattern(resource.attributes["service.instance.id"], "^(\\d+)$$", Concat([resource.attributes["faas.id"], "$$1"], ":")) transform/application-metrics_2: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["instanceId"], resource.attributes["faas.id"]) transform/application-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(resource.attributes["gcp.project.id"], attributes["project_id"]) where attributes["project_id"] != nil - delete_key(attributes, "project_id") - transform/run-gmp-self-metrics_3: + transform/run-gmp-self-metrics_1: + error_mode: ignore + metric_statements: + - context: metric + statements: + - extract_count_metric(true) where name == "grpc_client_attempt_duration" + transform/run-gmp-self-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["namespace"], "test_service") - set(attributes["cluster"], "__run__") @@ -105,44 +109,49 @@ receivers: scrape_configs: - job_name: run-gmp-sidecar-0 honor_timestamps: false + track_timestamps_staleness: false scrape_interval: 30s scrape_timeout: 30s + scrape_protocols: + - OpenMetricsText1.0.0 + - OpenMetricsText0.0.1 + - PrometheusText0.0.4 metrics_path: /metrics + enable_compression: false follow_redirects: false enable_http2: false - http_headers: null relabel_configs: - - source_labels: [__address__] + - regex: null target_label: service_name replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: revision_name replacement: test_revision action: replace - - source_labels: [__address__] + - regex: null target_label: configuration_name replacement: test_configuration action: replace - - target_label: job + - regex: null + target_label: job replacement: run-gmp-sidecar action: replace - - source_labels: [__address__] + - regex: null target_label: cluster replacement: __run__ action: replace - - source_labels: [__address__] + - regex: null target_label: namespace replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: instance replacement: "8080" action: replace static_configs: - targets: - 0.0.0.0:8080 - preserve_untyped: true use_collector_start_time_fallback: true use_start_time_metric: true prometheus/run-gmp-self-metrics: @@ -177,10 +186,11 @@ service: - googlemanagedprometheus processors: - filter/run-gmp-self-metrics_0 - - metricstransform/run-gmp-self-metrics_1 - - resourcedetection/run-gmp-self-metrics_2 - - transform/run-gmp-self-metrics_3 - - groupbyattrs/run-gmp-self-metrics_4 + - transform/run-gmp-self-metrics_1 + - metricstransform/run-gmp-self-metrics_2 + - resourcedetection/run-gmp-self-metrics_3 + - transform/run-gmp-self-metrics_4 + - groupbyattrs/run-gmp-self-metrics_5 receivers: - prometheus/run-gmp-self-metrics telemetry: diff --git a/confgenerator/testdata/relabel-labels/golden/otel.yaml b/confgenerator/testdata/relabel-labels/golden/otel.yaml index 1aea34a..132d2ae 100644 --- a/confgenerator/testdata/relabel-labels/golden/otel.yaml +++ b/confgenerator/testdata/relabel-labels/golden/otel.yaml @@ -2,7 +2,6 @@ exporters: googlemanagedprometheus: metric: add_metric_suffixes: false - untyped_double_export: true user_agent: Google-Cloud-Run-GMP-Sidecar/latest; ShortName=run-gmp;ShortVersion=latest processors: filter/run-gmp-self-metrics_0: @@ -12,17 +11,17 @@ processors: metric_names: - otelcol_process_uptime - otelcol_process_memory_rss - - otelcol_grpc_io_client_completed_rpcs - - otelcol_googlecloudmonitoring_point_count + - grpc_client_attempt_duration + - googlecloudmonitoring_point_count groupbyattrs/application-metrics_3: keys: - namespace - cluster - groupbyattrs/run-gmp-self-metrics_4: + groupbyattrs/run-gmp-self-metrics_5: keys: - namespace - cluster - metricstransform/run-gmp-self-metrics_1: + metricstransform/run-gmp-self-metrics_2: transforms: - action: update include: otelcol_process_uptime @@ -44,10 +43,9 @@ processors: aggregation_type: sum label_set: [] - action: update - include: otelcol_grpc_io_client_completed_rpcs + include: grpc_client_attempt_duration_count new_name: agent/api_request_count operations: - - action: toggle_scalar_data_type - action: update_label label: grpc_client_status new_label: state @@ -56,7 +54,7 @@ processors: label_set: - state - action: update - include: otelcol_googlecloudmonitoring_point_count + include: googlecloudmonitoring_point_count new_name: agent/monitoring/point_count operations: - action: toggle_scalar_data_type @@ -68,31 +66,37 @@ processors: detectors: - gcp - env - resourcedetection/run-gmp-self-metrics_2: + resourcedetection/run-gmp-self-metrics_3: detectors: - gcp - env transform/application-metrics_1: metric_statements: - context: datapoint + - context: datapoint statements: - replace_pattern(resource.attributes["service.instance.id"], "^(\\d+)$$", Concat([resource.attributes["faas.id"], "$$1"], ":")) transform/application-metrics_2: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["instanceId"], resource.attributes["faas.id"]) transform/application-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(resource.attributes["gcp.project.id"], attributes["project_id"]) where attributes["project_id"] != nil - delete_key(attributes, "project_id") - transform/run-gmp-self-metrics_3: + transform/run-gmp-self-metrics_1: + error_mode: ignore + metric_statements: + - context: metric + statements: + - extract_count_metric(true) where name == "grpc_client_attempt_duration" + transform/run-gmp-self-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["namespace"], "test_service") - set(attributes["cluster"], "__run__") @@ -105,48 +109,54 @@ receivers: scrape_configs: - job_name: run-gmp-sidecar-0 honor_timestamps: false + track_timestamps_staleness: false scrape_interval: 10s scrape_timeout: 10s + scrape_protocols: + - OpenMetricsText1.0.0 + - OpenMetricsText0.0.1 + - PrometheusText0.0.4 metrics_path: /metrics + enable_compression: false follow_redirects: false enable_http2: false - http_headers: null relabel_configs: - - source_labels: [__address__] + - regex: null target_label: service_name replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: revision_name replacement: test_revision action: replace - - source_labels: [__address__] + - regex: null target_label: configuration_name replacement: test_configuration action: replace - - target_label: job + - regex: null + target_label: job replacement: mycollector action: replace - - source_labels: [__address__] + - regex: null target_label: cluster replacement: __run__ action: replace - - source_labels: [__address__] + - regex: null target_label: namespace replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: instance replacement: "8080" action: replace metric_relabel_configs: - source_labels: [some_label] + regex: null target_label: target_label action: replace static_configs: - targets: - 0.0.0.0:8080 - preserve_untyped: true use_collector_start_time_fallback: true use_start_time_metric: true prometheus/run-gmp-self-metrics: @@ -181,10 +191,11 @@ service: - googlemanagedprometheus processors: - filter/run-gmp-self-metrics_0 - - metricstransform/run-gmp-self-metrics_1 - - resourcedetection/run-gmp-self-metrics_2 - - transform/run-gmp-self-metrics_3 - - groupbyattrs/run-gmp-self-metrics_4 + - transform/run-gmp-self-metrics_1 + - metricstransform/run-gmp-self-metrics_2 + - resourcedetection/run-gmp-self-metrics_3 + - transform/run-gmp-self-metrics_4 + - groupbyattrs/run-gmp-self-metrics_5 receivers: - prometheus/run-gmp-self-metrics telemetry: diff --git a/confgenerator/testdata/relabel_project_id/golden/otel.yaml b/confgenerator/testdata/relabel_project_id/golden/otel.yaml index 12ca90f..1621d62 100644 --- a/confgenerator/testdata/relabel_project_id/golden/otel.yaml +++ b/confgenerator/testdata/relabel_project_id/golden/otel.yaml @@ -2,7 +2,6 @@ exporters: googlemanagedprometheus: metric: add_metric_suffixes: false - untyped_double_export: true user_agent: Google-Cloud-Run-GMP-Sidecar/latest; ShortName=run-gmp;ShortVersion=latest processors: filter/run-gmp-self-metrics_0: @@ -12,17 +11,17 @@ processors: metric_names: - otelcol_process_uptime - otelcol_process_memory_rss - - otelcol_grpc_io_client_completed_rpcs - - otelcol_googlecloudmonitoring_point_count + - grpc_client_attempt_duration + - googlecloudmonitoring_point_count groupbyattrs/application-metrics_3: keys: - namespace - cluster - groupbyattrs/run-gmp-self-metrics_4: + groupbyattrs/run-gmp-self-metrics_5: keys: - namespace - cluster - metricstransform/run-gmp-self-metrics_1: + metricstransform/run-gmp-self-metrics_2: transforms: - action: update include: otelcol_process_uptime @@ -44,10 +43,9 @@ processors: aggregation_type: sum label_set: [] - action: update - include: otelcol_grpc_io_client_completed_rpcs + include: grpc_client_attempt_duration_count new_name: agent/api_request_count operations: - - action: toggle_scalar_data_type - action: update_label label: grpc_client_status new_label: state @@ -56,7 +54,7 @@ processors: label_set: - state - action: update - include: otelcol_googlecloudmonitoring_point_count + include: googlecloudmonitoring_point_count new_name: agent/monitoring/point_count operations: - action: toggle_scalar_data_type @@ -68,31 +66,37 @@ processors: detectors: - gcp - env - resourcedetection/run-gmp-self-metrics_2: + resourcedetection/run-gmp-self-metrics_3: detectors: - gcp - env transform/application-metrics_1: metric_statements: - context: datapoint + - context: datapoint statements: - replace_pattern(resource.attributes["service.instance.id"], "^(\\d+)$$", Concat([resource.attributes["faas.id"], "$$1"], ":")) transform/application-metrics_2: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["instanceId"], resource.attributes["faas.id"]) transform/application-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(resource.attributes["gcp.project.id"], attributes["project_id"]) where attributes["project_id"] != nil - delete_key(attributes, "project_id") - transform/run-gmp-self-metrics_3: + transform/run-gmp-self-metrics_1: + error_mode: ignore + metric_statements: + - context: metric + statements: + - extract_count_metric(true) where name == "grpc_client_attempt_duration" + transform/run-gmp-self-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["namespace"], "test_service") - set(attributes["cluster"], "__run__") @@ -105,48 +109,54 @@ receivers: scrape_configs: - job_name: run-gmp-sidecar-0 honor_timestamps: false + track_timestamps_staleness: false scrape_interval: 10s scrape_timeout: 10s + scrape_protocols: + - OpenMetricsText1.0.0 + - OpenMetricsText0.0.1 + - PrometheusText0.0.4 metrics_path: /metrics + enable_compression: false follow_redirects: false enable_http2: false - http_headers: null relabel_configs: - - source_labels: [__address__] + - regex: null target_label: service_name replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: revision_name replacement: test_revision action: replace - - source_labels: [__address__] + - regex: null target_label: configuration_name replacement: test_configuration action: replace - - target_label: job + - regex: null + target_label: job replacement: mycollector action: replace - - source_labels: [__address__] + - regex: null target_label: cluster replacement: __run__ action: replace - - source_labels: [__address__] + - regex: null target_label: namespace replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: instance replacement: "8080" action: replace metric_relabel_configs: - source_labels: [some_label] + regex: null target_label: project_id action: replace static_configs: - targets: - 0.0.0.0:8080 - preserve_untyped: true use_collector_start_time_fallback: true use_start_time_metric: true prometheus/run-gmp-self-metrics: @@ -181,10 +191,11 @@ service: - googlemanagedprometheus processors: - filter/run-gmp-self-metrics_0 - - metricstransform/run-gmp-self-metrics_1 - - resourcedetection/run-gmp-self-metrics_2 - - transform/run-gmp-self-metrics_3 - - groupbyattrs/run-gmp-self-metrics_4 + - transform/run-gmp-self-metrics_1 + - metricstransform/run-gmp-self-metrics_2 + - resourcedetection/run-gmp-self-metrics_3 + - transform/run-gmp-self-metrics_4 + - groupbyattrs/run-gmp-self-metrics_5 receivers: - prometheus/run-gmp-self-metrics telemetry: diff --git a/confgenerator/testdata/simple-app-scrape/golden/otel.yaml b/confgenerator/testdata/simple-app-scrape/golden/otel.yaml index 5610dee..ea9aeff 100644 --- a/confgenerator/testdata/simple-app-scrape/golden/otel.yaml +++ b/confgenerator/testdata/simple-app-scrape/golden/otel.yaml @@ -2,7 +2,6 @@ exporters: googlemanagedprometheus: metric: add_metric_suffixes: false - untyped_double_export: true user_agent: Google-Cloud-Run-GMP-Sidecar/latest; ShortName=run-gmp;ShortVersion=latest processors: filter/run-gmp-self-metrics_0: @@ -12,17 +11,17 @@ processors: metric_names: - otelcol_process_uptime - otelcol_process_memory_rss - - otelcol_grpc_io_client_completed_rpcs - - otelcol_googlecloudmonitoring_point_count + - grpc_client_attempt_duration + - googlecloudmonitoring_point_count groupbyattrs/application-metrics_3: keys: - namespace - cluster - groupbyattrs/run-gmp-self-metrics_4: + groupbyattrs/run-gmp-self-metrics_5: keys: - namespace - cluster - metricstransform/run-gmp-self-metrics_1: + metricstransform/run-gmp-self-metrics_2: transforms: - action: update include: otelcol_process_uptime @@ -44,10 +43,9 @@ processors: aggregation_type: sum label_set: [] - action: update - include: otelcol_grpc_io_client_completed_rpcs + include: grpc_client_attempt_duration_count new_name: agent/api_request_count operations: - - action: toggle_scalar_data_type - action: update_label label: grpc_client_status new_label: state @@ -56,7 +54,7 @@ processors: label_set: - state - action: update - include: otelcol_googlecloudmonitoring_point_count + include: googlecloudmonitoring_point_count new_name: agent/monitoring/point_count operations: - action: toggle_scalar_data_type @@ -68,31 +66,37 @@ processors: detectors: - gcp - env - resourcedetection/run-gmp-self-metrics_2: + resourcedetection/run-gmp-self-metrics_3: detectors: - gcp - env transform/application-metrics_1: metric_statements: - context: datapoint + - context: datapoint statements: - replace_pattern(resource.attributes["service.instance.id"], "^(\\d+)$$", Concat([resource.attributes["faas.id"], "$$1"], ":")) transform/application-metrics_2: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["instanceId"], resource.attributes["faas.id"]) transform/application-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(resource.attributes["gcp.project.id"], attributes["project_id"]) where attributes["project_id"] != nil - delete_key(attributes, "project_id") - transform/run-gmp-self-metrics_3: + transform/run-gmp-self-metrics_1: + error_mode: ignore + metric_statements: + - context: metric + statements: + - extract_count_metric(true) where name == "grpc_client_attempt_duration" + transform/run-gmp-self-metrics_4: metric_statements: - context: datapoint + - context: datapoint statements: - set(attributes["namespace"], "test_service") - set(attributes["cluster"], "__run__") @@ -105,44 +109,49 @@ receivers: scrape_configs: - job_name: run-gmp-sidecar-0 honor_timestamps: false + track_timestamps_staleness: false scrape_interval: 1m scrape_timeout: 1m + scrape_protocols: + - OpenMetricsText1.0.0 + - OpenMetricsText0.0.1 + - PrometheusText0.0.4 metrics_path: /metrics + enable_compression: false follow_redirects: false enable_http2: false - http_headers: null relabel_configs: - - source_labels: [__address__] + - regex: null target_label: service_name replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: revision_name replacement: test_revision action: replace - - source_labels: [__address__] + - regex: null target_label: configuration_name replacement: test_configuration action: replace - - target_label: job + - regex: null + target_label: job replacement: run-run-run action: replace - - source_labels: [__address__] + - regex: null target_label: cluster replacement: __run__ action: replace - - source_labels: [__address__] + - regex: null target_label: namespace replacement: test_service action: replace - - source_labels: [__address__] + - regex: null target_label: instance replacement: "8080" action: replace static_configs: - targets: - 0.0.0.0:8080 - preserve_untyped: true use_collector_start_time_fallback: true use_start_time_metric: true prometheus/run-gmp-self-metrics: @@ -177,10 +186,11 @@ service: - googlemanagedprometheus processors: - filter/run-gmp-self-metrics_0 - - metricstransform/run-gmp-self-metrics_1 - - resourcedetection/run-gmp-self-metrics_2 - - transform/run-gmp-self-metrics_3 - - groupbyattrs/run-gmp-self-metrics_4 + - transform/run-gmp-self-metrics_1 + - metricstransform/run-gmp-self-metrics_2 + - resourcedetection/run-gmp-self-metrics_3 + - transform/run-gmp-self-metrics_4 + - groupbyattrs/run-gmp-self-metrics_5 receivers: - prometheus/run-gmp-self-metrics telemetry: diff --git a/go.mod b/go.mod index 9803a4d..1704624 100644 --- a/go.mod +++ b/go.mod @@ -1,201 +1,239 @@ module github.com/GoogleCloudPlatform/run-gmp-sidecar -go 1.21.0 +go 1.22.7 -toolchain go1.22.0 +toolchain go1.23.1 require ( - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.45.0 - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.45.0 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0 github.com/goccy/go-yaml v1.11.2 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.97.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.102.0 - github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.102.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.113.0 + github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.113.0 github.com/shirou/gopsutil v3.21.11+incompatible github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.102.1 - go.opentelemetry.io/collector/confmap v0.102.1 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1 - go.opentelemetry.io/collector/consumer v0.102.1 - go.opentelemetry.io/collector/exporter v0.102.1 - go.opentelemetry.io/collector/exporter/loggingexporter v0.102.1 - go.opentelemetry.io/collector/exporter/otlpexporter v0.102.1 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.102.1 - go.opentelemetry.io/collector/extension v0.102.1 - go.opentelemetry.io/collector/extension/ballastextension v0.102.1 - go.opentelemetry.io/collector/extension/zpagesextension v0.102.1 - go.opentelemetry.io/collector/featuregate v1.9.0 - go.opentelemetry.io/collector/otelcol v0.102.1 - go.opentelemetry.io/collector/pdata v1.9.0 - go.opentelemetry.io/collector/processor v0.102.1 - go.opentelemetry.io/collector/processor/batchprocessor v0.102.1 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.102.1 - go.opentelemetry.io/collector/receiver v0.102.1 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.102.1 - go.opentelemetry.io/collector/semconv v0.102.1 + go.opentelemetry.io/collector/component v0.113.0 + go.opentelemetry.io/collector/confmap v1.19.0 + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.19.0 + go.opentelemetry.io/collector/consumer v0.113.0 + go.opentelemetry.io/collector/consumer/consumertest v0.113.0 + go.opentelemetry.io/collector/exporter v0.113.0 + go.opentelemetry.io/collector/exporter/otlpexporter v0.113.0 + go.opentelemetry.io/collector/exporter/otlphttpexporter v0.113.0 + go.opentelemetry.io/collector/extension v0.113.0 + go.opentelemetry.io/collector/extension/zpagesextension v0.113.0 + go.opentelemetry.io/collector/featuregate v1.19.0 + go.opentelemetry.io/collector/otelcol v0.113.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.19.0 + go.opentelemetry.io/collector/processor v0.113.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.113.0 + go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.113.0 + go.opentelemetry.io/collector/receiver v0.113.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.113.0 + go.opentelemetry.io/collector/semconv v0.113.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/text v0.16.0 + golang.org/x/text v0.19.0 gotest.tools/v3 v3.5.0 ) require ( - cloud.google.com/go/auth v0.5.1 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect + github.com/prometheus/common v0.60.1 + go.opentelemetry.io/collector/component/componentstatus v0.113.0 + go.opentelemetry.io/collector/confmap/provider/envprovider v1.19.0 + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.19.0 + go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.17.0 + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.19.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.113.0 + go.opentelemetry.io/collector/exporter/exportertest v0.113.0 + go.opentelemetry.io/collector/receiver/receivertest v0.113.0 +) + +require ( + cloud.google.com/go/auth v0.10.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.5 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect - github.com/apache/thrift v0.20.0 // indirect + github.com/Code-Hex/go-generics-cache v1.5.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect - github.com/distribution/reference v0.5.0 // indirect + github.com/distribution/reference v0.6.0 // indirect + github.com/ebitengine/purego v0.8.1 // indirect + github.com/elastic/go-grok v0.3.1 // indirect + github.com/elastic/lunes v0.1.0 // indirect github.com/expr-lang/expr v1.16.9 // indirect + github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-playground/validator/v10 v10.15.5 // indirect - github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/s2a-go v0.1.7 // indirect + github.com/google/s2a-go v0.1.8 // indirect github.com/gorilla/mux v1.8.1 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/hetznercloud/hcloud-go/v2 v2.6.0 // indirect - github.com/jaegertracing/jaeger v1.57.0 // indirect + github.com/hetznercloud/hcloud-go/v2 v2.10.2 // indirect + github.com/jaegertracing/jaeger v1.62.0 // indirect + github.com/jonboulle/clockwork v0.4.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/kylelemons/godebug v1.1.0 // indirect - github.com/leodido/go-syslog/v4 v4.1.0 // indirect + github.com/leodido/go-syslog/v4 v4.2.0 // indirect github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b // indirect github.com/lightstep/go-expohisto v1.0.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.102.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.102.0 // indirect + github.com/magefile/mage v1.15.0 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.113.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.113.0 // indirect github.com/openshift/api v3.9.0+incompatible // indirect github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 // indirect github.com/openzipkin/zipkin-go v0.4.3 // indirect - github.com/ovh/go-ovh v1.4.3 // indirect + github.com/ovh/go-ovh v1.6.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect + github.com/shirou/gopsutil/v4 v4.24.10 // indirect github.com/soheilhy/cmux v0.1.5 // indirect - github.com/tidwall/gjson v1.17.1 // indirect + github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect github.com/tidwall/tinylru v1.2.1 // indirect github.com/tidwall/wal v1.1.7 // indirect - github.com/tilinna/clock v1.1.0 // indirect + github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect github.com/valyala/fastjson v1.6.4 // indirect - go.opentelemetry.io/collector v0.102.1 // indirect - go.opentelemetry.io/collector/config/configauth v0.102.1 // indirect - go.opentelemetry.io/collector/config/configcompression v1.9.0 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.102.1 // indirect - go.opentelemetry.io/collector/config/confighttp v0.102.1 // indirect - go.opentelemetry.io/collector/config/confignet v0.102.1 // indirect - go.opentelemetry.io/collector/config/configopaque v1.9.0 // indirect - go.opentelemetry.io/collector/config/configretry v0.102.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.102.1 // indirect - go.opentelemetry.io/collector/config/configtls v0.102.1 // indirect - go.opentelemetry.io/collector/config/internal v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/converter/expandconverter v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.102.1 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.102.1 // indirect - go.opentelemetry.io/collector/connector v0.102.1 // indirect - go.opentelemetry.io/collector/exporter/debugexporter v0.102.0 // indirect - go.opentelemetry.io/collector/extension/auth v0.102.1 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.102.1 // indirect - go.opentelemetry.io/collector/service v0.102.1 // indirect - go.opentelemetry.io/contrib/config v0.7.0 // indirect - go.opentelemetry.io/otel/bridge/opencensus v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.27.0 // indirect - go.opentelemetry.io/proto/otlp v1.2.0 // indirect - golang.org/x/sys v0.21.0 // indirect + github.com/x448/float16 v0.8.4 // indirect + go.opentelemetry.io/collector v0.113.0 // indirect + go.opentelemetry.io/collector/client v1.19.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.113.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.19.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.113.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.113.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.19.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.19.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.19.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.113.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.19.0 // indirect + go.opentelemetry.io/collector/config/internal v0.113.0 // indirect + go.opentelemetry.io/collector/connector v0.113.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.113.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.113.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.113.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.113.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.113.0 // indirect + go.opentelemetry.io/collector/internal/fanoutconsumer v0.113.0 // indirect + go.opentelemetry.io/collector/internal/memorylimiter v0.113.0 // indirect + go.opentelemetry.io/collector/internal/sharedcomponent v0.113.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.113.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.113.0 // indirect + go.opentelemetry.io/collector/pipeline v0.113.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.113.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.113.0 // indirect + go.opentelemetry.io/collector/service v0.113.0 // indirect + go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/proto/otlp v1.3.1 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect + google.golang.org/grpc/stats/opentelemetry v0.0.0-20241028142157-ada6787961b3 // indirect ) require ( - cloud.google.com/go/compute/metadata v0.3.0 // indirect - cloud.google.com/go/longrunning v0.5.7 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect + cloud.google.com/go/longrunning v0.6.2 // indirect github.com/iancoleman/strcase v0.3.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.102.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.113.0 // indirect; indir6.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/klog/v2 v2.120.1 // indirect + k8s.io/klog/v2 v2.130.1 // indirect ) require ( - cloud.google.com/go v0.114.0 // indirect - cloud.google.com/go/logging v1.10.0 // indirect - cloud.google.com/go/monitoring v1.19.0 // indirect - cloud.google.com/go/trace v1.10.7 // indirect - github.com/Azure/azure-sdk-for-go v67.1.0+incompatible // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.29 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.23 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect - github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.23.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.23.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.47.0 // indirect - github.com/Microsoft/go-winio v0.6.1 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/logging v1.12.0 // indirect + cloud.google.com/go/monitoring v1.21.2 // indirect + cloud.google.com/go/trace v1.11.2 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect github.com/Showmax/go-fqdn v1.0.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect + github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.53.11 // indirect + github.com/aws/aws-sdk-go v1.55.5 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 // indirect + github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dennwc/varint v1.0.0 // indirect - github.com/digitalocean/godo v1.109.0 // indirect - github.com/docker/docker v25.0.6+incompatible // indirect + github.com/digitalocean/godo v1.118.0 // indirect + github.com/docker/docker v27.3.1+incompatible // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.0 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect + github.com/envoyproxy/go-control-plane v0.13.1 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/go-kit/log v0.2.1 github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect @@ -204,11 +242,10 @@ require ( github.com/go-openapi/jsonpointer v0.20.2 // indirect github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/swag v0.22.9 // indirect - github.com/go-resty/resty/v2 v2.12.0 // indirect + github.com/go-resty/resty/v2 v2.13.1 // indirect github.com/go-zookeeper/zk v1.0.3 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gogo/protobuf v1.3.2 - github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 @@ -216,12 +253,12 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.4 // indirect - github.com/gophercloud/gophercloud v1.8.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/gax-go/v2 v2.13.0 // indirect + github.com/gophercloud/gophercloud v1.13.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd // indirect - github.com/hashicorp/consul/api v1.28.3 // indirect + github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect + github.com/hashicorp/consul/api v1.30.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect @@ -229,7 +266,7 @@ require ( github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect - github.com/hashicorp/nomad/api v0.0.0-20240306004928-3e7191ccb702 // indirect + github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 // indirect github.com/hashicorp/serf v0.10.1 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -238,15 +275,15 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.8 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf v1.5.0 // indirect github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b // indirect - github.com/linode/linodego v1.33.0 // indirect + github.com/linode/linodego v1.37.0 // indirect github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/miekg/dns v1.1.58 // indirect + github.com/miekg/dns v1.1.61 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 @@ -257,26 +294,24 @@ require ( github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.102.0 // indirect; indir6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.102.0 // indirect; indir6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.102.0 // indirect; indir6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.102.0 // indirect; indir6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.102.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.113.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.113.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.113.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.113.0 // indirect; indir6.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.113.0 // indirect; indir6.0 github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect - github.com/prometheus/client_golang v1.19.1 + github.com/prometheus/client_golang v1.20.5 github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.54.0 github.com/prometheus/common/sigv4 v0.1.0 // indirect - github.com/prometheus/procfs v0.15.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/prometheus v1.8.2-0.20211119115433-692a54649ed7 - github.com/rs/cors v1.11.0 // indirect - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.25 // indirect - github.com/shirou/gopsutil/v3 v3.24.4 // indirect - github.com/spf13/cobra v1.8.0 // indirect + github.com/rs/cors v1.11.1 // indirect + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 // indirect + github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect @@ -284,47 +319,48 @@ require ( github.com/vultr/govultr/v2 v2.17.2 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.27.0 // indirect - go.opentelemetry.io/contrib/zpages v0.52.0 // indirect - go.opentelemetry.io/otel v1.27.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.49.0 // indirect - go.opentelemetry.io/otel/metric v1.27.0 // indirect - go.opentelemetry.io/otel/sdk v1.27.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.27.0 // indirect - go.opentelemetry.io/otel/trace v1.27.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/contrib/zpages v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/goleak v1.3.0 - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/term v0.21.0 // indirect - golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - gonum.org/v1/gonum v0.15.0 // indirect - google.golang.org/api v0.183.0 // indirect - google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.64.1 // indirect - google.golang.org/protobuf v1.34.1 + golang.org/x/mod v0.20.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/time v0.7.0 // indirect + golang.org/x/tools v0.24.0 // indirect + gonum.org/v1/gonum v0.15.1 // indirect + google.golang.org/api v0.204.0 // indirect + google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.29.3 // indirect - k8s.io/apimachinery v0.29.3 - k8s.io/client-go v0.29.3 // indirect; indirect4 k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect - k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect + k8s.io/api v0.31.2 // indirect + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 // indirect; indirect4 k8s.io/klog/v2 v2.70.1 // indirect + k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect + k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) // Currently causes build issues on windows. Downgrading to previous version. replace github.com/mattn/go-ieproxy v0.0.9 => github.com/mattn/go-ieproxy v0.0.1 -replace github.com/prometheus/prometheus => github.com/googleCloudPlatform/prometheus v0.0.0-20240130185125-a628082fc857 +// Point to our fork of Prometheus at branch: feature/shutdownscrape_v0.54.1 +replace github.com/prometheus/prometheus => github.com/googleCloudPlatform/prometheus v0.0.0-20241010204127-522fcab662ec diff --git a/go.sum b/go.sum index 83e4eb2..8f9da67 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +cel.dev/expr v0.16.2 h1:RwRhoH17VhAu9U5CMvMhH1PDVgf0tuz9FT+24AfMLfU= +cel.dev/expr v0.16.2/go.mod h1:gXngZQMkWJoSbE8mOzehJlXQyubn/Vg0vR9/F3W7iw8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -13,28 +15,28 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.114.0 h1:OIPFAdfrFDFO2ve2U7r/H5SwSbBzEdrBdE7xkgwc+kY= -cloud.google.com/go v0.114.0/go.mod h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E= -cloud.google.com/go/auth v0.5.1 h1:0QNO7VThG54LUzKiQxv8C6x1YX7lUrzlAa1nVLF8CIw= -cloud.google.com/go/auth v0.5.1/go.mod h1:vbZT8GjzDf3AVqCcQmqeeM32U9HBFc32vVVAbwDsa6s= -cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= -cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.10.0 h1:tWlkvFAh+wwTOzXIjrwM64karR1iTBZ/GRr0S/DULYo= +cloud.google.com/go/auth v0.10.0/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= +cloud.google.com/go/auth/oauth2adapt v0.2.5 h1:2p29+dePqsCHPP1bqDJcKj4qxRyYCcbzKpFyKGt3MTk= +cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/logging v1.10.0 h1:f+ZXMqyrSJ5vZ5pE/zr0xC8y/M9BLNzQeLBwfeZ+wY4= -cloud.google.com/go/logging v1.10.0/go.mod h1:EHOwcxlltJrYGqMGfghSet736KR3hX1MAj614mrMk9I= -cloud.google.com/go/longrunning v0.5.7 h1:WLbHekDbjK1fVFD3ibpFFVoyizlLRl73I7YKuAKilhU= -cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng= -cloud.google.com/go/monitoring v1.19.0 h1:NCXf8hfQi+Kmr56QJezXRZ6GPb80ZI7El1XztyUuLQI= -cloud.google.com/go/monitoring v1.19.0/go.mod h1:25IeMR5cQ5BoZ8j1eogHE5VPJLlReQ7zFp5OiLgiGZw= +cloud.google.com/go/logging v1.12.0 h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk= +cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= +cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= +cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= +cloud.google.com/go/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= +cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -44,70 +46,60 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/trace v1.10.7 h1:gK8z2BIJQ3KIYGddw9RJLne5Fx0FEXkrEQzPaeEYVvk= -cloud.google.com/go/trace v1.10.7/go.mod h1:qk3eiKmZX0ar2dzIJN/3QhY2PIFh1eqcIdaN5uEjQPM= +cloud.google.com/go/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI= +cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go v67.1.0+incompatible h1:oziYcaopbnIKfM69DL05wXdypiqfrUKdxUKrKpynJTw= -github.com/Azure/azure-sdk-for-go v67.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 h1:GJHeeA2N7xrG3q30L2UXDyuWRzDM900/65j70wcM4Ww= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 h1:LkHbJbgF3YyvC53aqYGR+wWQDn2Rdp9AQdGndf9QvY4= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0/go.mod h1:QyiQdW4f4/BIfB8ZutZ2s+28RAgfa/pT+zS++ZHyM1I= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0 h1:PTFGRSlMKCQelWwxUyYVEUqseBJVemLyqWJjvMyt0do= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0/go.mod h1:LRr2FzBTQlONPPa5HREE5+RjSCTXl7BwOvYOaWTqCaI= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 h1:7CBQ+Ei8SP2c6ydQTGCCrS35bDxgTMfoP2miAwK++OU= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1/go.mod h1:c/wcGeGx5FUPbM/JltUYHZcKmigwyVLJlDq+4HdtXaw= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest v0.11.29 h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw= -github.com/Azure/go-autorest/autorest v0.11.29/go.mod h1:ZtEzC4Jy2JDrZLxvWs8LrBWEBycl1hbT1eknI8MtfAs= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.22/go.mod h1:XuAbAEUv2Tta//+voMI038TrJBqjKam0me7qR+L8Cmk= -github.com/Azure/go-autorest/autorest/adal v0.9.23 h1:Yepx8CvFxwNKpH6ja7RZ+sKX+DWYNldbLiALMC3BTz8= -github.com/Azure/go-autorest/autorest/adal v0.9.23/go.mod h1:5pcMqFkdPhviJdlEy3kC/v1ZLnQl0MH6XA5YCcMhy4c= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= -github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= +github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.23.0 h1:yRhWveg9NbJcJYoJL4FoSauT2dxnt4N9MIAJ7tvU/mQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.23.0/go.mod h1:p2puVVSKjQ84Qb1gzw2XHLs34WQyHTYFZLaVxypAFYs= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.45.0 h1:jYuZ3VSmHtR/OE4ZNlhgaWefopMKh8kxHMITQ7hXB0s= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.45.0/go.mod h1:b8EPYWl+yGWfPDP2P1slOiJkimNOQMD34szyZt1G0+s= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.45.0 h1:Kim3EFONcbm78LF3B/EPFegmsKtFYBNcoJ89ubBPblw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.45.0/go.mod h1:wyhLy43DJk49NlzxNhoqF0ueRjS3oBMJc1bjTmyYxiQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.23.0 h1:5A4O4OdC7yzkIEPl4GrS+PRYV15zsboaWBT52g3Hc0k= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.23.0/go.mod h1:zO73rmlwRYxQF/6Nul4PA/UIAYJo9BtDAMgPfMthXnw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.47.0 h1:h3GAq9n95A6IYOGqAucbp+tGBxAQul2vj5ORkmRrGxg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.47.0/go.mod h1:PdB0wkmILI+phhoBhWdrrB4LfORT9tHc03OOn+q3dWU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.47.0 h1:TOjDcFzPkoglwb5sa6+704TXwYgs+XsN5HYc98ksK+M= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.47.0/go.mod h1:ZC7rjqRzdhRKDK223jQ7Tsz89ZtrSSLH/VFzf7k5Sb0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0 h1:rr2d5SF7ZftByIvSRcY0O3/d1CcJqCKUa2IM4w+jDO4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0/go.mod h1:KqGde6Vb234azF979c1vjkzDltsWQuXDlwH70UViMPg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0 h1:9pdyqZQ667if9lQn63Ju9yFc77iWT2TUWJ4rZjyBlV0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0/go.mod h1:oeyVbfp6YKpD7Ot1Gaf86cpTRHx3dhLtnCZr+s1c/ro= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0 h1:4PoDbd/9/06IpwLGxSfvfNoEr9urvfkrN6mmJangGCg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0/go.mod h1:EycllQ1gupHbjqbcmfCr/H6FKSGSmEUONJ2ivb86qeY= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.49.0 h1:jJKWl98inONJAr/IZrdFQUWcwUO95DLY1XMD1ZIut+g= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.49.0/go.mod h1:l2fIqmwB+FKSfvn3bAD/0i+AXAxhIZjTK2svT/mgUXs= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0 h1:GYUJLfvd++4DMuMhCFLgLXvFwofIxh/qOwoGuS/LTew= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0/go.mod h1:wRbFgBQUVm1YXrvWKofAEmq9HNJTDphbAaJSSX01KUI= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Showmax/go-fqdn v1.0.0 h1:0rG5IbmVliNT5O19Mfuvna9LL7zlHyRfsSvBPZmF9tM= github.com/Showmax/go-fqdn v1.0.0/go.mod h1:SfrFBzmDCtCGrnHhoDjuvFnKsWjEQX/Q9ARZvOrJAko= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6icjJvbsmV8= @@ -119,11 +111,15 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 h1:ez/4by2iGztzR4L0zgAOR8lTQK9VlyBVVd7G4omaOQs= -github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= +github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= @@ -132,8 +128,8 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.53.11 h1:KcmduYvX15rRqt4ZU/7jKkmDxU/G87LJ9MUI0yQJh00= -github.com/aws/aws-sdk-go v1.53.11/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= +github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= @@ -144,6 +140,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72H github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= +github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -165,13 +163,13 @@ github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -179,20 +177,26 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= -github.com/digitalocean/godo v1.109.0 h1:4W97RJLJSUQ3veRZDNbp1Ol3Rbn6Lmt9bKGvfqYI5SU= -github.com/digitalocean/godo v1.109.0/go.mod h1:R6EmmWI8CT1+fCtjWY9UCB+L5uufuZH13wk3YhxycCs= -github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= -github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/digitalocean/godo v1.118.0 h1:lkzGFQmACrVCp7UqH1sAi4JK/PWwlc5aaxubgorKmC4= +github.com/digitalocean/godo v1.118.0/go.mod h1:Vk0vpCot2HOAJwc5WE8wljZGtJ3ZtWIc8MQ8rF38sdo= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v25.0.6+incompatible h1:5cPwbwriIcsua2REJe8HqQV+6WlWc1byg2QSXzBxBGg= -github.com/docker/docker v25.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.3.1+incompatible h1:KttF0XoteNTicmUtBO0L2tP+J7FGRFTjaEF4k6WdhfI= +github.com/docker/docker v27.3.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/ebitengine/purego v0.8.1 h1:sdRKd6plj7KYW33EH5As6YKfe8m9zbN9JMrOjNVF/BE= +github.com/ebitengine/purego v0.8.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= +github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= +github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= +github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= @@ -202,14 +206,12 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= -github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= +github.com/envoyproxy/go-control-plane v0.13.1 h1:vPfJZCkob6yTMEgS+0TwfTUfbHjfy/6vOJ8hUWX/uXE= +github.com/envoyproxy/go-control-plane v0.13.1/go.mod h1:X45hY0mufo6Fd0KW3rqsGvQMw58jvjymeCzBU3mWyHw= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -223,8 +225,10 @@ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -233,8 +237,6 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.13.0 h1:OoneCcHKHQ03LfBpoQCUfCluwd2Vt3ohz+kvbJneZAU= -github.com/go-kit/kit v0.13.0/go.mod h1:phqEHMMUbyrCFCTgH48JueqrM3md2HcAZ8N3XE4FKDg= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= @@ -274,18 +276,21 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.15.5 h1:LEBecTWb/1j5TNY1YYG2RcOUN3R7NLylN+x8TTueE24= github.com/go-playground/validator/v10 v10.15.5/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA= -github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0= +github.com/go-resty/resty/v2 v2.13.1 h1:x+LHXBI2nMB1vqndymf26quycC4aggYJ7DECYbiz03g= +github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96ORAI6Q7d+0= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c= -github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +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/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.11.2 h1:joq77SxuyIs9zzxEjgyLBugMQ9NEgTWxXfz2wVqwAaQ= github.com/goccy/go-yaml v1.11.2/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -294,9 +299,6 @@ github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6x github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= -github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -370,50 +372,48 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8 h1:n6vlPhxsA+BW/XsS5+uqi7GyzaLa5MH7qlSLBZtRdiA= -github.com/google/pprof v0.0.0-20230705174524-200ffdc848b8/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da h1:xRmpO92tb8y+Z85iUOMOicpCfaYcv7o3Cg3wKrIpg8g= +github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= +github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleCloudPlatform/prometheus v0.0.0-20240130185125-a628082fc857 h1:pbG7jNwWi81mZjBiWX+IxOg9YJmVhh5USo+J2asnub8= -github.com/googleCloudPlatform/prometheus v0.0.0-20240130185125-a628082fc857/go.mod h1:NLWNdUgjnUH7uTM0F2kHNyjGYksjLViM+wZS5QEX+fE= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleCloudPlatform/prometheus v0.0.0-20241010204127-522fcab662ec h1:eRU8m8HmM1gTQyCJfe2CmAQ/jBTe0jgzj4XPmIljRCI= +github.com/googleCloudPlatform/prometheus v0.0.0-20241010204127-522fcab662ec/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg= -github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI= +github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= +github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= -github.com/gophercloud/gophercloud v1.8.0 h1:TM3Jawprb2NrdOnvcHhWJalmKmAmOGgfZElM/3oBYCk= -github.com/gophercloud/gophercloud v1.8.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= +github.com/gophercloud/gophercloud v1.13.0 h1:8iY9d1DAbzMW6Vok1AxbbK5ZaUjzMp0tdyt4fX9IeJ0= +github.com/gophercloud/gophercloud v1.13.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= +github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd h1:PpuIBO5P3e9hpqBD0O/HjhShYuM6XE0i/lbE6J94kww= -github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= -github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= -github.com/hashicorp/consul/api v1.28.3 h1:IE06LST/knnCQ+cxcvzyXRF/DetkgGhJoaOFd4l9xkk= -github.com/hashicorp/consul/api v1.28.3/go.mod h1:7AGcUFu28HkgOKD/GmsIGIFzRTmN0L02AE9Thsr2OhU= -github.com/hashicorp/consul/proto-public v0.6.1 h1:+uzH3olCrksXYWAYHKqK782CtK9scfqH+Unlw3UHhCg= -github.com/hashicorp/consul/proto-public v0.6.1/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= +github.com/hashicorp/consul/api v1.30.0 h1:ArHVMMILb1nQv8vZSGIwwQd2gtc+oSQZ6CalyiyH2XQ= +github.com/hashicorp/consul/api v1.30.0/go.mod h1:B2uGchvaXVW2JhFoS8nqTxMD5PBykr4ebY4JWHTTeLM= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/consul/sdk v0.15.0 h1:2qK9nDrr4tiJKRoxPGhm6B7xJjLVIQqkjiab2M4aKjU= -github.com/hashicorp/consul/sdk v0.15.0/go.mod h1:r/OmRRPbHOe0yxNahLw7G9x5WG17E1BIECMtCjcPSNo= +github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= +github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -459,6 +459,7 @@ github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKe github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= @@ -470,8 +471,8 @@ github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/ github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= -github.com/hashicorp/nomad/api v0.0.0-20240306004928-3e7191ccb702 h1:fI1LXuBaS1d9z1kmb++Og6YD8uMRwadXorCwE+xgOFA= -github.com/hashicorp/nomad/api v0.0.0-20240306004928-3e7191ccb702/go.mod h1:z71gkJdrkAt/Rl6C7Q79VE7AwJ5lUF+M+fzFTyIHYB0= +github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 h1:fgVfQ4AC1avVOnu2cfms8VAiD8lUq3vWI8mTocOXN/w= +github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3/go.mod h1:svtxn6QnrQ69P23VvIWMR34tg3vmwLz4UdUzm1dSCgE= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= @@ -479,8 +480,8 @@ github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoI github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hetznercloud/hcloud-go/v2 v2.6.0 h1:RJOA2hHZ7rD1pScA4O1NF6qhkHyUdbbxjHgFNot8928= -github.com/hetznercloud/hcloud-go/v2 v2.6.0/go.mod h1:4J1cSE57+g0WS93IiHLV7ubTHItcp+awzeBp5bM9mfA= +github.com/hetznercloud/hcloud-go/v2 v2.10.2 h1:9gyTUPhfNbfbS40Spgij5mV5k37bOZgt8iHKCbfGs5I= +github.com/hetznercloud/hcloud-go/v2 v2.10.2/go.mod h1:xQ+8KhIS62W0D78Dpi57jsufWh844gUw1az5OUvaeq8= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hjson/hjson-go/v4 v4.0.0/go.mod h1:KaYt3bTw3zhBjYqnXkYywcYctk0A2nxeEFTse3rH13E= @@ -495,8 +496,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/ionos-cloud/sdk-go/v6 v6.1.11 h1:J/uRN4UWO3wCyGOeDdMKv8LWRzKu6UIkLEaes38Kzh8= github.com/ionos-cloud/sdk-go/v6 v6.1.11/go.mod h1:EzEgRIDxBELvfoa/uBN0kOQaqovLjUWEB7iW4/Q+t4k= -github.com/jaegertracing/jaeger v1.57.0 h1:3wDtUUPs6NRYH7+d+y8MilDkLHdpPrVlQ2wbcsA62bs= -github.com/jaegertracing/jaeger v1.57.0/go.mod h1:p/1fxIU9hKHl7qEhKC72p2ZYVhvvZvNB73y6V7YyuTs= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= @@ -504,6 +505,8 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= +github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= @@ -520,8 +523,8 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= -github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf v1.5.0 h1:q2TSd/3Pyc/5yP9ldIrSdIz26MCcyNQzW0pEAugLPNs= github.com/knadh/koanf v1.5.0/go.mod h1:Hgyjp4y8v44hpZtPzs7JZfRAW5AhN7KfZcwv1RYggDs= github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= @@ -542,19 +545,20 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= github.com/lightstep/go-expohisto v1.0.0/go.mod h1:xDXD0++Mu2FOaItXtdDfksfgxfV0z1TMPa+e/EUd0cs= -github.com/linode/linodego v1.33.0 h1:cX2FYry7r6CA1ujBMsdqiM4VhvIQtnWsOuVblzfBhCw= -github.com/linode/linodego v1.33.0/go.mod h1:dSJJgIwqZCF5wnpuC6w5cyIbRtcexAm7uVvuJopGB40= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/linode/linodego v1.37.0 h1:B/2Spzv9jYXzKA+p+GD8fVCNJ7Wuw6P91ZDD9eCkkso= +github.com/linode/linodego v1.37.0/go.mod h1:L7GXKFD3PoN2xSEtFc04wIXP5WK65O10jYQx0PQISWQ= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE= +github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= +github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -583,8 +587,8 @@ github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04 github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= -github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= +github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs= +github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= @@ -607,6 +611,8 @@ github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1 github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= @@ -637,92 +643,94 @@ github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= -github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= +github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= +github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= -github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.102.0 h1:Pe8mD+tVvETjLka2bZteb3Qux+1wfg9gAt8b7Tg4eYI= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.102.0/go.mod h1:4EwWs9G8DRS9k9TIg8yamd6bLeMBRBza2OnmD4ByKGo= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.102.0 h1:h9PLYmJx+Ko8sqz02Vf+z+O8Wx7HaZBkvXt3g0tKG14= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.102.0/go.mod h1:PVQqU0d9bUVYEWOaymAUKNRaeeYizxFWkC9ibijey8c= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.102.0 h1:eFBPjzw0s4NvbgpYklIbHjf+dR0KhZtinulN9A9Y7uo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.102.0/go.mod h1:7uYoWqNDjjPNUzR7X2vl/b2Z133nSuj+uNY+y8gMEQ0= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.97.0 h1:sI/PXJXn9Au9LH+kxRW5hFhGmcJd10DXdyKERF2VGG8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.97.0/go.mod h1:ExlpXG/DYseyk9kug1zWKaFuaAdV9hbRh2HxDXJLdQY= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.102.0 h1:Swv9mYzzFVNvoMzHd6zQ5c/gxhhpBwafXGIrobIYnsM= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.102.0/go.mod h1:0y0VOvPG1FttT0MzNqdwuga1On6lSk3RUt7Qsd8dnAU= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.102.0 h1:jyFZk2+JJNp74U+KnHVw1xyWQuTEGcJjyl918Nh1Qbc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.102.0/go.mod h1:xR0NbceSTwHMGKmFTv7M3/9nnhHBkYH/hjcRIi67cUE= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.102.0 h1:QA8BS4Wrj4rIOX9dajqhXUlFSzDFQzE0qdiX/mmSJas= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.102.0/go.mod h1:Df8aFeWLqD8J0iLKXVkAGX4YD0h7u8pOljWNqd58jvE= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.102.0 h1:N3vWsp3xealy4AX8TovfHG5EKi/k7z+F/8LFP4SVAgo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.102.0/go.mod h1:/Ijok2yF1qYoHuRHvyLS04ZuW91Pue2VkqZ/nZxpkvk= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.102.0 h1:w485PSqcVIzWhpQ5nKrNT7hsCGyzp9cHi4ULEWCLBJw= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.102.0/go.mod h1:icDqNrFRN2j6JOf0GC4suoOv+pesn8BPgP6TAhzX40o= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.102.0 h1:oROOy1qusmMrl1CzV51TvUZTclFGnU1y+vRse/PnT0U= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.102.0/go.mod h1:83IL66l2OJD+fDIHTvFewRNME/ZG4CHumw5F13ZYUEk= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.102.0 h1:7QHxeMnKzMXMw9oh5lnOHakfPpGSglxiZfbYUn6l6yc= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.102.0/go.mod h1:BtKaHa1yDHfhM9qjGUHweb0HgqFGxFSM7AMzwLXVR98= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.102.0 h1:w+l3bz1a0KDNRz3plkDQN64aJlTBmhGzGFwqJRVFg4U= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.102.0/go.mod h1:7LoXgd02t4N/DR9gEO9EXpvUvPgCH07I3ceeQv83igk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.102.0 h1:PNLVcz8kJLE9V5kGnbBh277Bvl4WwiVZ+NbFbOB80WY= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.102.0/go.mod h1:cBbjwd8m4rBVgCQksUbAVQX1EoM5IuCyNQw2mzvibEM= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.102.0 h1:qsM5HhWpAfIMg8LdO4u+CHofu4UuCuJwg/M+ySO9uZA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.102.0/go.mod h1:wBJlGy9Wx6s7AxIMcSne2sGw73e5ZUy1AQ/duYwpFf8= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.102.0 h1:TN+wdhgwDn4zSr39fFOG0e7XJNCDwUSJb8HiBZ5orWk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.102.0/go.mod h1:RNe02aDLdqqEsJ+nemN+TDJf016wKf87eZYuAEfhZyU= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.102.0 h1:CS9t6i//34KdqCw/kOmSydkmBtpOB7+1fLv1QN3kKyE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.102.0/go.mod h1:VS66oUydCMwiWl1BFmLs7iNy4lGsfVYsriXr/d1fpAk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.102.0 h1:p0uPl321knuQoZbghyYJyOVGNMkU25X/jZSgElCwMFQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.102.0/go.mod h1:x6gFY41QGX7drh0mSwo2iyixb4zxMnu6LRSnsGyYsRc= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.102.0 h1:/J1Q2tylp8ID+AIpCmfaArUyCPoSjY3nyZXdkpTw9J8= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.102.0/go.mod h1:lbNQBpvs40lInohZrqAbRZ+8r29GzfMfkbLV4fBPrzE= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.102.0 h1:sfw+sVvoUNYOtlv6Zkoikxq/F8MVVQU+JHDO+YzYzE4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.102.0/go.mod h1:MFHy47V/DLbE9Sr/Y6bfqEqbI1GBKWUvbOQBr8XrKwU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.102.0 h1:EPmEtTgrlNzriEYZpkVOVDWlqWTUHoEqmM8oU/EpdkA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.102.0/go.mod h1:qnLc/+jOVcsL1dF17ztBcf3juQ3f9bt6Wuf+Xxbrd9w= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.102.0 h1:vJL6lDaeI3pVA7ADnWKD3HMpI80BSrZ2UnGc+qkwqoY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.102.0/go.mod h1:xtE7tds5j8PtI/wMuGb+Em5K9rJH8hm6t28Qe4QrpoU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.102.0 h1:TvJYcU/DLRFCgHr7nT98k5D+qkZ4syKVxc8OJjv+K4c= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.102.0/go.mod h1:WzD3Ox7tywAQHknxAFpAC1oZJGItMp5mbvgUGjvzNY8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.102.0 h1:iVdVcLq5uCvvG6bmOwdbRQbjWPsaQY/caDaIE4rJV80= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.102.0/go.mod h1:gSlq0MAX1balwTobJjaQtk/Znm3We2muLNaSLELHxUQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.102.0 h1:J8GFYxKLWG1360XRukc1tY5K9BF80MFXcO91UpCMgcQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.102.0/go.mod h1:GNxigQNap2jyOEPdOedAKqCbh61y576ND4BKn/7i8xY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.102.0 h1:4VQidhCgkJiBvBDMOukr5ixrf5uP66iW5Hb+CFsb+4E= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.102.0/go.mod h1:nMto9zkv0vD8YI3oGZFZS2Uu7k2oHt1d+xUHN/ofUYo= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.102.0 h1:Mh5MHf0PrUQMTM2S8HwEuPt3Fyz0Xnt0IG7GUc6Fmbs= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.102.0/go.mod h1:6fc8qnIayeGwAF41LyLR+/FRbyJf4+FikbmaO0GGq/Y= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.102.0 h1:mADBTNQknqXT6AiO3S8MvG2LwAum2K0fMZuWt5UyMNw= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.102.0/go.mod h1:Oh95IxRZCHq+CUwADrUCkON0/nSsnKLGqT7qW1ZQx/Q= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.102.0 h1:rHLWscq00lDfTW0BYuX2EEH9w1+t7X7ER9PcFjEowso= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.102.0/go.mod h1:+Vlutd4t2XluxHYbIAfZiz3z5uWbsbiIUpipV5AnLtk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.102.0 h1:5M7I78lyGsH+Xyy4NoXKM/UUCa52aZQiPcSX6so6x94= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.102.0/go.mod h1:BEQy0zEel5uIOTEFBBmvQJ4A32R6nKLtSMtC6ylLI8k= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.102.0 h1:DaEYlVCn58GtkyYVK0IT/ZMjRFJ+BfmR0p9I0Eq42aQ= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.102.0/go.mod h1:u9x08rUCWdgI8Nle5XOMTCmxd0K26KTZvMMA5H8Xjyg= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.102.0 h1:huh7V8uqMakQGdnbOqTSZihfoDeOIbNHfFt62HMsk5k= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.102.0/go.mod h1:IIKgEx+D91XNJYN33/wXzGullskvjJzvzKHIP3/+zDQ= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.102.0 h1:nAJSknk1/WP0/d3SJWxqCdt/5S8N21CUPBlgiLs/Woc= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.102.0/go.mod h1:NZV5kpz6nqwG0pbcoBNWlc4TcN22KYLg/knoy3LuDI8= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.102.0 h1:6A/fYQFf6DaY1C+64eRnuua1HrCv8N83HaVrYTMtjnU= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.102.0/go.mod h1:AdK1CInrB6QOgBQCedOlSuBBq/hocWOMOkoKXFZPsy8= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.102.0 h1:9DEErMWgwGZFAINzn+ujIMkH1JtPcuPeS9RtWcMtc9g= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.102.0/go.mod h1:oau2EF+n4ZbtZ9V1YkK50CIjFB10bW0PN1XSsTnkn+U= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.102.0 h1:0TQZTCWFmOQ4OAEIvIV1Ds74X1d5kQYalYJFivsuqzo= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.102.0/go.mod h1:2T6Wk8q8IoUGtbigSs1/IHCUEt7Q7t+tNRtcKlZSw5M= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.102.0 h1:HTGSfx2HzfudY1Uczw9yTBJnGBmTVFYzpGH1z+oD0nU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.102.0/go.mod h1:Hlz24+Ah6Ojk0FUKNb1watRmTbLEru35+feroKA7dvQ= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.102.0 h1:dBhFe/29ODIbxg4+JRaHwYAHMFFeh6/+izVtjceXwew= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.102.0/go.mod h1:WNFjuquVqyi+WEoa6L0J3DzPLRsP24ZlbZYwKv49VwY= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.102.0 h1:kJJqDsqWzJa0Pc9P+/N6zuC87QCl5VaQAe0aluKqaSk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.102.0/go.mod h1:1/fCkxhVkDOdxzmH0BILgzvApi3+nFmLJv1A9HA/bwg= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.102.0 h1:Pemo9pZa3VMYdrM/bss3f0qqVyBzPSulOBQL8VQcgN8= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.102.0/go.mod h1:fvjAM+jOQdiXCmAENKH/eWxBBqTaImbq3lpoBI4X5Ek= -github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.102.0 h1:GTw7hrpTp7SSLWrGF+P2AQffJRbg1Nww6Qa+z3iNvDg= -github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.102.0/go.mod h1:7Y5II5BYasxjFYdtW3aDaSwzTtA+jNbhtcdUCngyYRw= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.113.0 h1:vHIn79LjhZy9d71UCoFlxk+9sgpBkzAyVSMwRWC3EXs= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.113.0/go.mod h1:oABtOu11gVgaw73hpuJVDS2qIUiX30COUxJ3pmy3eKk= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.113.0 h1:f3PXc+bgwGtJIlWwtOXDYYNBKOyabhkLl6Q3j/Rc1ow= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.113.0/go.mod h1:Ix1L1Godr9TS2DvHWSz/+0RBPa/D34azSvk/xU3dlGs= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.113.0 h1:4I7IpBiJf/XlSp+ws8YWUsKP1hq399HgBmzYdX5bsSU= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.113.0/go.mod h1:dCkytGVxWwym8gKICm3+GpvN4mH6M5/07orcJ2VWqFY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.113.0 h1:aomBl+rFWqedr0EePjovG0VQnqrEzsOJTtKgPSVa70w= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.113.0/go.mod h1:RmVx108AyAbiRDe43i3yvJpwDpIZxNNrn0aN4Vxy//8= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.113.0 h1:7E/ZukT2HsPjjEFBRJH4AX5cHn6a+ure4vbs3cQbtRU= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.113.0/go.mod h1:GzMx/KWhsgEQdNc4mpZQu0JoCHnvVc2jBM8pOy3mW5g= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.113.0 h1:sYEmpMeBGMSoy8j1GSEkBO5GM578Qtq3QtmVcsYn51s= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.113.0/go.mod h1:ULlXfiJdXw0ZzUGXLToQvGb1gQuIGC2BjtfyTnw3QtE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.113.0 h1:U9rBWv5gBk0sMjRGdBNbK3wHcuyI15tyFOH2oLXB7xk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.113.0/go.mod h1:7oxHNFvYVNP0UCjWi2VUrSxlFYH498NuzxAIEJPJeAQ= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.113.0 h1:k02rpATZH7RiQM3drXermJjTRN+KJo0jf3mXdWuebhw= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.113.0/go.mod h1:2WtRpuuPzZhNRVVcvd0fcr05OvE2dG1VWw1/GD8XfjY= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.113.0 h1:NlGfcZLEeGTVPtnNOA2jxXll4ZtevkWYzvG3qz75wGQ= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.113.0/go.mod h1:A5K/pitrmNA4metAgc5BtIytHNYtE+u8qeGOk6OTfL0= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.113.0 h1:cBuVO2oslO+OlJFMG7JJI8cPeHktlilBP/Rn/0Vd11M= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.113.0/go.mod h1:qXpG9a/7GLDoe0IIhud0oCgKB41lYhsnsTGr06iG4wQ= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.113.0 h1:ERdOiTmsDruI/s5oEgN45NsZW2roWXmO0u2aceR4GuM= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.113.0/go.mod h1:RkClsQhl8hdAg874Ot4kaG92s+6dW0Dvlt5HRxhsavc= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.113.0 h1:qudJNiKFfxly/lPyfdZNwnT6OKCzRFw0BI0E5CI6WwU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.113.0/go.mod h1:eHVWQ484ohG4ZjaV8KTej3CMVEPh0w6zBXfi+qqvyGw= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.113.0 h1:7A8MgFPYRQWq1RkFBktq01CW+eTYhiGML0IxQNv2uaM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.113.0/go.mod h1:E1pc7mDXH+5s7RyXw291h8lz2dhzPzaDrAHqP1Lawvw= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.113.0 h1:EZ/ZNsovNcQq+wwAbTAWNY+6BHnv24NxvVoC6eYmtg8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.113.0/go.mod h1:u21dEQ9yQ0JyLMSrKLWWzHG/lHSlteNfa/EQ7Vqcle4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.113.0 h1:SjzsWZqrxUoRWvXzwrbjQCnoJRJApJVCCqjrtflapMM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.113.0/go.mod h1:sYIh0S63ztcL2q9gEKhvviDQ5caH1sFE1oeFRDQOQ6A= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.113.0 h1:E/D5TwJyKN19p1FQ0XD5r5G1uH9NH/HVAM0e1hFMwFU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.113.0/go.mod h1:FcClDm9XVV5tzUDzmH2Mhe6TfYiZ/3GSAQITnuCjZgg= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.113.0 h1:BidrOROxYyacsUzNJyPZdvuX9VpbmFnSJXAt0yz6cXU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.113.0/go.mod h1:TM5DUkjqHozcpjCX36f7cDv6Rv+J8ysZ52zCYAEQZCk= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.113.0 h1:V9CRl77lPG2xFPpnRf1QLiePo7FZngt+vw6M2KLdRMU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.113.0/go.mod h1:zL+Msnlb1TEObHQ2RNnPKbVr3GhSdyI2ZqGtiSxg2/E= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.113.0 h1:SVvBEMYFwb+vq/bNg9TVHNCaiFYb79B8Ce2z0/sWBgc= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.113.0/go.mod h1:lRfw7YDJE82nmdTO14Sk5rzkFJPHyH1iAnWIkjyQgQk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.113.0 h1:5YU2trp7n56EyDS9dEyY1UxyaW6wxB4KiyKoyjDYooo= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.113.0/go.mod h1:EBtBK1lE/HMUz51cafBLlJAXZ/2ZDRCV4C+rT04fMYM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.113.0 h1:e2WOkaj5AWPaKTU4l+GEXGrEUbrAhQPQ7zLUdnXLGX8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.113.0/go.mod h1:x+DR/o7xddbdhpQP2QKBJkPUdrj2tl/uR1OJ/sqlrWc= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.113.0 h1:GERkhEtH3Uk8CMBzFoBmMD7fBfcrtIM9hopbQqzdvNs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.113.0/go.mod h1:+VbefhdCgKiTXsIU6sQj9L96Ow53a8EMcUW6EMt3zTA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.113.0 h1:Ux4k3jMTufk4HZ4RNYrqLxIt6wKEeOFAndzGWBjiUqs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.113.0/go.mod h1:GWsSVmzpKZucOefuqqvKEUbnqGRV9OCSX2vzTjC/sbI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.113.0 h1:n44G0Quw+OQMZ+ELOo/Aw1qcwVu7LXae8GBVjVSE+HQ= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.113.0/go.mod h1:6dxGDpWsWnzC5UK3RhgfdXRC+3c8RLCO+cC+RiS+jIU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.113.0 h1:G8w+wg4nnqBqe297fBWnjJ5Tg2OYDVEMsdWA9/3ozxQ= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.113.0/go.mod h1:m3hDVsXPQzQfeji3+hn7NYJPHDRlHhQRNd5T7N5wZqc= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.113.0 h1:mFYOvag34kGXceVj29k0ZpBUyjEX7VZq+KctUSfNiG0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.113.0/go.mod h1:54P38b2i1CgHvZLxD3EAzVccqreamGEz2U4pqy9DuHw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.113.0 h1:RNtG5fr6l0AKKvcPOZHGBpaIxdynVauYsDgfuHrhPWo= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.113.0/go.mod h1:n9kBRGRyrf3eZwCzM18JMTfOrLsjSSaCHZVNQPHgQ6c= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.113.0 h1:vKtNSM3VQBTJx1ecf+I1iqn4kj7fKif1SpBLQ+numf8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.113.0/go.mod h1:Iw3ndTvDCbmN6uugOfIqmfb1pgCWTYg+tXXS2rr3QJo= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.113.0 h1:XzI7y1bC29bnJ9VgyA0JCws0e/rIyt7yteT5gGLe6nw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.113.0/go.mod h1:OxdhzDFd7/cRck6LeWLF2TUC/QhwoJSUlw35NuVbvzA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.113.0 h1:4fkpWb4wG1RWr9C5M8IbxcBwq9qGlqf5bbp3bxRXOzA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.113.0/go.mod h1:yAl+wNAt18sGPizvODIHue12echxjpFL2SEQvUksN5M= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.113.0 h1:+eYxV9vp6u8fKM+9acEJYGUa3SD1vJF776c/haougNQ= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.113.0/go.mod h1:xSVeb2A5wmIuJ9Vak9UwPCP/yN1SDd+pBKfYHROW6YE= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.113.0 h1:WN/zA6sCT4VzCA9CpRTGj6wiu17vIFozm/0yxNwKeGs= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.113.0/go.mod h1:sqWPNepjCX0+Ye++N9HwJjJ7KUAOkn4/ML/2GzrZquQ= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.113.0 h1:MN9P2YH7SUTLxQqGEmLsTKJ77qCSXBxHFE3seJxjH14= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.113.0/go.mod h1:2WUdA+8uuoNLofhsNDHLyejeVpVzAvyHMVw3jWpvOGE= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.113.0 h1:5cEQNFwYAn8PJ66l88lGLMSz9TYWiIUFayDwAtpJumw= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.113.0/go.mod h1:uSskqW6AAEHg/2yZ6hNo9V0OfQmM/wHP9lSNr2OSUU4= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.113.0 h1:Syf4U5GrSl2fOGXBAChHrdSvMRBhi7BFiDwKbFkNo/8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.113.0/go.mod h1:Q9shex5tQOoK4FeVx0NvYkwu18hCPFlRnwqqQzLfbpo= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.113.0 h1:c4vPI/PrRPnueoaKJKzBztsASIn5yZ7BT7uc4PHR39E= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.113.0/go.mod h1:MR9VrhTtPazVAEWR/RPQln1i0Cmrc/6e2+zRpI/gwhM= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.113.0 h1:qPUFbh7d9Ddiyky8F4by+KRUUksqMiO+gFDXGkaxevw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.113.0/go.mod h1:e+cVHDHttCojcC8iyBcDFtfK3JWZlqaDc+WCTl5sEdo= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.113.0 h1:V1HFDK6/CXHzOlnRSk4gmOvRch+OcxxAxTSuVOB2CU0= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.113.0/go.mod h1:D60SapDBE9dVc9CqZsb3FRuWaJuGCJNDwKG/y/YsfXo= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.113.0 h1:dWGMTZlyhRacwWlMMSD01kWLaURtuApcqJTNa2CVG5k= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.113.0/go.mod h1:lDQsGSK7Da4D9ozrqDISTQXkrFolXAuOCDdJIT5Htqs= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.113.0 h1:Azx7wP6Me2iXr6h2bTqbRjtxB6HnXN9QpYECLu/eQ8I= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.113.0/go.mod h1:KezOwO7COPCsZnE8ECCrWvAywUhTZMYtJx7H36JguoQ= +github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.113.0 h1:zTyBiFKkXQid2XwmoSC/vQclld1U8fjDxFObhedXIUQ= +github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.113.0/go.mod h1:b70TuSsBrM1Wx0UQZtWdx89DgLuIaz19kpRGF2KFOAM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -735,29 +743,32 @@ github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 h1:ZHRIMCFIJN1 github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142/go.mod h1:fjS8r9mqDVsPb5td3NehsNOAWa4uiFkYEfVZioQ2gH0= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= -github.com/ovh/go-ovh v1.4.3 h1:Gs3V823zwTFpzgGLZNI6ILS4rmxZgJwJCz54Er9LwD0= -github.com/ovh/go-ovh v1.4.3/go.mod h1:AkPXVtgwB6xlKblMjRKJJmjRp+ogrE7fz2lVgcQY8SY= +github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI= +github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -766,8 +777,8 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -779,8 +790,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= -github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -788,15 +799,15 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= -github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/rs/cors v1.11.0 h1:0B9GE/r9Bc2UxRMMtymBkHTenPkHDv0CW4Y98GBY+po= -github.com/rs/cors v1.11.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -805,17 +816,14 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.25 h1:/8rfZAdFfafRXOgz+ZpMZZWZ5pYggCY9t7e/BvjaBHM= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.25/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 h1:BkTk4gynLjguayxrYxZoMZjBnAOh7ntQvUkOFmkMqPU= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil/v3 v3.24.4 h1:dEHgzZXt4LMNm+oYELpzl9YCqV65Yr/6SfrvgRBtXeU= -github.com/shirou/gopsutil/v3 v3.24.4/go.mod h1:lTd2mdiOspcqLgAnr9/nGi71NkeMpWKdmhuxm9GusH8= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.10 h1:7VOzPtfw/5YDU+jLEoBwXwxJbQetULywoSV4RYY7HkM= +github.com/shirou/gopsutil/v4 v4.24.10/go.mod h1:s4D/wg+ag4rG0WO7AiTj2BeYCRhym0vM7DHbZRxnIT8= github.com/shoenig/test v1.7.1 h1:UJcjSAI3aUKx52kfcfhblgyhZceouhvvs3OYdWgn+PY= github.com/shoenig/test v1.7.1/go.mod h1:UxJ6u/x2v/TNs/LoLxBNJRV9DiwBBKYxXSyczsBHFoI= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -832,13 +840,13 @@ github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= -github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -856,15 +864,14 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tidwall/gjson v1.10.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U= -github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= +github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= @@ -875,17 +882,19 @@ github.com/tidwall/tinylru v1.2.1 h1:VgBr72c2IEr+V+pCdkPZUwiQ0KJknnWIYbhxAVkYfQk github.com/tidwall/tinylru v1.2.1/go.mod h1:9bQnEduwB6inr2Y7AkBP7JPgCkyrhTV/ZpX0oOOpBI4= github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= -github.com/tilinna/clock v1.1.0 h1:6IQQQCo6KoBxVudv6gwtY8o4eDfhHo8ojA5dP0MfhSs= -github.com/tilinna/clock v1.1.0/go.mod h1:ZsP7BcY7sEEz7ktc0IVy8Us6boDrK8VradlKRUGfOao= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZOl0DCe3eVMLPOQzJxgZpfdHHeauNTM= +github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/vultr/govultr/v2 v2.17.2 h1:gej/rwr91Puc/tgh+j33p/BLR16UrIPnSr+AIwYWZQs= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -904,128 +913,178 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.102.1 h1:M/ciCcReQsSDYG9bJ2Qwqk7pQILDJ2bM/l0MdeCAvJE= -go.opentelemetry.io/collector v0.102.1/go.mod h1:yF1lDRgL/Eksb4/LUnkMjvLvHHpi6wqBVlzp+dACnPM= -go.opentelemetry.io/collector/component v0.102.1 h1:66z+LN5dVCXhvuVKD1b56/3cYLK+mtYSLIwlskYA9IQ= -go.opentelemetry.io/collector/component v0.102.1/go.mod h1:XfkiSeImKYaewT2DavA80l0VZ3JjvGndZ8ayPXfp8d0= -go.opentelemetry.io/collector/config/configauth v0.102.1 h1:LuzijaZulMu4xmAUG8WA00ZKDlampH+ERjxclb40Q9g= -go.opentelemetry.io/collector/config/configauth v0.102.1/go.mod h1:kTzfI5fnbMJpm2wycVtQeWxFAtb7ns4HksSb66NIhX8= -go.opentelemetry.io/collector/config/configcompression v1.9.0 h1:B2q6XMO6xiF2s+14XjqAQHGY5UefR+PtkZ0WAlmSqpU= -go.opentelemetry.io/collector/config/configcompression v1.9.0/go.mod h1:6+m0GKCv7JKzaumn7u80A2dLNCuYf5wdR87HWreoBO0= -go.opentelemetry.io/collector/config/configgrpc v0.102.1 h1:6Plnfx+xw/JH8k11MkljGoysPfn1u7hHbO2evteOTeE= -go.opentelemetry.io/collector/config/configgrpc v0.102.1/go.mod h1:Kk3XOSar3QTzGDS8N8M38DVlOzUD7STS2obczO9q43I= -go.opentelemetry.io/collector/config/confighttp v0.102.1 h1:tPw1Xf2PfDdrXoBKLY5Sd4Dh8FNm5i+6DKuky9XraIM= -go.opentelemetry.io/collector/config/confighttp v0.102.1/go.mod h1:k4qscfjxuaDQmcAzioxmPujui9VSgW6oal3WLxp9CzI= -go.opentelemetry.io/collector/config/confignet v0.102.1 h1:nSiAFQMzNCO4sDBztUxY73qFw4Vh0hVePq8+3wXUHtU= -go.opentelemetry.io/collector/config/confignet v0.102.1/go.mod h1:pfOrCTfSZEB6H2rKtx41/3RN4dKs+X2EKQbw3MGRh0E= -go.opentelemetry.io/collector/config/configopaque v1.9.0 h1:jocenLdK/rVG9UoGlnpiBxXLXgH5NhIXCrVSTyKVYuA= -go.opentelemetry.io/collector/config/configopaque v1.9.0/go.mod h1:8v1yaH4iYjcigbbyEaP/tzVXeFm4AaAsKBF9SBeqaG4= -go.opentelemetry.io/collector/config/configretry v0.102.1 h1:J5/tXBL8P7d7HT5dxsp2H+//SkwDXR66Z9UTgRgtAzk= -go.opentelemetry.io/collector/config/configretry v0.102.1/go.mod h1:P+RA0IA+QoxnDn4072uyeAk1RIoYiCbxYsjpKX5eFC4= -go.opentelemetry.io/collector/config/configtelemetry v0.102.1 h1:f/CYcrOkaHd+COIJ2lWnEgBCHfhEycpbow4ZhrGwAlA= -go.opentelemetry.io/collector/config/configtelemetry v0.102.1/go.mod h1:WxWKNVAQJg/Io1nA3xLgn/DWLE/W1QOB2+/Js3ACi40= -go.opentelemetry.io/collector/config/configtls v0.102.1 h1:7fr+PU9BRg0HRc1Pn3WmDW/4WBHRjuo7o1CdG2vQKoA= -go.opentelemetry.io/collector/config/configtls v0.102.1/go.mod h1:KHdrvo3cwosgDxclyiLWmtbovIwqvaIGeTXr3p5721A= -go.opentelemetry.io/collector/config/internal v0.102.1 h1:HFsFD3xpHUuNHb8/UTz5crJw1cMHzsJQf/86sgD44hw= -go.opentelemetry.io/collector/config/internal v0.102.1/go.mod h1:Vig3dfeJJnuRe1kBNpszBzPoj5eYnR51wXbeq36Zfpg= -go.opentelemetry.io/collector/confmap v0.102.1 h1:wZuH+d/P11Suz8wbp+xQCJ0BPE9m5pybtUe74c+rU7E= -go.opentelemetry.io/collector/confmap v0.102.1/go.mod h1:KgpS7UxH5rkd69CzAzlY2I1heH8Z7eNCZlHmwQBMxNg= -go.opentelemetry.io/collector/confmap/converter/expandconverter v0.102.1 h1:s0RxnaABoRxtfvUeimZ0OOsF83wD/EK1tR2N5GZyst0= -go.opentelemetry.io/collector/confmap/converter/expandconverter v0.102.1/go.mod h1:ZwSMlOSIzmrrSSVNoMPDr21SQx7E52bZFMQJSOZ+EhY= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.102.1 h1:4KLw0pTChIqDfw0ckZ411aQDw98pu2dDOqgBHXfJm8M= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.102.1/go.mod h1:f+IJBW0Sc96T79qj3GQtE1wQ0uWEwpslD785efKBl+c= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1 h1:nPhOtUbJHfTDqZqtvU76HmEz9iV4O/4/DSCZdnm0mpY= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.102.1/go.mod h1:eJnr6YDQiocmoRBvsKj33bIc4wysq5hy/jmOApv1dSM= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.102.1 h1:VsaGXqEUFost0mf2svhds6loYzPavkyY37nMQcqoTkc= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.102.1/go.mod h1:lQocxKI32Zj1F3PR9UZfzykq50/mOI1mbyZ0729dphI= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.102.1 h1:rEhPTqkGAezaFxJ8y/BL5m4vKTK3ZSpn+VcVLKnZo7Q= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.102.1/go.mod h1:GxUZM23m3u4vURw/At2zEKW+5GwcuCNsHJNT/Wq/cFI= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.102.1 h1:qmdaBIz0UnUKVitZzq+4HtO9zvRTwgNc/Q3b7kyf1NQ= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.102.1/go.mod h1:nAckG/FkzAaPuwtEN2Na2+ij+2hdTjtXUtFBnlUqpFk= -go.opentelemetry.io/collector/connector v0.102.1 h1:7lEwXmhzqtyZwz2bBUHzwV/CZqA8bhPPVJOi0cm9+Fk= -go.opentelemetry.io/collector/connector v0.102.1/go.mod h1:DRlDYJXsFx1FKKxkdM2Ja52/xe+0bgmy0hA+wgKRUVI= -go.opentelemetry.io/collector/consumer v0.102.1 h1:0CkgHhxwx4lI/m+hWjh607xyjooW5CObZ8hFQy5vvo0= -go.opentelemetry.io/collector/consumer v0.102.1/go.mod h1:HoXqmrRV13jLnP3/Gg3fYNdRkDPoO7UW58hKiLyFF60= -go.opentelemetry.io/collector/exporter v0.102.1 h1:4VURYgBNJscxfMhZWitzcwA1cig5a6pH0xZSpdECDnM= -go.opentelemetry.io/collector/exporter v0.102.1/go.mod h1:1pmNxvrvvbWDW6PiGObICdj0eOSGV4Fzwpm5QA1GU54= -go.opentelemetry.io/collector/exporter/debugexporter v0.102.0 h1:b8z8EHdb3Q4f1A/lr6zP9aVv+7HTsouV0XCR8zb+R4w= -go.opentelemetry.io/collector/exporter/debugexporter v0.102.0/go.mod h1:fuFR9OIDtNe/ZGUp1YwrO2t0jy1/AIi4P93e+OoMCWA= -go.opentelemetry.io/collector/exporter/loggingexporter v0.102.1 h1:LblufdV22DxB5NZa66CGCQZjadYTVxT+O5NR9YjNQ9Y= -go.opentelemetry.io/collector/exporter/loggingexporter v0.102.1/go.mod h1:zmOEwiQlfvEHnakWNO1YFNubgWZvZee+5Wshuck5lZk= -go.opentelemetry.io/collector/exporter/otlpexporter v0.102.1 h1:bOXE7u1iy0SKwH2mnVyIMKkvFIR9bn9iIm1Cf/CJlZU= -go.opentelemetry.io/collector/exporter/otlpexporter v0.102.1/go.mod h1:4ya6xaUYvcXq9MQW0TbsR4QWkOJI02d/2Vt8plwdozA= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.102.1 h1:9TaxHrkVtEdssDAHqV5yU9PARkFph7CvfLqC1wS6m+c= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.102.1/go.mod h1:auKlkLfuUriyZ2CmV2dudJaVGB7ycZ+tTpypy2JNFEc= -go.opentelemetry.io/collector/extension v0.102.1 h1:gAvE3w15q+Vv0Tj100jzcDpeMTyc8dAiemHRtJbspLg= -go.opentelemetry.io/collector/extension v0.102.1/go.mod h1:XBxUOXjZpwYLZYOK5u3GWlbBTOKmzStY5eU1R/aXkIo= -go.opentelemetry.io/collector/extension/auth v0.102.1 h1:GP6oBmpFJjxuVruPb9X40bdf6PNu9779i8anxa+wW6U= -go.opentelemetry.io/collector/extension/auth v0.102.1/go.mod h1:U2JWz8AW1QXX2Ap3ofzo5Dn2fZU/Lglld97Vbh8BZS0= -go.opentelemetry.io/collector/extension/ballastextension v0.102.1 h1:mrGwVheXTgnxdkWC9BXOO2Zk4oIO4mpfN5zzLI40bX4= -go.opentelemetry.io/collector/extension/ballastextension v0.102.1/go.mod h1:UzWHLmeNg5wPTeUjgNE92JEJhSWX5S+1P0NCpyijPDA= -go.opentelemetry.io/collector/extension/zpagesextension v0.102.1 h1:YV+ejCgOBJjACOi/l3ULeivOhh85FPE8T4UcFdWviyg= -go.opentelemetry.io/collector/extension/zpagesextension v0.102.1/go.mod h1:/CZXg9/C64k85/k4bc7NFbCNP/MiPUZucbxPUN04ny4= -go.opentelemetry.io/collector/featuregate v1.9.0 h1:mC4/HnR5cx/kkG1RKOQAvHxxg5Ktmd9gpFdttPEXQtA= -go.opentelemetry.io/collector/featuregate v1.9.0/go.mod h1:PsOINaGgTiFc+Tzu2K/X2jP+Ngmlp7YKGV1XrnBkH7U= -go.opentelemetry.io/collector/otelcol v0.102.1 h1:JdRG3ven+c5k703QpZG5bxJi4JJOnWaNP/EJvN+oYnI= -go.opentelemetry.io/collector/otelcol v0.102.1/go.mod h1:kHf9KBXOLZXajR1On8XJbBBGcgh2I2+/mVVroPzOLJU= -go.opentelemetry.io/collector/pdata v1.9.0 h1:qyXe3HEVYYxerIYu0rzgo1Tx2d1Zs6iF+TCckbHLFOw= -go.opentelemetry.io/collector/pdata v1.9.0/go.mod h1:vk7LrfpyVpGZrRWcpjyy0DDZzL3SZiYMQxfap25551w= -go.opentelemetry.io/collector/pdata/testdata v0.102.1 h1:S3idZaJxy8M7mCC4PG4EegmtiSaOuh6wXWatKIui8xU= -go.opentelemetry.io/collector/pdata/testdata v0.102.1/go.mod h1:JEoSJTMgeTKyGxoMRy48RMYyhkA5vCCq/abJq9B6vXs= -go.opentelemetry.io/collector/processor v0.102.1 h1:79NWs7kTgmgxOIQacuZyDf+mYWuoJZS07SHwZT7sZ4Y= -go.opentelemetry.io/collector/processor v0.102.1/go.mod h1:sNM41tEHgv3YA/Dz9/6F8oCeObrqnKCGOMs7wS6Ldus= -go.opentelemetry.io/collector/processor/batchprocessor v0.102.1 h1:s7TjD8k2d58x/Oj6P6PIm6R4zyBRdUPNbD9Zhiv0x0E= -go.opentelemetry.io/collector/processor/batchprocessor v0.102.1/go.mod h1:RDgJIY8J6xstSncSDzvzkOSFoNGK8RqeuHfdoWxu6a8= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.102.1 h1:aUDHYAMJFQR/NRTqerzJjHk4bbDLwReQnMQmMMyuYLo= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.102.1/go.mod h1:u4QM5ntLlV+XIl0w5zEYa3qmjukGhtmjgqzrdG8QGus= -go.opentelemetry.io/collector/receiver v0.102.1 h1:353t4U3o0RdU007JcQ4sRRzl72GHCJZwXDr8cCOcEbI= -go.opentelemetry.io/collector/receiver v0.102.1/go.mod h1:pYjMzUkvUlxJ8xt+VbI1to8HMtVlv8AW/K/2GQQOTB0= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.102.1 h1:65/8lkVmOu6gwBw99W+QUQBeDC2qVTwlaiqy7/SpauY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.102.1/go.mod h1:0hmxfFSSqKJjRGvgYjp/XvptbAgLhLguwNgJqMp7zd0= -go.opentelemetry.io/collector/semconv v0.102.1 h1:zLhz2Gu//j7HHESFTGTrfKIaoS4r+lZFQDnGCOThggo= -go.opentelemetry.io/collector/semconv v0.102.1/go.mod h1:yMVUCNoQPZVq/IPfrHrnntZTWsLf5YGZ7qwKulIl5hw= -go.opentelemetry.io/collector/service v0.102.1 h1:Lg7qrC4Zctd/OAlkpdsaZaUY+jLEGLLnOigfBLP2GW8= -go.opentelemetry.io/collector/service v0.102.1/go.mod h1:L5Sh3461B1Zij7vpMMbi6M/SZicgrLB3UgbG0oUK0pA= -go.opentelemetry.io/contrib/config v0.7.0 h1:b1rK5tGTuhhPirJiMxOcyQfZs76j2VapY6ODn3b2Dbs= -go.opentelemetry.io/contrib/config v0.7.0/go.mod h1:8tdiFd8N5etOi3XzBmAoMxplEzI3TcL8dU5rM5/xcOQ= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 h1:9l89oX4ba9kHbBol3Xin3leYJ+252h0zszDtBwyKe2A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0/go.mod h1:XLZfZboOJWHNKUv7eH0inh0E9VV6eWDFB/9yJyTLPp0= -go.opentelemetry.io/contrib/propagators/b3 v1.27.0 h1:IjgxbomVrV9za6bRi8fWCNXENs0co37SZedQilP2hm0= -go.opentelemetry.io/contrib/propagators/b3 v1.27.0/go.mod h1:Dv9obQz25lCisDvvs4dy28UPh974CxkahRDUPsY7y9E= -go.opentelemetry.io/contrib/zpages v0.52.0 h1:MPgkMy0Cp3O5EdfVXP0ss3ujhEibysTM4eszx7E7d+E= -go.opentelemetry.io/contrib/zpages v0.52.0/go.mod h1:fqG5AFdoYru3A3DnhibVuaaEfQV2WKxE7fYE1jgDRwk= -go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= -go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= -go.opentelemetry.io/otel/bridge/opencensus v1.27.0 h1:ao9aGGHd+G4YfjBpGs6vbkvt5hoC67STlJA9fCnOAcs= -go.opentelemetry.io/otel/bridge/opencensus v1.27.0/go.mod h1:uRvWtAAXzyVOST0WMPX5JHGBaAvBws+2F8PcC5gMnTk= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0 h1:bFgvUr3/O4PHj3VQcFEuYKvRZJX1SJDQ+11JXuSB3/w= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.27.0/go.mod h1:xJntEd2KL6Qdg5lwp97HMLQDVeAhrYxmzFseAMDPQ8I= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0 h1:CIHWikMsN3wO+wq1Tp5VGdVRTcON+DmOJSfDjXypKOc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0/go.mod h1:TNupZ6cxqyFEpLXAZW7On+mLFL0/g0TE3unIYL91xWc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 h1:R9DE4kQ4k+YtfLI2ULwX82VtNQ2J8yZmA7ZIF/D+7Mc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0/go.mod h1:OQFyQVrDlbe+R7xrEyDr/2Wr67Ol0hRUgsfA+V5A95s= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 h1:QY7/0NeRPKlzusf40ZE4t1VlMKbqSNT7cJRYzWuja0s= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0/go.mod h1:HVkSiDhTM9BoUJU8qE6j2eSWLLXvi1USXjyd2BXT8PY= -go.opentelemetry.io/otel/exporters/prometheus v0.49.0 h1:Er5I1g/YhfYv9Affk9nJLfH/+qCCVVg1f2R9AbJfqDQ= -go.opentelemetry.io/otel/exporters/prometheus v0.49.0/go.mod h1:KfQ1wpjf3zsHjzP149P4LyAwWRupc6c7t1ZJ9eXpKQM= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.27.0 h1:/jlt1Y8gXWiHG9FBx6cJaIC5hYx5Fe64nC8w5Cylt/0= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.27.0/go.mod h1:bmToOGOBZ4hA9ghphIc1PAf66VA8KOtsuy3+ScStG20= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.27.0 h1:/0YaXu3755A/cFbtXp+21lkXgI0QE5avTWA2HjU9/WE= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.27.0/go.mod h1:m7SFxp0/7IxmJPLIY3JhOcU9CoFzDaCPL6xxQIxhA+o= -go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= -go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= -go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI= -go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A= -go.opentelemetry.io/otel/sdk/metric v1.27.0 h1:5uGNOlpXi+Hbo/DRoI31BSb1v+OGcpv2NemcCrOL8gI= -go.opentelemetry.io/otel/sdk/metric v1.27.0/go.mod h1:we7jJVrYN2kh3mVBlswtPU22K0SA+769l93J6bsyvqw= -go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= -go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= -go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94= -go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A= +go.opentelemetry.io/collector v0.113.0 h1:dBuo2/OKBhoMCR86W4fFJLXGQ0gJfKRmi65AZwFkU2I= +go.opentelemetry.io/collector v0.113.0/go.mod h1:XbjD4Yw9LunLo3IJu3ZZytNZ0drEVznxw1Z14Ujlw3s= +go.opentelemetry.io/collector/client v1.19.0 h1:TUal8WV1agTrZStgE7BJ8ZC0IHLGtrfgO9ogU9t1mv8= +go.opentelemetry.io/collector/client v1.19.0/go.mod h1:jgiXMEM6l8L2QEyf2I/M47Zd8+G7e4z+6H8q5SkHOlQ= +go.opentelemetry.io/collector/component v0.113.0 h1:/nx+RvZgxUEXP+YcTj69rEtuSEGkfaCyp/ad5zQGLjU= +go.opentelemetry.io/collector/component v0.113.0/go.mod h1:2T779hIGHU9i7xbXbV3q1/JnRw2FyzUYXW2vq47A6EU= +go.opentelemetry.io/collector/component/componentstatus v0.113.0 h1:iNlUi+vDo7OqQwg4UOjfqqY3Xram4SkdcSZAyxt6QfE= +go.opentelemetry.io/collector/component/componentstatus v0.113.0/go.mod h1:NF/hVnP0kcsEqV9x14yMxN9GoehuOaVgMpO+s2KE+28= +go.opentelemetry.io/collector/config/configauth v0.113.0 h1:CBz43fGpN41MwLdwe3mw/XVSIDvGRMT8aaaPuqKukTU= +go.opentelemetry.io/collector/config/configauth v0.113.0/go.mod h1:Q8SlxrIvL3FJO51hXa4n9ARvox04lK8mmpjf4b3UNAU= +go.opentelemetry.io/collector/config/configcompression v1.19.0 h1:bTSjTLhnPXX1NSFM6GzguEM/NBe8QUPsXHc9kMOAJzE= +go.opentelemetry.io/collector/config/configcompression v1.19.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.113.0 h1:rNbRd033JlIeU+TH+3bEt4OwRlEwrktWdf6V+VUJUPk= +go.opentelemetry.io/collector/config/configgrpc v0.113.0/go.mod h1:InXxPUj1oxJ57Sl954d2tQxXTgVHhfppFYjMwGjQukg= +go.opentelemetry.io/collector/config/confighttp v0.113.0 h1:a6iO0y1ZM5CPDvwbryzU+GpqAtAQ3eSfNseoAUogw7c= +go.opentelemetry.io/collector/config/confighttp v0.113.0/go.mod h1:JZ9EwoiWMIrXt5v+d/q54TeUhPdAoLDimSEqTtddW6E= +go.opentelemetry.io/collector/config/confignet v1.19.0 h1:gEDTd8zLx4pPpG5///XPRpbYUpvKsuQzDdM5IEULY9w= +go.opentelemetry.io/collector/config/confignet v1.19.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.19.0 h1:7uvntQeAAtqCaeiS2dDGrT1wLPhWvDlEsD3SliA/koQ= +go.opentelemetry.io/collector/config/configopaque v1.19.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.19.0 h1:DEg8PXpo4ahMYgMzZZUU2cPcDF4vqowZlvimJ/t9InY= +go.opentelemetry.io/collector/config/configretry v1.19.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.113.0 h1:hweTRrVddnUeA3k7HzRY4oUR9lRdMa7of3mHNUS5YyA= +go.opentelemetry.io/collector/config/configtelemetry v0.113.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.19.0 h1:GQ/cF1hgNqHVBq2oSSrOFXxVCyMDyd5kq4R/RMEbL98= +go.opentelemetry.io/collector/config/configtls v1.19.0/go.mod h1:1hyqnYB3JqEUlk1ME/s9HYz4oCRcxQCRxsJitFFT/cA= +go.opentelemetry.io/collector/config/internal v0.113.0 h1:9RAzH8v7ItFT1npHpvP0SvUzBHcZDliCGRo9Spp6v7c= +go.opentelemetry.io/collector/config/internal v0.113.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.19.0 h1:TQ0lZpAKqgsE0EKk+u4JA+uBbPYeFRmWP3GH43w40CY= +go.opentelemetry.io/collector/confmap v1.19.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.19.0 h1:f8O/I5pVRN86Gx5mHekNx92S6fGdOS4VcooRJKWe6Bs= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.19.0/go.mod h1:AiaW5YW1LD0/WlZuc8eZuZPBH6PA9QqsiAYRX1iC6T0= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.19.0 h1:TYwyk4ea3U+5MYcEjrzZAaonBcLlabQu8CZeB7ekAYY= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.19.0/go.mod h1:i3mL4OSGI5JM0hnzHujhJK+LDlvO3XrJxBsuclfU/jY= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.19.0 h1:a077jcs3DVtaVdmgmCk3x4rRYuTkIqMDsoUc+VICHZk= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.19.0/go.mod h1:HjYkzhHbwUacv27nq0JLsslGpbtrXyyfU30Oc72AWLU= +go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.17.0 h1:lI1uHXqTklVCFXgTPIKwUb8PTP/EpMF2VxwT48fQ54w= +go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.17.0/go.mod h1:1Vhweh5dDeTUOmcw5WSGHPgHUwZzouf3y2dQr4yFWjA= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.19.0 h1:oV66DKiEdAt8EMZqGSChK2iEOxjrVaWRhf4OqqmqjbM= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.19.0/go.mod h1:jtNUdO6i1k38BG7vFst+d1jk/N+c419uVR8HB4J0VjI= +go.opentelemetry.io/collector/connector v0.113.0 h1:ii+s1CjsLxtglqRlFs6tv8UU/uX45dyN9lbTRbR0p8g= +go.opentelemetry.io/collector/connector v0.113.0/go.mod h1:KmA8eQouTVxVk65Bf6utuMjWovMuOvNVRcYV60CAGtc= +go.opentelemetry.io/collector/connector/connectorprofiles v0.113.0 h1:yAEKTxVGpBtHrrXeZFrBcVOQkduxCncH0o4hqKrDRyw= +go.opentelemetry.io/collector/connector/connectorprofiles v0.113.0/go.mod h1:+mwzwIZ1cEK29ByfC38uF8hmFO8Wf9ShT1c756XX+RI= +go.opentelemetry.io/collector/connector/connectortest v0.113.0 h1:WHekoL0izkrKLVQLv79v0QhqfnXkVcw0sgdF07EqWLM= +go.opentelemetry.io/collector/connector/connectortest v0.113.0/go.mod h1:KouywNfkxRf+yzbI2pdolzTLkLoCV4ASEI2o2pDt+Cg= +go.opentelemetry.io/collector/consumer v0.113.0 h1:KJSiK5vSIY9dgPxwKfQ3gOgKtQsqc+7IB7mGhUAL5c8= +go.opentelemetry.io/collector/consumer v0.113.0/go.mod h1:zHMlXYFaJlZoLCBR6UwWoyXZ/adcO1u2ydqUal3VmYU= +go.opentelemetry.io/collector/consumer/consumererror v0.113.0 h1:Hd2N7n9RKbnKRaVrdw6fPBoQko5zZIgCxwVxkL6SAIE= +go.opentelemetry.io/collector/consumer/consumererror v0.113.0/go.mod h1:o0MAGFdzcr7LFTUQ6iivPPhbVmn2ZVIYm3FPXk2+JUo= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.113.0 h1:2kLIt+6dGmhCd48CWXh3IEon/uW4+c8y81IGCA/h8wE= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.113.0/go.mod h1:/eESy7Ifyf7G6r6WUpEOq2tnfjIJ2QNB2EvZcEu0aWA= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.113.0 h1:RftAcQUY5UOfbEK4s16jnORqTx16y9+PxA1lQwt98cQ= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.113.0/go.mod h1:ZuHrQ4pWguh6dw0DgTfcUtdY/T+cnOJJNP6LMbm5Y5A= +go.opentelemetry.io/collector/consumer/consumertest v0.113.0 h1:ua2AjNx3DUA8qElXNkggB4w3VDL/rBKBvryOQkhumH8= +go.opentelemetry.io/collector/consumer/consumertest v0.113.0/go.mod h1:vK8o4ZTZSiG3rVyqxZcCNmT/cvEfx34ig7V65L9+6Rg= +go.opentelemetry.io/collector/exporter v0.113.0 h1:lDZJ6xfuhyLsT/7lqLhIN/ftA6G+9fuYFtubPFvNDxo= +go.opentelemetry.io/collector/exporter v0.113.0/go.mod h1:0W4NBf5NjWYxR8oJodmOybgN4O0MLazdJwwHevirvXg= +go.opentelemetry.io/collector/exporter/debugexporter v0.113.0 h1:iShn3SuSpx78YLgl7fQCJsHLs7z0RDtbN58/Amoy5xc= +go.opentelemetry.io/collector/exporter/debugexporter v0.113.0/go.mod h1:O1dLnYA81a+ZecBD89vjZSBgkAnhnfXwsmYsE7LP2/s= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.113.0 h1:Auz2vZYReIlyDvJ162OCO8XcV7L2BIbFb5HJWxerc5A= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.113.0/go.mod h1:JQuawcAfDuzNneDF5Ep1CZJ5snsLp6Bh1gZcHhja7yU= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.113.0 h1:8bsk3wYYNr+WAM5nZkFjiLYSTH9MsY2tm7nUpMWt3qc= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.113.0/go.mod h1:/HFWF846XePYL/qKDtcEAFgkiGSkLUTaC59A5F48axM= +go.opentelemetry.io/collector/exporter/exportertest v0.113.0 h1:U6cRxjJS7td8iNriUI2QfEdH+Yj60ytyvpmnmKTw0+8= +go.opentelemetry.io/collector/exporter/exportertest v0.113.0/go.mod h1:SRz5jGyAjtNiWwJ93B1+Ndk1p3oFtQsyLw52UGeyRwc= +go.opentelemetry.io/collector/exporter/otlpexporter v0.113.0 h1://7diunG5SohqaYfqvHzCtcfrY7y3WQj0vklFYgeNW4= +go.opentelemetry.io/collector/exporter/otlpexporter v0.113.0/go.mod h1:THF0eq4lA6dYOho53iKFCBOv91HEeISZyep5dXr+fBU= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.113.0 h1:22Srn4V6ogOdi4Bn6eKtKqAidWyjPkYKYDR3Xq91nFY= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.113.0/go.mod h1:BRA54WRyPS9RYDIUEGxxJvxJ/uZ66++bCFPHliDstCQ= +go.opentelemetry.io/collector/extension v0.113.0 h1:Vp/YSL8ZCkJQrP1lf2Bm5yaTvcp6ROO3AnfuSL3GEXM= +go.opentelemetry.io/collector/extension v0.113.0/go.mod h1:Pwp0TNqdHeER4V1I6H6oCvrto/riiOAqs3737BWCnjw= +go.opentelemetry.io/collector/extension/auth v0.113.0 h1:4ggRy1vepOabUiCWfU+6M9P/ftXojMUNAvBpeLihYj8= +go.opentelemetry.io/collector/extension/auth v0.113.0/go.mod h1:VbvAm2YZAqePkWgwn0m0vBaq3aC49CxPVwHmrJ24aeQ= +go.opentelemetry.io/collector/extension/experimental/storage v0.113.0 h1:Qq4IaB6bMUrf/bWoPZ5ESWywCt+vDi8I/ChYejIEPcc= +go.opentelemetry.io/collector/extension/experimental/storage v0.113.0/go.mod h1:BRmo+A7f06u/rhyLauU/Vogk+QRN0y1j2VVVgMGWrfQ= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.113.0 h1:GuJzpnrJtsMrKWGmb1VL4EqL6x1HDtZmtvy3yEjth6Y= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.113.0/go.mod h1:oa72qndu7nAfEeEpDyDi9qLcaSJGIscLc/eeojFADx0= +go.opentelemetry.io/collector/extension/zpagesextension v0.113.0 h1:b/Clxso9uVwLVYjvRQ1NGBWHpUEZ/++uA5sJbBj0ryo= +go.opentelemetry.io/collector/extension/zpagesextension v0.113.0/go.mod h1:5csGYy9Ydfy6Hpw3Tod864P6HUEZpA6UiuPJPG3TjSU= +go.opentelemetry.io/collector/featuregate v1.19.0 h1:ASea2sU+tdpKI3RxIJC/pufDAfwAmrvcQ4EmTHVu0B0= +go.opentelemetry.io/collector/featuregate v1.19.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.113.0 h1:Beu2zAN6/EDXQ6hMFU6FT1BsnU5FXmWNOlfTAhrgbGc= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.113.0/go.mod h1:WUXbc4L6KJ3SpmsxBgId0OYzRDuS7n274kNpqrgnSmY= +go.opentelemetry.io/collector/internal/memorylimiter v0.113.0 h1:qe3xZYB4BgSuPDgFMQbcJ5gDy8t+S1vt6pL+OKrdx9E= +go.opentelemetry.io/collector/internal/memorylimiter v0.113.0/go.mod h1:Eo/XZsFPS1mo0DHnAaVeyPNFn3HKVXB2nog++b3CnRc= +go.opentelemetry.io/collector/internal/sharedcomponent v0.113.0 h1:a4gT+t+rboCaH70anhu+ZQp9IJ7UjVeZxZJvxTBgCqU= +go.opentelemetry.io/collector/internal/sharedcomponent v0.113.0/go.mod h1:6WDDyjI4pbtfUmtv/JKLs7OwieEEvaDVb3Zcc4oA9Vg= +go.opentelemetry.io/collector/otelcol v0.113.0 h1:t32gA8Pg9lsqYQml4mgvHdqFSsjvPZMvGywi0zXQYjk= +go.opentelemetry.io/collector/otelcol v0.113.0/go.mod h1:PV6pDLPEaulRs3ceWYNEDuG5100F35I5VzeC2ekT/vY= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.19.0 h1:jmnU5R8TOCbwRr4B8sjdRxM7L5WnEKlQWX1dtLYxIbE= +go.opentelemetry.io/collector/pdata v1.19.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.113.0 h1:VRf4p0VhfuaR+Epy/nMIlu/9t39WU9CUgHVUvpuGxfU= +go.opentelemetry.io/collector/pdata/pprofile v0.113.0/go.mod h1:5aDejksdXh5PdJN/OhpzATGT3kbNL0RMmw2Q0Q6E/o0= +go.opentelemetry.io/collector/pdata/testdata v0.113.0 h1:vRfn85jicO2F4eOTgsWtzmU/K3E/uZUtM1HEefvvJD8= +go.opentelemetry.io/collector/pdata/testdata v0.113.0/go.mod h1:sR+6eR+YEJhYZu9StbqzeWcCmHpfBAgX/qjP82HY9Gw= +go.opentelemetry.io/collector/pipeline v0.113.0 h1:vSRzRe3717jV0btCNPhVkhg2lu0uFxcm2VO+vhad/eE= +go.opentelemetry.io/collector/pipeline v0.113.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.113.0 h1:PwQnErsLvEd1x6VIyjLmKQot9huKWqIfEz1kd+8aj4k= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.113.0/go.mod h1:tChJYsCG3wc6JPT9aJO3y+32V14NhmCFZOh3k5ORGdQ= +go.opentelemetry.io/collector/processor v0.113.0 h1:BQI6MsKtiCG9HT/nmiRXTKP6SZFrjFKVfM6pTQfbc0k= +go.opentelemetry.io/collector/processor v0.113.0/go.mod h1:oX91zMI8ZkoaYSUfUYflHiMiiBJPKtODNBUCrETLLd8= +go.opentelemetry.io/collector/processor/batchprocessor v0.113.0 h1:LPNbVILg+cKTFIi8ziIa2idZ5MRlBIf4Wr72gZNgXb0= +go.opentelemetry.io/collector/processor/batchprocessor v0.113.0/go.mod h1:tCg+B/1idJS5inxod+nRPXFdVi89Bsnl6RvzIOO9k5I= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.113.0 h1:3/5z0Pe/yduwF0DSpytW2+mwDA5JaIL/w6vfNYy5KzQ= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.113.0/go.mod h1:h3wIlqMtJGIDKttjMJBo6J4dHU/Mi6+bKSxvRVUpsXs= +go.opentelemetry.io/collector/processor/processorprofiles v0.113.0 h1:cczN6whdrCWww3T0FBV3U7lsVKQmkWDX05M+9lANHgk= +go.opentelemetry.io/collector/processor/processorprofiles v0.113.0/go.mod h1:4Dmx5qsvujgJ+MC+KqWI7UDVM2liXa3sH/9XnGiL9aE= +go.opentelemetry.io/collector/processor/processortest v0.113.0 h1:jGoDJ+tDCzuDcAWZeshQtnK/DQAvMKd4wZAIDgAM5aA= +go.opentelemetry.io/collector/processor/processortest v0.113.0/go.mod h1:tNg04r5KlpVx774jSC8U/oYst1eb7WIiz+0AjXKJ0Uw= +go.opentelemetry.io/collector/receiver v0.113.0 h1:vraAbkPy8Pz9x5X39gV+j9t6x23PNsY2aJ6gQMugRbQ= +go.opentelemetry.io/collector/receiver v0.113.0/go.mod h1:IUa8/lNw8Qh4L5Q3jOeRWKW0ebQPoNcfhytxN5Puq2A= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.113.0 h1:yhnj8kmh1IQ4g6fIWvhum/wYPUU2WmRpQuy1iSvf4e4= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.113.0/go.mod h1:3OB+oJlOb1rlLLdBwxae4g2Qh5C97Eg17HVveIddUCw= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.113.0 h1:uVxuzjGe2t1sbwahSBowVHYnGzpzn8brmfn8z1UHvQg= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.113.0/go.mod h1:khKDkzYJR2x2OPUqGSmoSncdINT9lUE5IThiHPDbqZk= +go.opentelemetry.io/collector/receiver/receivertest v0.113.0 h1:0vOvz3S4Q/KwcNCS9C7zPo0uxD6RSWktG88yGdxfV6g= +go.opentelemetry.io/collector/receiver/receivertest v0.113.0/go.mod h1:sRq5ctm5UE/0Ar562wnCVQ1zbAie/D127D1WbtbEuEc= +go.opentelemetry.io/collector/semconv v0.113.0 h1:twenSI7M7MJMJKW8D6a/GXxPZTPbama/weywBtV2iFw= +go.opentelemetry.io/collector/semconv v0.113.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.113.0 h1:SFT+kWuj9TehC34MLEWfXH6QocGl3MYqLJ7UbxZtWzM= +go.opentelemetry.io/collector/service v0.113.0/go.mod h1:6+JY80Yd4J4RWpvRmpCUUZFOZKGVs9a1QKCKPlDrKfs= +go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 h1:j8icMXyyqNf6HGuwlYhniPnVsbJIq7n+WirDu3VAJdQ= +go.opentelemetry.io/contrib/bridges/otelzap v0.6.0/go.mod h1:evIOZpl+kAlU5IsaYX2Siw+IbpacAZvXemVsgt70uvw= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -1048,13 +1107,11 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1092,8 +1149,8 @@ golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hM golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1136,19 +1193,20 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1162,8 +1220,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1235,10 +1293,9 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1246,9 +1303,9 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1262,14 +1319,16 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -1319,16 +1378,16 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= 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= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= -gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= +gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= +gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1345,8 +1404,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.183.0 h1:PNMeRDwo1pJdgNcFQ9GstuLe/noWKIc89pRWRLMvLwE= -google.golang.org/api v0.183.0/go.mod h1:q43adC5/pHoSZTx5h2mSmdF7NcyfW9JuDyIOJAgS9ZQ= +google.golang.org/api v0.204.0 h1:3PjmQQEDkR/ENVZZwIYB4W/KzYtN8OrqnNcHWpeR8E4= +google.golang.org/api v0.204.0/go.mod h1:69y8QSoKIbL9F94bWgWAq6wGqGwyjBgi2y8rAK8zLag= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1385,12 +1444,12 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 h1:HCZ6DlkKtCDAtD8ForECsY3tKuaR+p4R3grlK80uCCc= -google.golang.org/genproto v0.0.0-20240604185151-ef581f913117/go.mod h1:lesfX/+9iA+3OdqeCpoDddJaNxVB1AB6tD7EfqMmprc= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 h1:Q3nlH8iSQSRUwOskjbcSMcF2jiYMNiQYZ0c2KEJLKKU= +google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38/go.mod h1:xBI+tzfqGGN2JBeSebfKXFSdBpWVQ7sLW40PTupVRm4= +google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw= +google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1408,8 +1467,10 @@ google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA= -google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20241028142157-ada6787961b3 h1:hUfOButuEtpc0UvYiaYRbNwxVYr0mQQOWq6X8beJ9Gc= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20241028142157-ada6787961b3/go.mod h1:jzYlkSMbKypzuu6xoAEijsNVo9ZeDF1u/zCfFgsx7jg= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1422,8 +1483,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1433,6 +1494,8 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= +gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= @@ -1465,28 +1528,28 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw= -k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU= -k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg= -k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= -k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= +k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= @@ -1497,5 +1560,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/integration_test/collector_test.go b/integration_test/collector_test.go index 7471540..74717fd 100644 --- a/integration_test/collector_test.go +++ b/integration_test/collector_test.go @@ -262,7 +262,6 @@ func (p *PrometheusDataSender) GenConfigYAMLStr() string { // Note that this generates a receiver config for agent. return fmt.Sprintf(` prometheus: - preserve_untyped: true allow_cumulative_resets: true use_collector_start_time_fallback: true use_start_time_metric: true