From b300a79d38817495ad239c3b5b8c2fcb6c31a31e Mon Sep 17 00:00:00 2001 From: Kyle Eckhart Date: Thu, 10 Sep 2026 17:47:11 -0400 Subject: [PATCH] refactor(otelcol): Seed factory defaults in small struct-literal Convert bodies (group 3 of 5) --- .../component/otelcol/auth/bearer/bearer.go | 10 ++--- .../component/otelcol/auth/google/google.go | 18 ++++----- .../signaltometrics/signaltometrics.go | 12 +++--- .../component/otelcol/exporter/faro/faro.go | 10 ++--- .../exporter/loadbalancing/loadbalancing.go | 36 ++++++++--------- .../component/otelcol/exporter/otlp/otlp.go | 14 +++---- .../otelcol/exporter/otlphttp/otlphttp.go | 18 ++++----- .../otelcol/processor/batch/batch.go | 14 +++---- .../deltatocumulative/deltatocumulative.go | 8 ++-- .../processor/groupbyattrs/groupbyattrs.go | 6 +-- .../otelcol/processor/interval/interval.go | 8 ++-- .../metricstarttime/metricstarttime.go | 10 ++--- .../probabilistic_sampler.go | 20 +++++----- .../awsecscontainermetrics.go | 6 +-- .../component/otelcol/receiver/faro/faro.go | 6 +-- .../googlecloudpubsub/googlecloudpubsub.go | 39 +++++++++---------- .../otelcol/receiver/influxdb/influxdb.go | 6 +-- .../otelcol/receiver/zipkin/zipkin.go | 8 ++-- 18 files changed, 122 insertions(+), 127 deletions(-) diff --git a/internal/component/otelcol/auth/bearer/bearer.go b/internal/component/otelcol/auth/bearer/bearer.go index 9b4e342a563..37d43831bf3 100644 --- a/internal/component/otelcol/auth/bearer/bearer.go +++ b/internal/component/otelcol/auth/bearer/bearer.go @@ -53,11 +53,11 @@ func (args *Arguments) SetToDefault() { } func (args Arguments) convert() (otelcomponent.Config, error) { - return &bearertokenauthextension.Config{ - Scheme: args.Scheme, - BearerToken: configopaque.String(args.Token), - Header: args.Header, - }, nil + cfg := bearertokenauthextension.NewFactory().CreateDefaultConfig().(*bearertokenauthextension.Config) + cfg.Scheme = args.Scheme + cfg.BearerToken = configopaque.String(args.Token) + cfg.Header = args.Header + return cfg, nil } // ConvertClient implements auth.Arguments. diff --git a/internal/component/otelcol/auth/google/google.go b/internal/component/otelcol/auth/google/google.go index 4e85c9abdf2..17bed96cf07 100644 --- a/internal/component/otelcol/auth/google/google.go +++ b/internal/component/otelcol/auth/google/google.go @@ -84,16 +84,14 @@ func (args Arguments) Validate() error { // ConvertClient implements auth.Arguments. func (args Arguments) ConvertClient() (otelcomponent.Config, error) { - return &collectorgoogleauth.Config{ - Config: googleclientauthextension.Config{ - Project: args.Project, - QuotaProject: args.QuotaProject, - TokenType: args.TokenType, - Audience: args.Audience, - TokenHeader: args.TokenHeader, - Scopes: args.Scopes, - }, - }, nil + cfg := collectorgoogleauth.NewFactory().CreateDefaultConfig().(*collectorgoogleauth.Config) + cfg.Config.Project = args.Project + cfg.Config.QuotaProject = args.QuotaProject + cfg.Config.TokenType = args.TokenType + cfg.Config.Audience = args.Audience + cfg.Config.TokenHeader = args.TokenHeader + cfg.Config.Scopes = args.Scopes + return cfg, nil } // ConvertServer returns nil since the ouath2 client extension does not support server auth. diff --git a/internal/component/otelcol/connector/signaltometrics/signaltometrics.go b/internal/component/otelcol/connector/signaltometrics/signaltometrics.go index 7514f2a7df6..267a7104c62 100644 --- a/internal/component/otelcol/connector/signaltometrics/signaltometrics.go +++ b/internal/component/otelcol/connector/signaltometrics/signaltometrics.go @@ -79,12 +79,12 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { // convertImpl returns the concrete upstream config type so it can be reused by // both Convert and Validate. func (args Arguments) convertImpl() *config.Config { - return &config.Config{ - Spans: convertMetricInfos(args.Spans), - Datapoints: convertMetricInfos(args.Datapoints), - Logs: convertMetricInfos(args.Logs), - ErrorMode: args.ErrorMode, - } + cfg := signaltometricsconnector.NewFactory().CreateDefaultConfig().(*config.Config) + cfg.Spans = convertMetricInfos(args.Spans) + cfg.Datapoints = convertMetricInfos(args.Datapoints) + cfg.Logs = convertMetricInfos(args.Logs) + cfg.ErrorMode = args.ErrorMode + return cfg } // Extensions implements connector.Arguments. diff --git a/internal/component/otelcol/exporter/faro/faro.go b/internal/component/otelcol/exporter/faro/faro.go index 96fd6457d1c..7a40251dc2a 100644 --- a/internal/component/otelcol/exporter/faro/faro.go +++ b/internal/component/otelcol/exporter/faro/faro.go @@ -55,11 +55,11 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { if err != nil { return nil, err } - return &faroexporter.Config{ - ClientConfig: *convertedClientArgs, - QueueConfig: q, - RetryConfig: *args.Retry.Convert(), - }, nil + cfg := faroexporter.NewFactory().CreateDefaultConfig().(*faroexporter.Config) + cfg.ClientConfig = *convertedClientArgs + cfg.QueueConfig = q + cfg.RetryConfig = *args.Retry.Convert() + return cfg, nil } func (args *Arguments) Validate() error { diff --git a/internal/component/otelcol/exporter/loadbalancing/loadbalancing.go b/internal/component/otelcol/exporter/loadbalancing/loadbalancing.go index 45f7537d723..793fc44a90f 100644 --- a/internal/component/otelcol/exporter/loadbalancing/loadbalancing.go +++ b/internal/component/otelcol/exporter/loadbalancing/loadbalancing.go @@ -131,16 +131,16 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { return nil, err } - return &loadbalancingexporter.Config{ - Protocol: *protocol, - Resolver: args.Resolver.Convert(), - RoutingKey: args.RoutingKey, - TimeoutSettings: exporterhelper.TimeoutConfig{ - Timeout: args.Timeout, - }, - BackOffConfig: *args.Retry.Convert(), - QueueSettings: q, - }, nil + cfg := loadbalancingexporter.NewFactory().CreateDefaultConfig().(*loadbalancingexporter.Config) + cfg.Protocol = *protocol + cfg.Resolver = args.Resolver.Convert() + cfg.RoutingKey = args.RoutingKey + cfg.TimeoutSettings = exporterhelper.TimeoutConfig{ + Timeout: args.Timeout, + } + cfg.BackOffConfig = *args.Retry.Convert() + cfg.QueueSettings = q + return cfg, nil } // Protocol holds the individual protocol-specific settings. Only OTLP is supported at the moment. @@ -187,14 +187,14 @@ func (oc OtlpConfig) Convert() (*otlpexporter.Config, error) { return nil, err } - return &otlpexporter.Config{ - TimeoutConfig: exporterhelper.TimeoutConfig{ - Timeout: oc.Timeout, - }, - QueueConfig: q, - RetryConfig: *oc.Retry.Convert(), - ClientConfig: *clientConfig, - }, nil + cfg := otlpexporter.NewFactory().CreateDefaultConfig().(*otlpexporter.Config) + cfg.TimeoutConfig = exporterhelper.TimeoutConfig{ + Timeout: oc.Timeout, + } + cfg.QueueConfig = q + cfg.RetryConfig = *oc.Retry.Convert() + cfg.ClientConfig = *clientConfig + return cfg, nil } // ResolverSettings defines the configurations for the backend resolver diff --git a/internal/component/otelcol/exporter/otlp/otlp.go b/internal/component/otelcol/exporter/otlp/otlp.go index 98ecd5665e8..ae0174b191d 100644 --- a/internal/component/otelcol/exporter/otlp/otlp.go +++ b/internal/component/otelcol/exporter/otlp/otlp.go @@ -70,14 +70,12 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { if err != nil { return nil, err } - return &otlpexporter.Config{ - TimeoutConfig: otelpexporterhelper.TimeoutConfig{ - Timeout: args.Timeout, - }, - QueueConfig: q, - RetryConfig: *args.Retry.Convert(), - ClientConfig: *convertedClientArgs, - }, nil + cfg := otlpexporter.NewFactory().CreateDefaultConfig().(*otlpexporter.Config) + cfg.TimeoutConfig = otelpexporterhelper.TimeoutConfig{Timeout: args.Timeout} + cfg.QueueConfig = q + cfg.RetryConfig = *args.Retry.Convert() + cfg.ClientConfig = *convertedClientArgs + return cfg, nil } // Extensions implements exporter.Arguments. diff --git a/internal/component/otelcol/exporter/otlphttp/otlphttp.go b/internal/component/otelcol/exporter/otlphttp/otlphttp.go index 2201d3c5893..24a92981253 100644 --- a/internal/component/otelcol/exporter/otlphttp/otlphttp.go +++ b/internal/component/otelcol/exporter/otlphttp/otlphttp.go @@ -80,15 +80,15 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { if err != nil { return nil, err } - return &otlphttpexporter.Config{ - ClientConfig: *convertedClientArgs, - QueueConfig: q, - RetryConfig: *args.Retry.Convert(), - TracesEndpoint: args.TracesEndpoint, - MetricsEndpoint: args.MetricsEndpoint, - LogsEndpoint: args.LogsEndpoint, - Encoding: otlphttpexporter.EncodingType(args.Encoding), - }, nil + cfg := otlphttpexporter.NewFactory().CreateDefaultConfig().(*otlphttpexporter.Config) + cfg.ClientConfig = *convertedClientArgs + cfg.QueueConfig = q + cfg.RetryConfig = *args.Retry.Convert() + cfg.TracesEndpoint = args.TracesEndpoint + cfg.MetricsEndpoint = args.MetricsEndpoint + cfg.LogsEndpoint = args.LogsEndpoint + cfg.Encoding = otlphttpexporter.EncodingType(args.Encoding) + return cfg, nil } // Extensions implements exporter.Arguments. diff --git a/internal/component/otelcol/processor/batch/batch.go b/internal/component/otelcol/processor/batch/batch.go index 81de772304c..b6c34ddaea4 100644 --- a/internal/component/otelcol/processor/batch/batch.go +++ b/internal/component/otelcol/processor/batch/batch.go @@ -72,13 +72,13 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &batchprocessor.Config{ - Timeout: args.Timeout, - SendBatchSize: args.SendBatchSize, - SendBatchMaxSize: args.SendBatchMaxSize, - MetadataKeys: args.MetadataKeys, - MetadataCardinalityLimit: args.MetadataCardinalityLimit, - }, nil + cfg := batchprocessor.NewFactory().CreateDefaultConfig().(*batchprocessor.Config) + cfg.Timeout = args.Timeout + cfg.SendBatchSize = args.SendBatchSize + cfg.SendBatchMaxSize = args.SendBatchMaxSize + cfg.MetadataKeys = args.MetadataKeys + cfg.MetadataCardinalityLimit = args.MetadataCardinalityLimit + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/processor/deltatocumulative/deltatocumulative.go b/internal/component/otelcol/processor/deltatocumulative/deltatocumulative.go index e55085589b6..687757200c1 100644 --- a/internal/component/otelcol/processor/deltatocumulative/deltatocumulative.go +++ b/internal/component/otelcol/processor/deltatocumulative/deltatocumulative.go @@ -77,10 +77,10 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &deltatocumulativeprocessor.Config{ - MaxStale: args.MaxStale, - MaxStreams: args.MaxStreams, - }, nil + cfg := deltatocumulativeprocessor.NewFactory().CreateDefaultConfig().(*deltatocumulativeprocessor.Config) + cfg.MaxStale = args.MaxStale + cfg.MaxStreams = args.MaxStreams + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/processor/groupbyattrs/groupbyattrs.go b/internal/component/otelcol/processor/groupbyattrs/groupbyattrs.go index 31690f2089e..b35d689b748 100644 --- a/internal/component/otelcol/processor/groupbyattrs/groupbyattrs.go +++ b/internal/component/otelcol/processor/groupbyattrs/groupbyattrs.go @@ -57,9 +57,9 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &groupbyattrsprocessor.Config{ - GroupByKeys: args.Keys, - }, nil + cfg := groupbyattrsprocessor.NewFactory().CreateDefaultConfig().(*groupbyattrsprocessor.Config) + cfg.GroupByKeys = args.Keys + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/processor/interval/interval.go b/internal/component/otelcol/processor/interval/interval.go index 530a337b8cb..2f25bae92ec 100644 --- a/internal/component/otelcol/processor/interval/interval.go +++ b/internal/component/otelcol/processor/interval/interval.go @@ -77,10 +77,10 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &intervalprocessor.Config{ - Interval: args.Interval, - PassThrough: args.PassThrough.Convert(), - }, nil + cfg := intervalprocessor.NewFactory().CreateDefaultConfig().(*intervalprocessor.Config) + cfg.Interval = args.Interval + cfg.PassThrough = args.PassThrough.Convert() + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/processor/metricstarttime/metricstarttime.go b/internal/component/otelcol/processor/metricstarttime/metricstarttime.go index 5a7e9611058..c10cc1c1993 100644 --- a/internal/component/otelcol/processor/metricstarttime/metricstarttime.go +++ b/internal/component/otelcol/processor/metricstarttime/metricstarttime.go @@ -83,11 +83,11 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &metricstarttimeprocessor.Config{ - Strategy: args.Strategy, - GCInterval: args.GCInterval, - StartTimeMetricRegex: args.StartTimeMetricRegex, - }, nil + cfg := metricstarttimeprocessor.NewFactory().CreateDefaultConfig().(*metricstarttimeprocessor.Config) + cfg.Strategy = args.Strategy + cfg.GCInterval = args.GCInterval + cfg.StartTimeMetricRegex = args.StartTimeMetricRegex + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/processor/probabilistic_sampler/probabilistic_sampler.go b/internal/component/otelcol/processor/probabilistic_sampler/probabilistic_sampler.go index f99850927dd..32c48846810 100644 --- a/internal/component/otelcol/processor/probabilistic_sampler/probabilistic_sampler.go +++ b/internal/component/otelcol/processor/probabilistic_sampler/probabilistic_sampler.go @@ -76,16 +76,16 @@ func (args *Arguments) Validate() error { // Convert implements processor.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &probabilisticsamplerprocessor.Config{ - SamplingPercentage: args.SamplingPercentage, - HashSeed: args.HashSeed, - Mode: probabilisticsamplerprocessor.SamplerMode(args.Mode), - FailClosed: args.FailClosed, - SamplingPrecision: args.SamplingPrecision, - AttributeSource: probabilisticsamplerprocessor.AttributeSource(args.AttributeSource), - FromAttribute: args.FromAttribute, - SamplingPriority: args.SamplingPriority, - }, nil + cfg := probabilisticsamplerprocessor.NewFactory().CreateDefaultConfig().(*probabilisticsamplerprocessor.Config) + cfg.SamplingPercentage = args.SamplingPercentage + cfg.HashSeed = args.HashSeed + cfg.Mode = probabilisticsamplerprocessor.SamplerMode(args.Mode) + cfg.FailClosed = args.FailClosed + cfg.SamplingPrecision = args.SamplingPrecision + cfg.AttributeSource = probabilisticsamplerprocessor.AttributeSource(args.AttributeSource) + cfg.FromAttribute = args.FromAttribute + cfg.SamplingPriority = args.SamplingPriority + return cfg, nil } // Extensions implements processor.Arguments. diff --git a/internal/component/otelcol/receiver/awsecscontainermetrics/awsecscontainermetrics.go b/internal/component/otelcol/receiver/awsecscontainermetrics/awsecscontainermetrics.go index b57f4f3cf0c..085875a7fd4 100644 --- a/internal/component/otelcol/receiver/awsecscontainermetrics/awsecscontainermetrics.go +++ b/internal/component/otelcol/receiver/awsecscontainermetrics/awsecscontainermetrics.go @@ -50,9 +50,9 @@ func (args *Arguments) SetToDefault() { // Convert implements receiver.Arguments. func (args Arguments) Convert() (otelcomponent.Config, error) { - return &awsecscontainermetricsreceiver.Config{ - CollectionInterval: args.CollectionInterval, - }, nil + cfg := awsecscontainermetricsreceiver.NewFactory().CreateDefaultConfig().(*awsecscontainermetricsreceiver.Config) + cfg.CollectionInterval = args.CollectionInterval + return cfg, nil } // Extensions implements receiver.Arguments. diff --git a/internal/component/otelcol/receiver/faro/faro.go b/internal/component/otelcol/receiver/faro/faro.go index 6d20bca9240..c818da9781e 100644 --- a/internal/component/otelcol/receiver/faro/faro.go +++ b/internal/component/otelcol/receiver/faro/faro.go @@ -60,9 +60,9 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { return nil, err } - return &faroreceiver.Config{ - ServerConfig: *httpServerConfig, - }, nil + cfg := faroreceiver.NewFactory().CreateDefaultConfig().(*faroreceiver.Config) + cfg.ServerConfig = *httpServerConfig + return cfg, nil } // Extensions implements receiver.Arguments. diff --git a/internal/component/otelcol/receiver/googlecloudpubsub/googlecloudpubsub.go b/internal/component/otelcol/receiver/googlecloudpubsub/googlecloudpubsub.go index c7594bf672c..3e5c64f2931 100644 --- a/internal/component/otelcol/receiver/googlecloudpubsub/googlecloudpubsub.go +++ b/internal/component/otelcol/receiver/googlecloudpubsub/googlecloudpubsub.go @@ -97,26 +97,25 @@ func (args *Arguments) Validate() error { } func (args Arguments) Convert() (otelcomponent.Config, error) { - otelConfig := &googlecloudpubsubreceiver.Config{ - ProjectID: args.ProjectID, - UserAgent: args.UserAgent, - Endpoint: args.Endpoint, - UniverseDomain: args.UniverseDomain, - Insecure: args.Insecure, - Subscription: args.Subscription, - Encoding: args.Encoding, - Compression: args.Compression, - IgnoreEncodingError: args.IgnoreEncodingError, - ClientID: args.ClientID, - TimeoutSettings: exporterhelper.TimeoutConfig{ - Timeout: args.Timeout, - }, - FlowControlConfig: googlecloudpubsubreceiver.FlowControlConfig{ - TriggerAckBatchDuration: args.FlowControl.TriggerAckBatchDuration, - StreamAckDeadline: args.FlowControl.StreamAckDeadline, - MaxOutstandingMessages: args.FlowControl.MaxOutstandingMessages, - MaxOutstandingBytes: args.FlowControl.MaxOutstandingBytes, - }, + otelConfig := googlecloudpubsubreceiver.NewFactory().CreateDefaultConfig().(*googlecloudpubsubreceiver.Config) + otelConfig.ProjectID = args.ProjectID + otelConfig.UserAgent = args.UserAgent + otelConfig.Endpoint = args.Endpoint + otelConfig.UniverseDomain = args.UniverseDomain + otelConfig.Insecure = args.Insecure + otelConfig.Subscription = args.Subscription + otelConfig.Encoding = args.Encoding + otelConfig.Compression = args.Compression + otelConfig.IgnoreEncodingError = args.IgnoreEncodingError + otelConfig.ClientID = args.ClientID + otelConfig.TimeoutSettings = exporterhelper.TimeoutConfig{ + Timeout: args.Timeout, + } + otelConfig.FlowControlConfig = googlecloudpubsubreceiver.FlowControlConfig{ + TriggerAckBatchDuration: args.FlowControl.TriggerAckBatchDuration, + StreamAckDeadline: args.FlowControl.StreamAckDeadline, + MaxOutstandingMessages: args.FlowControl.MaxOutstandingMessages, + MaxOutstandingBytes: args.FlowControl.MaxOutstandingBytes, } return otelConfig, nil diff --git a/internal/component/otelcol/receiver/influxdb/influxdb.go b/internal/component/otelcol/receiver/influxdb/influxdb.go index 8b9ea09e1e9..729e5bcffeb 100644 --- a/internal/component/otelcol/receiver/influxdb/influxdb.go +++ b/internal/component/otelcol/receiver/influxdb/influxdb.go @@ -66,9 +66,9 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { return nil, err } - return &influxdbreceiver.Config{ - ServerConfig: *serverConfig.Get(), - }, nil + cfg := influxdbreceiver.NewFactory().CreateDefaultConfig().(*influxdbreceiver.Config) + cfg.ServerConfig = *serverConfig.Get() + return cfg, nil } // Extensions implements receiver.Arguments. diff --git a/internal/component/otelcol/receiver/zipkin/zipkin.go b/internal/component/otelcol/receiver/zipkin/zipkin.go index 2db764529a9..fe902c443cf 100644 --- a/internal/component/otelcol/receiver/zipkin/zipkin.go +++ b/internal/component/otelcol/receiver/zipkin/zipkin.go @@ -60,10 +60,10 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { if err != nil { return nil, err } - return &zipkinreceiver.Config{ - ParseStringTags: args.ParseStringTags, - ServerConfig: *httpServerConfig, - }, nil + cfg := zipkinreceiver.NewFactory().CreateDefaultConfig().(*zipkinreceiver.Config) + cfg.ParseStringTags = args.ParseStringTags + cfg.ServerConfig = *httpServerConfig + return cfg, nil } // Extensions implements receiver.Arguments.