Skip to content

Commit e9bc4bd

Browse files
authored
Deprecate connectorprofiles module in favor of xconnector (#11887)
to allow adding more experimental data types. Updates #11778
1 parent 7941703 commit e9bc4bd

32 files changed

+1090
-463
lines changed
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: deprecation
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
7+
component: connector
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Deprecate connectorprofiles module in favor of xconnector to allow adding more experimental data types.
11+
12+
# One or more tracking issues or pull requests related to the change
13+
issues: [11778]
14+
15+
# Optional: The change log or logs in which this entry should be included.
16+
# e.g. '[user]' or '[user, api]'
17+
# Include 'user' if the change is relevant to end users.
18+
# Include 'api' if there is a change to a library API.
19+
# Default: '[user]'
20+
change_logs: [api]

.github/CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ pdata/pprofile @open-telemetry/collector-approve
3232
consumer/consumerprofiles @open-telemetry/collector-approvers @mx-psi @dmathieu
3333
consumer/xconsumer @open-telemetry/collector-approvers @mx-psi @dmathieu
3434
connector/connectorprofiles @open-telemetry/collector-approvers @mx-psi @dmathieu
35+
connector/xconnector @open-telemetry/collector-approvers @mx-psi @dmathieu
3536
exporter/exporterhelper/exporterhelperprofiles @open-telemetry/collector-approvers @mx-psi @dmathieu
3637
exporter/exporterhelper/xexporterhelper @open-telemetry/collector-approvers @mx-psi @dmathieu
3738
exporter/exporterprofiles @open-telemetry/collector-approvers @mx-psi @dmathieu

cmd/builder/internal/builder/main_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ var replaceModules = []string{
6666
"/consumer/consumertest",
6767
"/connector",
6868
"/connector/connectortest",
69-
"/connector/connectorprofiles",
69+
"/connector/xconnector",
7070
"/exporter",
7171
"/exporter/debugexporter",
7272
"/exporter/xexporter",

cmd/otelcorecol/builder-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ replaces:
6565
- go.opentelemetry.io/collector/consumer/consumertest => ../../consumer/consumertest
6666
- go.opentelemetry.io/collector/connector => ../../connector
6767
- go.opentelemetry.io/collector/connector/connectortest => ../../connector/connectortest
68-
- go.opentelemetry.io/collector/connector/connectorprofiles => ../../connector/connectorprofiles
68+
- go.opentelemetry.io/collector/connector/xconnector => ../../connector/xconnector
6969
- go.opentelemetry.io/collector/connector/forwardconnector => ../../connector/forwardconnector
7070
- go.opentelemetry.io/collector/exporter => ../../exporter
7171
- go.opentelemetry.io/collector/exporter/debugexporter => ../../exporter/debugexporter

cmd/otelcorecol/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ require (
9393
go.opentelemetry.io/collector/config/configtelemetry v0.115.0 // indirect
9494
go.opentelemetry.io/collector/config/configtls v1.21.0 // indirect
9595
go.opentelemetry.io/collector/config/internal v0.115.0 // indirect
96-
go.opentelemetry.io/collector/connector/connectorprofiles v0.115.0 // indirect
9796
go.opentelemetry.io/collector/connector/connectortest v0.115.0 // indirect
97+
go.opentelemetry.io/collector/connector/xconnector v0.115.0 // indirect
9898
go.opentelemetry.io/collector/consumer v1.21.0 // indirect
9999
go.opentelemetry.io/collector/consumer/consumererror v0.115.0 // indirect
100100
go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.0.0-00010101000000-000000000000 // indirect
@@ -215,7 +215,7 @@ replace go.opentelemetry.io/collector/connector => ../../connector
215215

216216
replace go.opentelemetry.io/collector/connector/connectortest => ../../connector/connectortest
217217

218-
replace go.opentelemetry.io/collector/connector/connectorprofiles => ../../connector/connectorprofiles
218+
replace go.opentelemetry.io/collector/connector/xconnector => ../../connector/xconnector
219219

220220
replace go.opentelemetry.io/collector/connector/forwardconnector => ../../connector/forwardconnector
221221

connector/connectorprofiles/connector.go

+57-262
Large diffs are not rendered by default.

connector/connectorprofiles/go.mod

+4-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ require (
66
github.com/stretchr/testify v1.10.0
77
go.opentelemetry.io/collector/component v0.115.0
88
go.opentelemetry.io/collector/connector v0.115.0
9+
go.opentelemetry.io/collector/connector/xconnector v0.115.0
910
go.opentelemetry.io/collector/consumer v1.21.0
1011
go.opentelemetry.io/collector/consumer/consumertest v0.115.0
1112
go.opentelemetry.io/collector/consumer/xconsumer v0.115.1-0.20241213185000-4593ba7de234
12-
go.opentelemetry.io/collector/internal/fanoutconsumer v0.115.0
1313
go.opentelemetry.io/collector/pdata/pprofile v0.115.0
1414
go.opentelemetry.io/collector/pdata/testdata v0.115.0
1515
go.opentelemetry.io/collector/pipeline v0.115.0
@@ -24,6 +24,7 @@ require (
2424
github.com/modern-go/reflect2 v1.0.2 // indirect
2525
github.com/pmezard/go-difflib v1.0.0 // indirect
2626
go.opentelemetry.io/collector/config/configtelemetry v0.115.0 // indirect
27+
go.opentelemetry.io/collector/internal/fanoutconsumer v0.115.0 // indirect
2728
go.opentelemetry.io/collector/pdata v1.21.0 // indirect
2829
go.opentelemetry.io/otel v1.32.0 // indirect
2930
go.opentelemetry.io/otel/metric v1.32.0 // indirect
@@ -41,6 +42,8 @@ require (
4142

4243
replace go.opentelemetry.io/collector/connector => ../
4344

45+
replace go.opentelemetry.io/collector/connector/xconnector => ../xconnector
46+
4447
replace go.opentelemetry.io/collector/consumer => ../../consumer
4548

4649
replace go.opentelemetry.io/collector/consumer/consumertest => ../../consumer/consumertest
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,13 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4+
// Deprecated: [0.116.0] Use go.opentelemetry.io/collector/connector/xconnector instead.
45
package connectorprofiles // import "go.opentelemetry.io/collector/connector/connectorprofiles"
56

6-
import (
7-
"go.opentelemetry.io/collector/connector/internal"
8-
"go.opentelemetry.io/collector/consumer/xconsumer"
9-
"go.opentelemetry.io/collector/internal/fanoutconsumer"
10-
"go.opentelemetry.io/collector/pipeline"
11-
)
7+
import "go.opentelemetry.io/collector/connector/xconnector"
128

13-
type ProfilesRouterAndConsumer interface {
14-
xconsumer.Profiles
15-
Consumer(...pipeline.ID) (xconsumer.Profiles, error)
16-
PipelineIDs() []pipeline.ID
17-
privateFunc()
18-
}
9+
// Deprecated: [0.116.0] Use xconnector.ProfilesRouterAndConsumer instead.
10+
type ProfilesRouterAndConsumer = xconnector.ProfilesRouterAndConsumer
1911

20-
type profilesRouter struct {
21-
xconsumer.Profiles
22-
internal.BaseRouter[xconsumer.Profiles]
23-
}
24-
25-
func NewProfilesRouter(cm map[pipeline.ID]xconsumer.Profiles) ProfilesRouterAndConsumer {
26-
consumers := make([]xconsumer.Profiles, 0, len(cm))
27-
for _, cons := range cm {
28-
consumers = append(consumers, cons)
29-
}
30-
return &profilesRouter{
31-
Profiles: fanoutconsumer.NewProfiles(consumers),
32-
BaseRouter: internal.NewBaseRouter(fanoutconsumer.NewProfiles, cm),
33-
}
34-
}
35-
36-
func (r *profilesRouter) privateFunc() {}
12+
// Deprecated: [0.116.0] Use xconnector.NewProfilesRouter instead.
13+
var NewProfilesRouter = xconnector.NewProfilesRouter

connector/connectortest/connector.go

+22-22
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"go.opentelemetry.io/collector/component"
1212
"go.opentelemetry.io/collector/component/componenttest"
1313
"go.opentelemetry.io/collector/connector"
14-
"go.opentelemetry.io/collector/connector/connectorprofiles"
14+
"go.opentelemetry.io/collector/connector/xconnector"
1515
"go.opentelemetry.io/collector/consumer"
1616
"go.opentelemetry.io/collector/consumer/consumertest"
1717
"go.opentelemetry.io/collector/consumer/xconsumer"
@@ -32,27 +32,27 @@ type nopConfig struct{}
3232

3333
// NewNopFactory returns a connector.Factory that constructs nop processors.
3434
func NewNopFactory() connector.Factory {
35-
return connectorprofiles.NewFactory(
35+
return xconnector.NewFactory(
3636
nopType,
3737
func() component.Config {
3838
return &nopConfig{}
3939
},
40-
connectorprofiles.WithTracesToTraces(createTracesToTracesConnector, component.StabilityLevelDevelopment),
41-
connectorprofiles.WithTracesToMetrics(createTracesToMetricsConnector, component.StabilityLevelDevelopment),
42-
connectorprofiles.WithTracesToLogs(createTracesToLogsConnector, component.StabilityLevelDevelopment),
43-
connectorprofiles.WithTracesToProfiles(createTracesToProfilesConnector, component.StabilityLevelAlpha),
44-
connectorprofiles.WithMetricsToTraces(createMetricsToTracesConnector, component.StabilityLevelDevelopment),
45-
connectorprofiles.WithMetricsToMetrics(createMetricsToMetricsConnector, component.StabilityLevelDevelopment),
46-
connectorprofiles.WithMetricsToLogs(createMetricsToLogsConnector, component.StabilityLevelDevelopment),
47-
connectorprofiles.WithMetricsToProfiles(createMetricsToProfilesConnector, component.StabilityLevelAlpha),
48-
connectorprofiles.WithLogsToTraces(createLogsToTracesConnector, component.StabilityLevelDevelopment),
49-
connectorprofiles.WithLogsToMetrics(createLogsToMetricsConnector, component.StabilityLevelDevelopment),
50-
connectorprofiles.WithLogsToLogs(createLogsToLogsConnector, component.StabilityLevelDevelopment),
51-
connectorprofiles.WithLogsToProfiles(createLogsToProfilesConnector, component.StabilityLevelAlpha),
52-
connectorprofiles.WithProfilesToTraces(createProfilesToTracesConnector, component.StabilityLevelAlpha),
53-
connectorprofiles.WithProfilesToMetrics(createProfilesToMetricsConnector, component.StabilityLevelAlpha),
54-
connectorprofiles.WithProfilesToLogs(createProfilesToLogsConnector, component.StabilityLevelAlpha),
55-
connectorprofiles.WithProfilesToProfiles(createProfilesToProfilesConnector, component.StabilityLevelAlpha),
40+
xconnector.WithTracesToTraces(createTracesToTracesConnector, component.StabilityLevelDevelopment),
41+
xconnector.WithTracesToMetrics(createTracesToMetricsConnector, component.StabilityLevelDevelopment),
42+
xconnector.WithTracesToLogs(createTracesToLogsConnector, component.StabilityLevelDevelopment),
43+
xconnector.WithTracesToProfiles(createTracesToProfilesConnector, component.StabilityLevelAlpha),
44+
xconnector.WithMetricsToTraces(createMetricsToTracesConnector, component.StabilityLevelDevelopment),
45+
xconnector.WithMetricsToMetrics(createMetricsToMetricsConnector, component.StabilityLevelDevelopment),
46+
xconnector.WithMetricsToLogs(createMetricsToLogsConnector, component.StabilityLevelDevelopment),
47+
xconnector.WithMetricsToProfiles(createMetricsToProfilesConnector, component.StabilityLevelAlpha),
48+
xconnector.WithLogsToTraces(createLogsToTracesConnector, component.StabilityLevelDevelopment),
49+
xconnector.WithLogsToMetrics(createLogsToMetricsConnector, component.StabilityLevelDevelopment),
50+
xconnector.WithLogsToLogs(createLogsToLogsConnector, component.StabilityLevelDevelopment),
51+
xconnector.WithLogsToProfiles(createLogsToProfilesConnector, component.StabilityLevelAlpha),
52+
xconnector.WithProfilesToTraces(createProfilesToTracesConnector, component.StabilityLevelAlpha),
53+
xconnector.WithProfilesToMetrics(createProfilesToMetricsConnector, component.StabilityLevelAlpha),
54+
xconnector.WithProfilesToLogs(createProfilesToLogsConnector, component.StabilityLevelAlpha),
55+
xconnector.WithProfilesToProfiles(createProfilesToProfilesConnector, component.StabilityLevelAlpha),
5656
)
5757
}
5858

@@ -104,19 +104,19 @@ func createLogsToProfilesConnector(context.Context, connector.Settings, componen
104104
return &nopConnector{Consumer: consumertest.NewNop()}, nil
105105
}
106106

107-
func createProfilesToTracesConnector(context.Context, connector.Settings, component.Config, consumer.Traces) (connectorprofiles.Profiles, error) {
107+
func createProfilesToTracesConnector(context.Context, connector.Settings, component.Config, consumer.Traces) (xconnector.Profiles, error) {
108108
return &nopConnector{Consumer: consumertest.NewNop()}, nil
109109
}
110110

111-
func createProfilesToMetricsConnector(context.Context, connector.Settings, component.Config, consumer.Metrics) (connectorprofiles.Profiles, error) {
111+
func createProfilesToMetricsConnector(context.Context, connector.Settings, component.Config, consumer.Metrics) (xconnector.Profiles, error) {
112112
return &nopConnector{Consumer: consumertest.NewNop()}, nil
113113
}
114114

115-
func createProfilesToLogsConnector(context.Context, connector.Settings, component.Config, consumer.Logs) (connectorprofiles.Profiles, error) {
115+
func createProfilesToLogsConnector(context.Context, connector.Settings, component.Config, consumer.Logs) (xconnector.Profiles, error) {
116116
return &nopConnector{Consumer: consumertest.NewNop()}, nil
117117
}
118118

119-
func createProfilesToProfilesConnector(context.Context, connector.Settings, component.Config, xconsumer.Profiles) (connectorprofiles.Profiles, error) {
119+
func createProfilesToProfilesConnector(context.Context, connector.Settings, component.Config, xconsumer.Profiles) (xconnector.Profiles, error) {
120120
return &nopConnector{Consumer: consumertest.NewNop()}, nil
121121
}
122122

connector/connectortest/connector_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"go.opentelemetry.io/collector/component"
1414
"go.opentelemetry.io/collector/component/componenttest"
15-
"go.opentelemetry.io/collector/connector/connectorprofiles"
15+
"go.opentelemetry.io/collector/connector/xconnector"
1616
"go.opentelemetry.io/collector/consumer/consumertest"
1717
"go.opentelemetry.io/collector/pdata/plog"
1818
"go.opentelemetry.io/collector/pdata/pmetric"
@@ -45,7 +45,7 @@ func TestNewNopConnectorFactory(t *testing.T) {
4545
assert.NoError(t, tracesToLogs.ConsumeTraces(context.Background(), ptrace.NewTraces()))
4646
assert.NoError(t, tracesToLogs.Shutdown(context.Background()))
4747

48-
tracesToProfiles, err := factory.(connectorprofiles.Factory).CreateTracesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
48+
tracesToProfiles, err := factory.(xconnector.Factory).CreateTracesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
4949
require.NoError(t, err)
5050
assert.NoError(t, tracesToProfiles.Start(context.Background(), componenttest.NewNopHost()))
5151
assert.NoError(t, tracesToProfiles.ConsumeTraces(context.Background(), ptrace.NewTraces()))
@@ -69,7 +69,7 @@ func TestNewNopConnectorFactory(t *testing.T) {
6969
assert.NoError(t, metricsToLogs.ConsumeMetrics(context.Background(), pmetric.NewMetrics()))
7070
assert.NoError(t, metricsToLogs.Shutdown(context.Background()))
7171

72-
metricsToProfiles, err := factory.(connectorprofiles.Factory).CreateMetricsToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
72+
metricsToProfiles, err := factory.(xconnector.Factory).CreateMetricsToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
7373
require.NoError(t, err)
7474
assert.NoError(t, metricsToProfiles.Start(context.Background(), componenttest.NewNopHost()))
7575
assert.NoError(t, metricsToProfiles.ConsumeMetrics(context.Background(), pmetric.NewMetrics()))
@@ -93,31 +93,31 @@ func TestNewNopConnectorFactory(t *testing.T) {
9393
assert.NoError(t, logsToLogs.ConsumeLogs(context.Background(), plog.NewLogs()))
9494
assert.NoError(t, logsToLogs.Shutdown(context.Background()))
9595

96-
logsToProfiles, err := factory.(connectorprofiles.Factory).CreateLogsToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
96+
logsToProfiles, err := factory.(xconnector.Factory).CreateLogsToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
9797
require.NoError(t, err)
9898
assert.NoError(t, logsToProfiles.Start(context.Background(), componenttest.NewNopHost()))
9999
assert.NoError(t, logsToProfiles.ConsumeLogs(context.Background(), plog.NewLogs()))
100100
assert.NoError(t, logsToProfiles.Shutdown(context.Background()))
101101

102-
profilesToTraces, err := factory.(connectorprofiles.Factory).CreateProfilesToTraces(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
102+
profilesToTraces, err := factory.(xconnector.Factory).CreateProfilesToTraces(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
103103
require.NoError(t, err)
104104
assert.NoError(t, profilesToTraces.Start(context.Background(), componenttest.NewNopHost()))
105105
assert.NoError(t, profilesToTraces.ConsumeProfiles(context.Background(), pprofile.NewProfiles()))
106106
assert.NoError(t, profilesToTraces.Shutdown(context.Background()))
107107

108-
profilesToMetrics, err := factory.(connectorprofiles.Factory).CreateProfilesToMetrics(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
108+
profilesToMetrics, err := factory.(xconnector.Factory).CreateProfilesToMetrics(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
109109
require.NoError(t, err)
110110
assert.NoError(t, profilesToMetrics.Start(context.Background(), componenttest.NewNopHost()))
111111
assert.NoError(t, profilesToMetrics.ConsumeProfiles(context.Background(), pprofile.NewProfiles()))
112112
assert.NoError(t, profilesToMetrics.Shutdown(context.Background()))
113113

114-
profilesToLogs, err := factory.(connectorprofiles.Factory).CreateProfilesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
114+
profilesToLogs, err := factory.(xconnector.Factory).CreateProfilesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
115115
require.NoError(t, err)
116116
assert.NoError(t, profilesToLogs.Start(context.Background(), componenttest.NewNopHost()))
117117
assert.NoError(t, profilesToLogs.ConsumeProfiles(context.Background(), pprofile.NewProfiles()))
118118
assert.NoError(t, profilesToLogs.Shutdown(context.Background()))
119119

120-
profilesToProfiles, err := factory.(connectorprofiles.Factory).CreateProfilesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
120+
profilesToProfiles, err := factory.(xconnector.Factory).CreateProfilesToProfiles(context.Background(), NewNopSettings(), cfg, consumertest.NewNop())
121121
require.NoError(t, err)
122122
assert.NoError(t, profilesToProfiles.Start(context.Background(), componenttest.NewNopHost()))
123123
assert.NoError(t, profilesToProfiles.ConsumeProfiles(context.Background(), pprofile.NewProfiles()))

connector/connectortest/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
go.opentelemetry.io/collector/component v0.115.0
99
go.opentelemetry.io/collector/component/componenttest v0.115.0
1010
go.opentelemetry.io/collector/connector v0.115.0
11-
go.opentelemetry.io/collector/connector/connectorprofiles v0.115.0
11+
go.opentelemetry.io/collector/connector/xconnector v0.115.0
1212
go.opentelemetry.io/collector/consumer v1.21.0
1313
go.opentelemetry.io/collector/consumer/consumertest v0.115.0
1414
go.opentelemetry.io/collector/consumer/xconsumer v0.115.1-0.20241213185000-4593ba7de234
@@ -62,7 +62,7 @@ replace go.opentelemetry.io/collector/consumer/xconsumer => ../../consumer/xcons
6262

6363
replace go.opentelemetry.io/collector/consumer/consumertest => ../../consumer/consumertest
6464

65-
replace go.opentelemetry.io/collector/connector/connectorprofiles => ../connectorprofiles
65+
replace go.opentelemetry.io/collector/connector/xconnector => ../xconnector
6666

6767
replace go.opentelemetry.io/collector/config/configtelemetry => ../../config/configtelemetry
6868

connector/forwardconnector/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ require (
3333
github.com/modern-go/reflect2 v1.0.2 // indirect
3434
github.com/pmezard/go-difflib v1.0.0 // indirect
3535
go.opentelemetry.io/collector/config/configtelemetry v0.115.0 // indirect
36-
go.opentelemetry.io/collector/connector/connectorprofiles v0.115.0 // indirect
36+
go.opentelemetry.io/collector/connector/xconnector v0.115.0 // indirect
3737
go.opentelemetry.io/collector/consumer/xconsumer v0.115.1-0.20241213185000-4593ba7de234 // indirect
3838
go.opentelemetry.io/collector/internal/fanoutconsumer v0.115.0 // indirect
3939
go.opentelemetry.io/collector/pdata/pprofile v0.115.0 // indirect
@@ -83,7 +83,7 @@ replace go.opentelemetry.io/collector/consumer/xconsumer => ../../consumer/xcons
8383

8484
replace go.opentelemetry.io/collector/consumer/consumertest => ../../consumer/consumertest
8585

86-
replace go.opentelemetry.io/collector/connector/connectorprofiles => ../connectorprofiles
86+
replace go.opentelemetry.io/collector/connector/xconnector => ../xconnector
8787

8888
replace go.opentelemetry.io/collector/pipeline => ../../pipeline
8989

connector/xconnector/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include ../../Makefile.Common

0 commit comments

Comments
 (0)