Skip to content

Commit bf18694

Browse files
authored
Use ComponentID as identifier instead of config (#3696)
Signed-off-by: Bogdan Drutu <[email protected]>
1 parent cfbb0f6 commit bf18694

File tree

7 files changed

+42
-83
lines changed

7 files changed

+42
-83
lines changed

service/internal/builder/exporters_builder.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (bexp *builtExporter) getLogExporter() component.LogsExporter {
8585
}
8686

8787
// Exporters is a map of exporters created from exporter configs.
88-
type Exporters map[config.Exporter]*builtExporter
88+
type Exporters map[config.ComponentID]*builtExporter
8989

9090
// StartAll starts all exporters.
9191
func (exps Exporters) StartAll(ctx context.Context, host component.Host) error {
@@ -121,9 +121,9 @@ func (exps Exporters) ToMapByDataType() map[config.DataType]map[config.Component
121121
exportersMap[config.MetricsDataType] = make(map[config.ComponentID]component.Exporter, len(exps))
122122
exportersMap[config.LogsDataType] = make(map[config.ComponentID]component.Exporter, len(exps))
123123

124-
for cfg, bexp := range exps {
124+
for expID, bexp := range exps {
125125
for t, exp := range bexp.expByDataType {
126-
exportersMap[t][cfg.ID()] = exp
126+
exportersMap[t][expID] = exp
127127
}
128128
}
129129

@@ -175,7 +175,7 @@ func BuildExporters(
175175
return nil, err
176176
}
177177

178-
exporters[expCfg] = exp
178+
exporters[expID] = exp
179179
}
180180

181181
return exporters, nil

service/internal/builder/exporters_builder_test.go

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func TestBuildExporters(t *testing.T) {
6666
assert.NoError(t, err)
6767
require.NotNil(t, exporters)
6868

69-
e1 := exporters[cfg.Exporters[config.NewID("opencensus")]]
69+
e1 := exporters[config.NewID("opencensus")]
7070

7171
// Ensure exporter has its fields correctly populated.
7272
require.NotNil(t, e1)
@@ -94,7 +94,7 @@ func TestBuildExporters(t *testing.T) {
9494
assert.NotNil(t, exporters)
9595
assert.NoError(t, err)
9696

97-
e1 = exporters[cfg.Exporters[config.NewID("opencensus")]]
97+
e1 = exporters[config.NewID("opencensus")]
9898

9999
// Ensure exporter has its fields correctly populated, ie Trace Exporter and
100100
// Metrics Exporter are nil.
@@ -133,7 +133,7 @@ func TestBuildExporters_BuildLogs(t *testing.T) {
133133
assert.NoError(t, err)
134134
require.NotNil(t, exporters)
135135

136-
e1 := exporters[cfg.Exporters[config.NewID("exampleexporter")]]
136+
e1 := exporters[config.NewID("exampleexporter")]
137137

138138
// Ensure exporter has its fields correctly populated.
139139
require.NotNil(t, e1)
@@ -157,7 +157,7 @@ func TestBuildExporters_BuildLogs(t *testing.T) {
157157
assert.NotNil(t, exporters)
158158
assert.Nil(t, err)
159159

160-
e1 = exporters[cfg.Exporters[config.NewID("exampleexporter")]]
160+
e1 = exporters[config.NewID("exampleexporter")]
161161

162162
// Ensure exporter has its fields correctly populated, ie Trace Exporter and
163163
// Metrics Exporter are nil.
@@ -167,13 +167,12 @@ func TestBuildExporters_BuildLogs(t *testing.T) {
167167
assert.Nil(t, e1.getLogExporter())
168168
}
169169

170-
func TestBuildExporters_StartAll(t *testing.T) {
170+
func TestBuildExporters_StartStopAll(t *testing.T) {
171171
exporters := make(Exporters)
172-
expCfg := &config.ExporterSettings{}
173172
traceExporter := &testcomponents.ExampleExporterConsumer{}
174173
metricExporter := &testcomponents.ExampleExporterConsumer{}
175174
logsExporter := &testcomponents.ExampleExporterConsumer{}
176-
exporters[expCfg] = &builtExporter{
175+
exporters[config.NewID("example")] = &builtExporter{
177176
logger: zap.NewNop(),
178177
expByDataType: map[config.DataType]component.Exporter{
179178
config.TracesDataType: traceExporter,
@@ -186,31 +185,11 @@ func TestBuildExporters_StartAll(t *testing.T) {
186185
assert.False(t, logsExporter.ExporterStarted)
187186

188187
assert.NoError(t, exporters.StartAll(context.Background(), componenttest.NewNopHost()))
189-
190188
assert.True(t, traceExporter.ExporterStarted)
191189
assert.True(t, metricExporter.ExporterStarted)
192190
assert.True(t, logsExporter.ExporterStarted)
193-
}
194191

195-
func TestBuildExporters_StopAll(t *testing.T) {
196-
exporters := make(Exporters)
197-
expCfg := &config.ExporterSettings{}
198-
traceExporter := &testcomponents.ExampleExporterConsumer{}
199-
metricExporter := &testcomponents.ExampleExporterConsumer{}
200-
logsExporter := &testcomponents.ExampleExporterConsumer{}
201-
exporters[expCfg] = &builtExporter{
202-
logger: zap.NewNop(),
203-
expByDataType: map[config.DataType]component.Exporter{
204-
config.TracesDataType: traceExporter,
205-
config.MetricsDataType: metricExporter,
206-
config.LogsDataType: logsExporter,
207-
},
208-
}
209-
assert.False(t, traceExporter.ExporterShutdown)
210-
assert.False(t, metricExporter.ExporterShutdown)
211-
assert.False(t, logsExporter.ExporterShutdown)
212192
assert.NoError(t, exporters.ShutdownAll(context.Background()))
213-
214193
assert.True(t, traceExporter.ExporterShutdown)
215194
assert.True(t, metricExporter.ExporterShutdown)
216195
assert.True(t, logsExporter.ExporterShutdown)

service/internal/builder/extensions_builder.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (ext *builtExtension) Shutdown(ctx context.Context) error {
4646
var _ component.Extension = (*builtExtension)(nil)
4747

4848
// Extensions is a map of extensions created from extension configs.
49-
type Extensions map[config.Extension]*builtExtension
49+
type Extensions map[config.ComponentID]*builtExtension
5050

5151
// StartAll starts all exporters.
5252
func (exts Extensions) StartAll(ctx context.Context, host component.Host) error {
@@ -105,8 +105,8 @@ func (exts Extensions) NotifyPipelineNotReady() error {
105105

106106
func (exts Extensions) ToMap() map[config.ComponentID]component.Extension {
107107
result := make(map[config.ComponentID]component.Extension, len(exts))
108-
for k, v := range exts {
109-
result[k.ID()] = v.extension
108+
for extID, v := range exts {
109+
result[extID] = v.extension
110110
}
111111
return result
112112
}
@@ -143,7 +143,7 @@ func BuildExtensions(
143143
return nil, err
144144
}
145145

146-
extensions[extCfg] = ext
146+
extensions[extID] = ext
147147
}
148148

149149
return extensions, nil

service/internal/builder/pipelines_builder.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -226,18 +226,18 @@ func (pb *pipelinesBuilder) buildPipeline(ctx context.Context, pipelineCfg *conf
226226
}
227227

228228
// Converts the list of exporter names to a list of corresponding builtExporters.
229-
func (pb *pipelinesBuilder) getBuiltExportersByNames(exporterIDs []config.ComponentID) []*builtExporter {
229+
func (pb *pipelinesBuilder) getBuiltExportersByIDs(exporterIDs []config.ComponentID) []*builtExporter {
230230
var result []*builtExporter
231-
for _, name := range exporterIDs {
232-
exporter := pb.exporters[pb.config.Exporters[name]]
231+
for _, expID := range exporterIDs {
232+
exporter := pb.exporters[expID]
233233
result = append(result, exporter)
234234
}
235235

236236
return result
237237
}
238238

239239
func (pb *pipelinesBuilder) buildFanoutExportersTracesConsumer(exporterIDs []config.ComponentID) consumer.Traces {
240-
builtExporters := pb.getBuiltExportersByNames(exporterIDs)
240+
builtExporters := pb.getBuiltExportersByIDs(exporterIDs)
241241

242242
var exporters []consumer.Traces
243243
for _, builtExp := range builtExporters {
@@ -249,7 +249,7 @@ func (pb *pipelinesBuilder) buildFanoutExportersTracesConsumer(exporterIDs []con
249249
}
250250

251251
func (pb *pipelinesBuilder) buildFanoutExportersMetricsConsumer(exporterIDs []config.ComponentID) consumer.Metrics {
252-
builtExporters := pb.getBuiltExportersByNames(exporterIDs)
252+
builtExporters := pb.getBuiltExportersByIDs(exporterIDs)
253253

254254
var exporters []consumer.Metrics
255255
for _, builtExp := range builtExporters {
@@ -261,7 +261,7 @@ func (pb *pipelinesBuilder) buildFanoutExportersMetricsConsumer(exporterIDs []co
261261
}
262262

263263
func (pb *pipelinesBuilder) buildFanoutExportersLogsConsumer(exporterIDs []config.ComponentID) consumer.Logs {
264-
builtExporters := pb.getBuiltExportersByNames(exporterIDs)
264+
builtExporters := pb.getBuiltExportersByIDs(exporterIDs)
265265

266266
exporters := make([]consumer.Logs, len(builtExporters))
267267
for i, builtExp := range builtExporters {

service/internal/builder/pipelines_builder_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,11 @@ func TestBuildPipelines_BuildVarious(t *testing.T) {
139139
assert.NotNil(t, processor.firstLC)
140140

141141
// Compose the list of created exporters.
142-
exporterNames := []config.ComponentID{config.NewID("exampleexporter")}
142+
exporterIDs := []config.ComponentID{config.NewID("exampleexporter")}
143143
var exporters []*builtExporter
144-
for _, name := range exporterNames {
144+
for _, expID := range exporterIDs {
145145
// Ensure exporter is created.
146-
exp := allExporters[cfg.Exporters[name]]
146+
exp := allExporters[expID]
147147
require.NotNil(t, exp)
148148
exporters = append(exporters, exp)
149149
}
@@ -203,9 +203,9 @@ func testPipeline(t *testing.T, pipelineName string, exporterIDs []config.Compon
203203

204204
// Compose the list of created exporters.
205205
var exporters []*builtExporter
206-
for _, name := range exporterIDs {
206+
for _, expID := range exporterIDs {
207207
// Ensure exporter is created.
208-
exp := allExporters[cfg.Exporters[name]]
208+
exp := allExporters[expID]
209209
require.NotNil(t, exp)
210210
exporters = append(exporters, exp)
211211
}

service/internal/builder/receivers_builder.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (rcv *builtReceiver) Shutdown(ctx context.Context) error {
5050
}
5151

5252
// Receivers is a map of receivers created from receiver configs.
53-
type Receivers map[config.Receiver]*builtReceiver
53+
type Receivers map[config.ComponentID]*builtReceiver
5454

5555
// ShutdownAll stops all receivers.
5656
func (rcvs Receivers) ShutdownAll(ctx context.Context) error {
@@ -112,7 +112,7 @@ func BuildReceivers(
112112
}
113113
return nil, err
114114
}
115-
receivers[recvCfg] = rcv
115+
receivers[recvID] = rcv
116116
}
117117

118118
return receivers, nil

service/internal/builder/receivers_builder_test.go

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,7 @@ func TestBuildReceivers(t *testing.T) {
8888
}
8989
}
9090

91-
func testReceivers(
92-
t *testing.T,
93-
test testCase,
94-
) {
91+
func testReceivers(t *testing.T, test testCase) {
9592
factories, err := testcomponents.ExampleComponents()
9693
assert.NoError(t, err)
9794

@@ -110,7 +107,7 @@ func testReceivers(
110107
assert.NoError(t, err)
111108
require.NotNil(t, receivers)
112109

113-
receiver := receivers[cfg.Receivers[test.receiverID]]
110+
receiver := receivers[test.receiverID]
114111

115112
// Ensure receiver has its fields correctly populated.
116113
require.NotNil(t, receiver)
@@ -119,9 +116,9 @@ func testReceivers(
119116

120117
// Compose the list of created exporters.
121118
var exporters []*builtExporter
122-
for _, name := range test.exporterIDs {
119+
for _, expID := range test.exporterIDs {
123120
// Ensure exporter is created.
124-
exp := allExporters[cfg.Exporters[name]]
121+
exp := allExporters[expID]
125122
require.NotNil(t, exp)
126123
exporters = append(exporters, exp)
127124
}
@@ -148,15 +145,15 @@ func testReceivers(
148145
}
149146

150147
// Now verify received data.
151-
for _, name := range test.exporterIDs {
148+
for _, expID := range test.exporterIDs {
152149
// Check that the data is received by exporter.
153-
exporter := allExporters[cfg.Exporters[name]]
150+
exporter := allExporters[expID]
154151

155152
// Validate traces.
156153
if test.hasTraces {
157154
var spanDuplicationCount int
158155
if test.spanDuplicationByExporter != nil {
159-
spanDuplicationCount = test.spanDuplicationByExporter[name]
156+
spanDuplicationCount = test.spanDuplicationByExporter[expID]
160157
} else {
161158
spanDuplicationCount = 1
162159
}
@@ -216,19 +213,19 @@ func TestBuildReceivers_BuildCustom(t *testing.T) {
216213
assert.NoError(t, err)
217214
require.NotNil(t, receivers)
218215

219-
receiver := receivers[cfg.Receivers[config.NewID("examplereceiver")]]
216+
receiver := receivers[config.NewID("examplereceiver")]
220217

221218
// Ensure receiver has its fields correctly populated.
222219
require.NotNil(t, receiver)
223220

224221
assert.NotNil(t, receiver.receiver)
225222

226223
// Compose the list of created exporters.
227-
exporterNames := []config.ComponentID{config.NewID("exampleexporter")}
224+
exporterIDs := []config.ComponentID{config.NewID("exampleexporter")}
228225
var exporters []*builtExporter
229-
for _, name := range exporterNames {
226+
for _, expID := range exporterIDs {
230227
// Ensure exporter is created.
231-
exp := allExporters[cfg.Exporters[name]]
228+
exp := allExporters[expID]
232229
require.NotNil(t, exp)
233230
exporters = append(exporters, exp)
234231
}
@@ -247,9 +244,9 @@ func TestBuildReceivers_BuildCustom(t *testing.T) {
247244
require.NoError(t, producer.ConsumeLogs(context.Background(), log))
248245

249246
// Now verify received data.
250-
for _, name := range exporterNames {
247+
for _, expID := range exporterIDs {
251248
// Check that the data is received by exporter.
252-
exporter := allExporters[cfg.Exporters[name]]
249+
exporter := allExporters[expID]
253250

254251
// Validate exported data.
255252
consumer := exporter.getLogExporter().(*testcomponents.ExampleExporterConsumer)
@@ -262,36 +259,19 @@ func TestBuildReceivers_BuildCustom(t *testing.T) {
262259

263260
func TestBuildReceivers_StartAll(t *testing.T) {
264261
receivers := make(Receivers)
265-
rcvCfg := &testcomponents.ExampleReceiver{}
266262
receiver := &testcomponents.ExampleReceiverProducer{}
267263

268-
receivers[rcvCfg] = &builtReceiver{
264+
receivers[config.NewID("example")] = &builtReceiver{
269265
logger: zap.NewNop(),
270266
receiver: receiver,
271267
}
272268

273269
assert.False(t, receiver.Started)
274-
275-
err := receivers.StartAll(context.Background(), componenttest.NewNopHost())
276-
assert.NoError(t, err)
277-
270+
assert.NoError(t, receivers.StartAll(context.Background(), componenttest.NewNopHost()))
278271
assert.True(t, receiver.Started)
279-
}
280-
281-
func TestBuildReceivers_StopAll(t *testing.T) {
282-
receivers := make(Receivers)
283-
rcvCfg := &testcomponents.ExampleReceiver{}
284-
receiver := &testcomponents.ExampleReceiverProducer{}
285-
286-
receivers[rcvCfg] = &builtReceiver{
287-
logger: zap.NewNop(),
288-
receiver: receiver,
289-
}
290272

291273
assert.False(t, receiver.Stopped)
292-
293274
assert.NoError(t, receivers.ShutdownAll(context.Background()))
294-
295275
assert.True(t, receiver.Stopped)
296276
}
297277

0 commit comments

Comments
 (0)