Skip to content

Commit

Permalink
Deprecate 'Create*' methods (#12356)
Browse files Browse the repository at this point in the history
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Deprecate `Create*` methods. This is a small part of #12305, but applied
to all other component kinds

#### Link to tracking issue
Updates #12221
  • Loading branch information
mx-psi authored Feb 11, 2025
1 parent f57d2ac commit fc644ed
Show file tree
Hide file tree
Showing 10 changed files with 334 additions and 66 deletions.
25 changes: 25 additions & 0 deletions .chloggen/mx-psi_deprecate-create-methods.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Use this changelog template to create an entry for release notes.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: deprecation

# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: extension, connector, processor, receiver, exporter, scraper

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Deprecate `Create*` methods from `Create*Func` types.

# One or more tracking issues or pull requests related to the change
issues: [12305]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:

# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: [api]
108 changes: 90 additions & 18 deletions connector/connector.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ func (f factoryOptionFunc) apply(o *factory) {
type CreateTracesToTracesFunc func(context.Context, Settings, component.Config, consumer.Traces) (Traces, error)

// CreateTracesToTraces implements Factory.CreateTracesToTraces().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateTracesToTracesFunc) CreateTracesToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Traces, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalTraces)
Expand All @@ -145,6 +146,7 @@ func (f CreateTracesToTracesFunc) CreateTracesToTraces(ctx context.Context, set
type CreateTracesToMetricsFunc func(context.Context, Settings, component.Config, consumer.Metrics) (Traces, error)

// CreateTracesToMetrics implements Factory.CreateTracesToMetrics().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateTracesToMetricsFunc) CreateTracesToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Traces, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalMetrics)
Expand All @@ -156,6 +158,7 @@ func (f CreateTracesToMetricsFunc) CreateTracesToMetrics(ctx context.Context, se
type CreateTracesToLogsFunc func(context.Context, Settings, component.Config, consumer.Logs) (Traces, error)

// CreateTracesToLogs implements Factory.CreateTracesToLogs().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateTracesToLogsFunc) CreateTracesToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Traces, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalLogs)
Expand All @@ -167,6 +170,7 @@ func (f CreateTracesToLogsFunc) CreateTracesToLogs(ctx context.Context, set Sett
type CreateMetricsToTracesFunc func(context.Context, Settings, component.Config, consumer.Traces) (Metrics, error)

// CreateMetricsToTraces implements Factory.CreateMetricsToTraces().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateMetricsToTracesFunc) CreateMetricsToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Metrics, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalTraces)
Expand All @@ -178,6 +182,7 @@ func (f CreateMetricsToTracesFunc) CreateMetricsToTraces(ctx context.Context, se
type CreateMetricsToMetricsFunc func(context.Context, Settings, component.Config, consumer.Metrics) (Metrics, error)

// CreateMetricsToMetrics implements Factory.CreateMetricsToTraces().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateMetricsToMetricsFunc) CreateMetricsToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Metrics, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalMetrics)
Expand All @@ -189,6 +194,7 @@ func (f CreateMetricsToMetricsFunc) CreateMetricsToMetrics(ctx context.Context,
type CreateMetricsToLogsFunc func(context.Context, Settings, component.Config, consumer.Logs) (Metrics, error)

// CreateMetricsToLogs implements Factory.CreateMetricsToLogs().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateMetricsToLogsFunc) CreateMetricsToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Metrics, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalLogs)
Expand All @@ -200,6 +206,7 @@ func (f CreateMetricsToLogsFunc) CreateMetricsToLogs(ctx context.Context, set Se
type CreateLogsToTracesFunc func(context.Context, Settings, component.Config, consumer.Traces) (Logs, error)

// CreateLogsToTraces implements Factory.CreateLogsToTraces().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateLogsToTracesFunc) CreateLogsToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Logs, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalTraces)
Expand All @@ -211,6 +218,7 @@ func (f CreateLogsToTracesFunc) CreateLogsToTraces(ctx context.Context, set Sett
type CreateLogsToMetricsFunc func(context.Context, Settings, component.Config, consumer.Metrics) (Logs, error)

// CreateLogsToMetrics implements Factory.CreateLogsToMetrics().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateLogsToMetricsFunc) CreateLogsToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Logs, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalMetrics)
Expand All @@ -222,6 +230,7 @@ func (f CreateLogsToMetricsFunc) CreateLogsToMetrics(ctx context.Context, set Se
type CreateLogsToLogsFunc func(context.Context, Settings, component.Config, consumer.Logs) (Logs, error)

// CreateLogsToLogs implements Factory.CreateLogsToLogs().
// Deprecated: [v0.120.0] No longer used, will be removed.
func (f CreateLogsToLogsFunc) CreateLogsToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Logs, error) {
if f == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalLogs)
Expand All @@ -233,71 +242,71 @@ func (f CreateLogsToLogsFunc) CreateLogsToLogs(ctx context.Context, set Settings
func WithTracesToTraces(createTracesToTraces CreateTracesToTracesFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.tracesToTracesStabilityLevel = sl
o.CreateTracesToTracesFunc = createTracesToTraces
o.createTracesToTracesFunc = createTracesToTraces
})
}

// WithTracesToMetrics overrides the default "error not supported" implementation for WithTracesToMetrics and the default "undefined" stability level.
func WithTracesToMetrics(createTracesToMetrics CreateTracesToMetricsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.tracesToMetricsStabilityLevel = sl
o.CreateTracesToMetricsFunc = createTracesToMetrics
o.createTracesToMetricsFunc = createTracesToMetrics
})
}

// WithTracesToLogs overrides the default "error not supported" implementation for WithTracesToLogs and the default "undefined" stability level.
func WithTracesToLogs(createTracesToLogs CreateTracesToLogsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.tracesToLogsStabilityLevel = sl
o.CreateTracesToLogsFunc = createTracesToLogs
o.createTracesToLogsFunc = createTracesToLogs
})
}

// WithMetricsToTraces overrides the default "error not supported" implementation for WithMetricsToTraces and the default "undefined" stability level.
func WithMetricsToTraces(createMetricsToTraces CreateMetricsToTracesFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.metricsToTracesStabilityLevel = sl
o.CreateMetricsToTracesFunc = createMetricsToTraces
o.createMetricsToTracesFunc = createMetricsToTraces
})
}

// WithMetricsToMetrics overrides the default "error not supported" implementation for WithMetricsToMetrics and the default "undefined" stability level.
func WithMetricsToMetrics(createMetricsToMetrics CreateMetricsToMetricsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.metricsToMetricsStabilityLevel = sl
o.CreateMetricsToMetricsFunc = createMetricsToMetrics
o.createMetricsToMetricsFunc = createMetricsToMetrics
})
}

// WithMetricsToLogs overrides the default "error not supported" implementation for WithMetricsToLogs and the default "undefined" stability level.
func WithMetricsToLogs(createMetricsToLogs CreateMetricsToLogsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.metricsToLogsStabilityLevel = sl
o.CreateMetricsToLogsFunc = createMetricsToLogs
o.createMetricsToLogsFunc = createMetricsToLogs
})
}

// WithLogsToTraces overrides the default "error not supported" implementation for WithLogsToTraces and the default "undefined" stability level.
func WithLogsToTraces(createLogsToTraces CreateLogsToTracesFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.logsToTracesStabilityLevel = sl
o.CreateLogsToTracesFunc = createLogsToTraces
o.createLogsToTracesFunc = createLogsToTraces
})
}

// WithLogsToMetrics overrides the default "error not supported" implementation for WithLogsToMetrics and the default "undefined" stability level.
func WithLogsToMetrics(createLogsToMetrics CreateLogsToMetricsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.logsToMetricsStabilityLevel = sl
o.CreateLogsToMetricsFunc = createLogsToMetrics
o.createLogsToMetricsFunc = createLogsToMetrics
})
}

// WithLogsToLogs overrides the default "error not supported" implementation for WithLogsToLogs and the default "undefined" stability level.
func WithLogsToLogs(createLogsToLogs CreateLogsToLogsFunc, sl component.StabilityLevel) FactoryOption {
return factoryOptionFunc(func(o *factory) {
o.logsToLogsStabilityLevel = sl
o.CreateLogsToLogsFunc = createLogsToLogs
o.createLogsToLogsFunc = createLogsToLogs
})
}

Expand All @@ -306,17 +315,17 @@ type factory struct {
cfgType component.Type
component.CreateDefaultConfigFunc

CreateTracesToTracesFunc
CreateTracesToMetricsFunc
CreateTracesToLogsFunc
createTracesToTracesFunc CreateTracesToTracesFunc
createTracesToMetricsFunc CreateTracesToMetricsFunc
createTracesToLogsFunc CreateTracesToLogsFunc

CreateMetricsToTracesFunc
CreateMetricsToMetricsFunc
CreateMetricsToLogsFunc
createMetricsToTracesFunc CreateMetricsToTracesFunc
createMetricsToMetricsFunc CreateMetricsToMetricsFunc
createMetricsToLogsFunc CreateMetricsToLogsFunc

CreateLogsToTracesFunc
CreateLogsToMetricsFunc
CreateLogsToLogsFunc
createLogsToTracesFunc CreateLogsToTracesFunc
createLogsToMetricsFunc CreateLogsToMetricsFunc
createLogsToLogsFunc CreateLogsToLogsFunc

tracesToTracesStabilityLevel component.StabilityLevel
tracesToMetricsStabilityLevel component.StabilityLevel
Expand Down Expand Up @@ -374,6 +383,69 @@ func (f *factory) LogsToLogsStability() component.StabilityLevel {
return f.logsToLogsStabilityLevel
}

func (f *factory) CreateTracesToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Traces, error) {
if f.createTracesToTracesFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalTraces)
}
return f.createTracesToTracesFunc(ctx, set, cfg, next)
}

func (f *factory) CreateTracesToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Traces, error) {
if f.createTracesToMetricsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalMetrics)
}
return f.createTracesToMetricsFunc(ctx, set, cfg, next)
}

func (f *factory) CreateTracesToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Traces, error) {
if f.createTracesToLogsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalTraces, pipeline.SignalLogs)
}
return f.createTracesToLogsFunc(ctx, set, cfg, next)
}

func (f *factory) CreateMetricsToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Metrics, error) {
if f.createMetricsToTracesFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalTraces)
}
return f.createMetricsToTracesFunc(ctx, set, cfg, next)
}

func (f *factory) CreateMetricsToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Metrics, error) {
if f.createMetricsToMetricsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalMetrics)
}
return f.createMetricsToMetricsFunc(ctx, set, cfg, next)
}

func (f *factory) CreateMetricsToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Metrics, error) {
if f.createMetricsToLogsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalMetrics, pipeline.SignalLogs)
}
return f.createMetricsToLogsFunc(ctx, set, cfg, next)
}

func (f *factory) CreateLogsToTraces(ctx context.Context, set Settings, cfg component.Config, next consumer.Traces) (Logs, error) {
if f.createLogsToTracesFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalTraces)
}
return f.createLogsToTracesFunc(ctx, set, cfg, next)
}

func (f *factory) CreateLogsToMetrics(ctx context.Context, set Settings, cfg component.Config, next consumer.Metrics) (Logs, error) {
if f.createLogsToMetricsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalMetrics)
}
return f.createLogsToMetricsFunc(ctx, set, cfg, next)
}

func (f *factory) CreateLogsToLogs(ctx context.Context, set Settings, cfg component.Config, next consumer.Logs) (Logs, error) {
if f.createLogsToLogsFunc == nil {
return nil, internal.ErrDataTypes(set.ID, pipeline.SignalLogs, pipeline.SignalLogs)
}
return f.createLogsToLogsFunc(ctx, set, cfg, next)
}

// NewFactory returns a Factory.
func NewFactory(cfgType component.Type, createDefaultConfig component.CreateDefaultConfigFunc, options ...FactoryOption) Factory {
f := &factory{
Expand Down
Loading

0 comments on commit fc644ed

Please sign in to comment.