@@ -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,26 +113,48 @@ 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 {
@@ -150,15 +178,21 @@ func (n *connectorNode) buildMetrics(
150
178
151
179
consumers := make (map [pipeline.ID ]consumer.Metrics , len (nexts ))
152
180
for _ , next := range nexts {
153
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewMetrics (
154
- next .(consumer.Metrics ),
155
- tb .ConnectorProducedItems ,
181
+ producedOpts := []obsconsumer.Option {
182
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorProducedItems ),
156
183
obsconsumer .WithStaticDataPointAttribute (
157
184
otelattr .String (
158
185
pipelineIDAttrKey ,
159
186
next .(* capabilitiesNode ).pipelineID .String (),
160
187
),
161
188
),
189
+ }
190
+ if isEnabled (tb .ConnectorProducedSize ) {
191
+ producedOpts = append (producedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorProducedSize ))
192
+ }
193
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewMetrics (
194
+ next .(consumer.Metrics ),
195
+ producedOpts ... ,
162
196
)
163
197
}
164
198
next := connector .NewMetricsRouter (consumers )
@@ -169,26 +203,48 @@ func (n *connectorNode) buildMetrics(
169
203
if err != nil {
170
204
return err
171
205
}
206
+
207
+ consumedOpts := []obsconsumer.Option {
208
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
209
+ }
210
+ if isEnabled (tb .ConnectorConsumedSize ) {
211
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
212
+ }
213
+
172
214
// Connectors which might pass along data must inherit capabilities of all nexts
173
215
n .consumer = obsconsumer .NewMetrics (
174
216
capabilityconsumer .NewMetrics (
175
217
n .Component .(consumer.Metrics ),
176
218
aggregateCap (n .Component .(consumer.Metrics ), nexts ),
177
219
),
178
- tb . ConnectorConsumedItems ,
220
+ consumedOpts ... ,
179
221
)
180
222
case pipeline .SignalTraces :
181
223
n .Component , err = builder .CreateTracesToMetrics (ctx , set , next )
182
224
if err != nil {
183
225
return err
184
226
}
185
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
227
+
228
+ consumedOpts := []obsconsumer.Option {
229
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
230
+ }
231
+ if isEnabled (tb .ConnectorConsumedSize ) {
232
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
233
+ }
234
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
186
235
case pipeline .SignalLogs :
187
236
n .Component , err = builder .CreateLogsToMetrics (ctx , set , next )
188
237
if err != nil {
189
238
return err
190
239
}
191
- n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), tb .ConnectorConsumedItems )
240
+
241
+ consumedOpts := []obsconsumer.Option {
242
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
243
+ }
244
+ if isEnabled (tb .ConnectorConsumedSize ) {
245
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
246
+ }
247
+ n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), consumedOpts ... )
192
248
case xpipeline .SignalProfiles :
193
249
n .Component , err = builder .CreateProfilesToMetrics (ctx , set , next )
194
250
if err != nil {
@@ -212,16 +268,20 @@ func (n *connectorNode) buildLogs(
212
268
213
269
consumers := make (map [pipeline.ID ]consumer.Logs , len (nexts ))
214
270
for _ , next := range nexts {
215
- consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewLogs (
216
- next .(consumer.Logs ),
217
- tb .ConnectorProducedItems ,
271
+ producedOpts := []obsconsumer.Option {
272
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorProducedSize ),
218
273
obsconsumer .WithStaticDataPointAttribute (
219
274
otelattr .String (
220
275
pipelineIDAttrKey ,
221
276
next .(* capabilitiesNode ).pipelineID .String (),
222
277
),
223
278
),
224
- )
279
+ }
280
+ if isEnabled (tb .ConnectorProducedSize ) {
281
+ producedOpts = append (producedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorProducedSize ))
282
+ }
283
+ consumers [next .(* capabilitiesNode ).pipelineID ] = obsconsumer .NewLogs (
284
+ next .(consumer.Logs ), producedOpts ... )
225
285
}
226
286
next := connector .NewLogsRouter (consumers )
227
287
@@ -231,26 +291,48 @@ func (n *connectorNode) buildLogs(
231
291
if err != nil {
232
292
return err
233
293
}
294
+
295
+ consumedOpts := []obsconsumer.Option {
296
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
297
+ }
298
+ if isEnabled (tb .ConnectorConsumedSize ) {
299
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
300
+ }
301
+
234
302
// Connectors which might pass along data must inherit capabilities of all nexts
235
303
n .consumer = obsconsumer .NewLogs (
236
304
capabilityconsumer .NewLogs (
237
305
n .Component .(consumer.Logs ),
238
306
aggregateCap (n .Component .(consumer.Logs ), nexts ),
239
307
),
240
- tb . ConnectorConsumedItems ,
308
+ consumedOpts ... ,
241
309
)
242
310
case pipeline .SignalTraces :
243
311
n .Component , err = builder .CreateTracesToLogs (ctx , set , next )
244
312
if err != nil {
245
313
return err
246
314
}
247
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
315
+
316
+ consumedOpts := []obsconsumer.Option {
317
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorConsumedItems ),
318
+ }
319
+ if isEnabled (tb .ConnectorConsumedSize ) {
320
+ consumedOpts = append (consumedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorConsumedSize ))
321
+ }
322
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
248
323
case pipeline .SignalMetrics :
249
324
n .Component , err = builder .CreateMetricsToLogs (ctx , set , next )
250
325
if err != nil {
251
326
return err
252
327
}
253
- n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), tb .ConnectorConsumedItems )
328
+
329
+ consumedOpts := []obsconsumer.Option {
330
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
331
+ }
332
+ if isEnabled (tb .ConnectorConsumedSize ) {
333
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
334
+ }
335
+ n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), consumedOpts ... )
254
336
case xpipeline .SignalProfiles :
255
337
n .Component , err = builder .CreateProfilesToLogs (ctx , set , next )
256
338
if err != nil {
@@ -306,19 +388,40 @@ func (n *connectorNode) buildProfiles(
306
388
if err != nil {
307
389
return err
308
390
}
309
- n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), tb .ConnectorConsumedItems )
391
+
392
+ consumedOpts := []obsconsumer.Option {
393
+ obsconsumer .WithTracesItemCounter (& tb .ConnectorConsumedItems ),
394
+ }
395
+ if isEnabled (tb .ConnectorConsumedSize ) {
396
+ consumedOpts = append (consumedOpts , obsconsumer .WithTracesSizeCounter (& tb .ConnectorConsumedSize ))
397
+ }
398
+ n .consumer = obsconsumer .NewTraces (n .Component .(consumer.Traces ), consumedOpts ... )
310
399
case pipeline .SignalMetrics :
311
400
n .Component , err = builder .CreateMetricsToProfiles (ctx , set , next )
312
401
if err != nil {
313
402
return err
314
403
}
315
- n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), tb .ConnectorConsumedItems )
404
+
405
+ consumedOpts := []obsconsumer.Option {
406
+ obsconsumer .WithMetricsItemCounter (& tb .ConnectorConsumedItems ),
407
+ }
408
+ if isEnabled (tb .ConnectorConsumedSize ) {
409
+ consumedOpts = append (consumedOpts , obsconsumer .WithMetricsSizeCounter (& tb .ConnectorConsumedSize ))
410
+ }
411
+ n .consumer = obsconsumer .NewMetrics (n .Component .(consumer.Metrics ), consumedOpts ... )
316
412
case pipeline .SignalLogs :
317
413
n .Component , err = builder .CreateLogsToProfiles (ctx , set , next )
318
414
if err != nil {
319
415
return err
320
416
}
321
- n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), tb .ConnectorConsumedItems )
417
+
418
+ consumedOpts := []obsconsumer.Option {
419
+ obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedItems ),
420
+ }
421
+ if isEnabled (tb .ConnectorConsumedSize ) {
422
+ consumedOpts = append (consumedOpts , obsconsumer .WithLogsSizeCounter (& tb .ConnectorConsumedSize ))
423
+ }
424
+ n .consumer = obsconsumer .NewLogs (n .Component .(consumer.Logs ), consumedOpts ... )
322
425
}
323
426
return nil
324
427
}
0 commit comments