@@ -88,15 +88,21 @@ func (n *connectorNode) buildTraces(
88
88
89
89
consumers := make (map [pipeline.ID ]consumer.Traces , len (nexts ))
90
90
for _ , next := range nexts {
91
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewTraces (
92
- next .(consumer.Traces ),
93
- tb .ConnectorProducedItems ,
91
+ producedOpts := []obsconsumer.Option {
92
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorProducedItems ),
94
93
obsconsumer .WithStaticDataPointAttribute (
95
94
otelattr .String (
96
95
pipelineIDAttrKey ,
97
96
next .(* capabilitiesNode ).pipelineID .String (),
98
97
),
99
98
),
99
+ }
100
+ if isEnabled (tb .ConnectorProducedSize ) {
101
+ producedOpts = append (producedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorProducedSize ))
102
+ }
103
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewTraces (
104
+ next .(consumer.Traces ),
105
+ producedOpts ... ,
100
106
)
101
107
}
102
108
next := connector .NewTracesRouter (consumers )
@@ -107,32 +113,61 @@ func (n *connectorNode) buildTraces(
107
113
if err != nil {
108
114
return err
109
115
}
116
+
117
+ consumedOpts := []obsconsumer.Option {
118
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorConsumedItems ),
119
+ }
120
+ if isEnabled (tb .ConnectorConsumedSize ) {
121
+ consumedOpts = append (consumedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorConsumedSize ))
122
+ }
123
+
110
124
// Connectors which might pass along data must inherit capabilities of all nexts
111
125
n .consumer = obsconsumer .NewTraces (
112
126
capabilityconsumer .NewTraces (
113
127
n .Component .(consumer.Traces ),
114
128
aggregateCap (n .Component .(consumer.Traces ), nexts ),
115
129
),
116
- tb . ConnectorConsumedItems ,
130
+ consumedOpts ... ,
117
131
)
118
132
case pipeline .SignalMetrics :
119
133
n .Component , err = builder .CreateMetricsToTraces (ctx , set , next )
120
134
if err != nil {
121
135
return err
122
136
}
123
- n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), tb .ConnectorConsumedItems )
137
+
138
+ consumedOpts := []obsconsumer.Option {
139
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
140
+ }
141
+ if isEnabled (tb .ConnectorConsumedSize ) {
142
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
143
+ }
144
+ n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), consumedOpts ... )
124
145
case pipeline .SignalLogs :
125
146
n .Component , err = builder .CreateLogsToTraces (ctx , set , next )
126
147
if err != nil {
127
148
return err
128
149
}
129
- n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), tb .ConnectorConsumedItems )
150
+
151
+ consumedOpts := []obsconsumer.Option {
152
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
153
+ }
154
+ if isEnabled (tb .ConnectorConsumedSize ) {
155
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
156
+ }
157
+ n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), consumedOpts ... )
130
158
case xpipeline .SignalProfiles :
131
159
n .Component , err = builder .CreateProfilesToTraces (ctx , set , next )
132
160
if err != nil {
133
161
return err
134
162
}
135
- n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), tb .ConnectorConsumedItems )
163
+
164
+ consumedOpts := []obsconsumer.Option {
165
+ obsconsumer .WithProfilesItemCounter (& tb .ConnectorConsumedItems ),
166
+ }
167
+ if isEnabled (tb .ConnectorConsumedSize ) {
168
+ consumedOpts = append (consumedOpts , obsconsumer .WithProfilesSizeCounter (& tb .ConnectorConsumedSize ))
169
+ }
170
+ n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), consumedOpts ... )
136
171
}
137
172
return nil
138
173
}
@@ -150,15 +185,21 @@ func (n *connectorNode) buildMetrics(
150
185
151
186
consumers := make (map [pipeline.ID ]consumer.Metrics , len (nexts ))
152
187
for _ , next := range nexts {
153
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewMetrics (
154
- next .(consumer.Metrics ),
155
- tb .ConnectorProducedItems ,
188
+ producedOpts := []obsconsumer.Option {
189
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorProducedItems ),
156
190
obsconsumer .WithStaticDataPointAttribute (
157
191
otelattr .String (
158
192
pipelineIDAttrKey ,
159
193
next .(* capabilitiesNode ).pipelineID .String (),
160
194
),
161
195
),
196
+ }
197
+ if isEnabled (tb .ConnectorProducedSize ) {
198
+ producedOpts = append (producedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorProducedSize ))
199
+ }
200
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewMetrics (
201
+ next .(consumer.Metrics ),
202
+ producedOpts ... ,
162
203
)
163
204
}
164
205
next := connector .NewMetricsRouter (consumers )
@@ -169,32 +210,61 @@ func (n *connectorNode) buildMetrics(
169
210
if err != nil {
170
211
return err
171
212
}
213
+
214
+ consumedOpts := []obsconsumer.Option {
215
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
216
+ }
217
+ if isEnabled (tb .ConnectorConsumedSize ) {
218
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
219
+ }
220
+
172
221
// Connectors which might pass along data must inherit capabilities of all nexts
173
222
n .consumer = obsconsumer .NewMetrics (
174
223
capabilityconsumer .NewMetrics (
175
224
n .Component .(consumer.Metrics ),
176
225
aggregateCap (n .Component .(consumer.Metrics ), nexts ),
177
226
),
178
- tb . ConnectorConsumedItems ,
227
+ consumedOpts ... ,
179
228
)
180
229
case pipeline .SignalTraces :
181
230
n .Component , err = builder .CreateTracesToMetrics (ctx , set , next )
182
231
if err != nil {
183
232
return err
184
233
}
185
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
234
+
235
+ consumedOpts := []obsconsumer.Option {
236
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
237
+ }
238
+ if isEnabled (tb .ConnectorConsumedSize ) {
239
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
240
+ }
241
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
186
242
case pipeline .SignalLogs :
187
243
n .Component , err = builder .CreateLogsToMetrics (ctx , set , next )
188
244
if err != nil {
189
245
return err
190
246
}
191
- n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), tb .ConnectorConsumedItems )
247
+
248
+ consumedOpts := []obsconsumer.Option {
249
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
250
+ }
251
+ if isEnabled (tb .ConnectorConsumedSize ) {
252
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
253
+ }
254
+ n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), consumedOpts ... )
192
255
case xpipeline .SignalProfiles :
193
256
n .Component , err = builder .CreateProfilesToMetrics (ctx , set , next )
194
257
if err != nil {
195
258
return err
196
259
}
197
- n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), tb .ConnectorConsumedItems )
260
+
261
+ consumedOpts := []obsconsumer.Option {
262
+ obsconsumer .WithProfilesItemCounter (& tb .ConnectorConsumedItems ),
263
+ }
264
+ if isEnabled (tb .ConnectorConsumedSize ) {
265
+ consumedOpts = append (consumedOpts , obsconsumer .WithProfilesSizeCounter (& tb .ConnectorConsumedSize ))
266
+ }
267
+ n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), consumedOpts ... )
198
268
}
199
269
return nil
200
270
}
@@ -212,16 +282,20 @@ func (n *connectorNode) buildLogs(
212
282
213
283
consumers := make (map [pipeline.ID ]consumer.Logs , len (nexts ))
214
284
for _ , next := range nexts {
215
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewLogs (
216
- next .(consumer.Logs ),
217
- tb .ConnectorProducedItems ,
285
+ producedOpts := []obsconsumer.Option {
286
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorProducedSize ),
218
287
obsconsumer .WithStaticDataPointAttribute (
219
288
otelattr .String (
220
289
pipelineIDAttrKey ,
221
290
next .(* capabilitiesNode ).pipelineID .String (),
222
291
),
223
292
),
224
- )
293
+ }
294
+ if isEnabled (tb .ConnectorProducedSize ) {
295
+ producedOpts = append (producedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorProducedSize ))
296
+ }
297
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewLogs (
298
+ next .(consumer.Logs ), producedOpts ... )
225
299
}
226
300
next := connector .NewLogsRouter (consumers )
227
301
@@ -231,32 +305,61 @@ func (n *connectorNode) buildLogs(
231
305
if err != nil {
232
306
return err
233
307
}
308
+
309
+ consumedOpts := []obsconsumer.Option {
310
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
311
+ }
312
+ if isEnabled (tb .ConnectorConsumedSize ) {
313
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
314
+ }
315
+
234
316
// Connectors which might pass along data must inherit capabilities of all nexts
235
317
n .consumer = obsconsumer .NewLogs (
236
318
capabilityconsumer .NewLogs (
237
319
n .Component .(consumer.Logs ),
238
320
aggregateCap (n .Component .(consumer.Logs ), nexts ),
239
321
),
240
- tb . ConnectorConsumedItems ,
322
+ consumedOpts ... ,
241
323
)
242
324
case pipeline .SignalTraces :
243
325
n .Component , err = builder .CreateTracesToLogs (ctx , set , next )
244
326
if err != nil {
245
327
return err
246
328
}
247
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
329
+
330
+ consumedOpts := []obsconsumer.Option {
331
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorConsumedItems ),
332
+ }
333
+ if isEnabled (tb .ConnectorConsumedSize ) {
334
+ consumedOpts = append (consumedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorConsumedSize ))
335
+ }
336
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
248
337
case pipeline .SignalMetrics :
249
338
n .Component , err = builder .CreateMetricsToLogs (ctx , set , next )
250
339
if err != nil {
251
340
return err
252
341
}
253
- n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), tb .ConnectorConsumedItems )
342
+
343
+ consumedOpts := []obsconsumer.Option {
344
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
345
+ }
346
+ if isEnabled (tb .ConnectorConsumedSize ) {
347
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
348
+ }
349
+ n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), consumedOpts ... )
254
350
case xpipeline .SignalProfiles :
255
351
n .Component , err = builder .CreateProfilesToLogs (ctx , set , next )
256
352
if err != nil {
257
353
return err
258
354
}
259
- n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), tb .ConnectorConsumedItems )
355
+
356
+ consumedOpts := []obsconsumer.Option {
357
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
358
+ }
359
+ if isEnabled (tb .ConnectorConsumedSize ) {
360
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
361
+ }
362
+ n .consumer = obsconsumer .NewProfiles (n .Component .(xconsumer.Profiles ), consumedOpts ... )
260
363
}
261
364
return nil
262
365
}
@@ -274,15 +377,21 @@ func (n *connectorNode) buildProfiles(
274
377
275
378
consumers := make (map [pipeline.ID ]xconsumer.Profiles , len (nexts ))
276
379
for _ , next := range nexts {
277
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewProfiles (
278
- next .(xconsumer.Profiles ),
279
- tb .ConnectorProducedItems ,
380
+ producedOpts := []obsconsumer.Option {
381
+ obsconsumer .WithProfilesItemCounter (& tb .ConnectorProducedItems ),
280
382
obsconsumer .WithStaticDataPointAttribute (
281
383
otelattr .String (
282
384
pipelineIDAttrKey ,
283
385
next .(* capabilitiesNode ).pipelineID .String (),
284
386
),
285
387
),
388
+ }
389
+ if isEnabled (tb .ConnectorProducedSize ) {
390
+ producedOpts = append (producedOpts , obsconsumer .WithProfilesSizeCounter (& tb .ConnectorProducedSize ))
391
+ }
392
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewProfiles (
393
+ next .(xconsumer.Profiles ),
394
+ producedOpts ... ,
286
395
)
287
396
}
288
397
next := xconnector .NewProfilesRouter (consumers )
@@ -293,32 +402,61 @@ func (n *connectorNode) buildProfiles(
293
402
if err != nil {
294
403
return err
295
404
}
405
+
406
+ consumedOpts := []obsconsumer.Option {
407
+ obsconsumer .WithProfilesItemCounter (& tb .ConnectorConsumedItems ),
408
+ }
409
+ if isEnabled (tb .ConnectorConsumedSize ) {
410
+ consumedOpts = append (consumedOpts , obsconsumer .WithProfilesSizeCounter (& tb .ConnectorConsumedSize ))
411
+ }
412
+
296
413
// Connectors which might pass along data must inherit capabilities of all nexts
297
414
n .consumer = obsconsumer .NewProfiles (
298
415
capabilityconsumer .NewProfiles (
299
416
n .Component .(xconsumer.Profiles ),
300
417
aggregateCap (n .Component .(xconsumer.Profiles ), nexts ),
301
418
),
302
- tb . ConnectorConsumedItems ,
419
+ consumedOpts ... ,
303
420
)
304
421
case pipeline .SignalTraces :
305
422
n .Component , err = builder .CreateTracesToProfiles (ctx , set , next )
306
423
if err != nil {
307
424
return err
308
425
}
309
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
426
+
427
+ consumedOpts := []obsconsumer.Option {
428
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorConsumedItems ),
429
+ }
430
+ if isEnabled (tb .ConnectorConsumedSize ) {
431
+ consumedOpts = append (consumedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorConsumedSize ))
432
+ }
433
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
310
434
case pipeline .SignalMetrics :
311
435
n .Component , err = builder .CreateMetricsToProfiles (ctx , set , next )
312
436
if err != nil {
313
437
return err
314
438
}
315
- n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), tb .ConnectorConsumedItems )
439
+
440
+ consumedOpts := []obsconsumer.Option {
441
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
442
+ }
443
+ if isEnabled (tb .ConnectorConsumedSize ) {
444
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
445
+ }
446
+ n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), consumedOpts ... )
316
447
case pipeline .SignalLogs :
317
448
n .Component , err = builder .CreateLogsToProfiles (ctx , set , next )
318
449
if err != nil {
319
450
return err
320
451
}
321
- n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), tb .ConnectorConsumedItems )
452
+
453
+ consumedOpts := []obsconsumer.Option {
454
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
455
+ }
456
+ if isEnabled (tb .ConnectorConsumedSize ) {
457
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
458
+ }
459
+ n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), consumedOpts ... )
322
460
}
323
461
return nil
324
462
}
0 commit comments