@@ -11,17 +11,18 @@ import (
11
11
12
12
"github.com/stretchr/testify/assert"
13
13
"github.com/stretchr/testify/require"
14
+ "go.opentelemetry.io/otel/attribute"
14
15
"go.uber.org/zap"
15
16
"go.uber.org/zap/zaptest/observer"
16
17
17
18
"go.opentelemetry.io/collector/component"
18
19
"go.opentelemetry.io/collector/component/componenttest"
19
20
"go.opentelemetry.io/collector/config/configretry"
20
21
"go.opentelemetry.io/collector/exporter"
21
- "go.opentelemetry.io/collector/exporter/exporterhelper/internal/metadata"
22
22
"go.opentelemetry.io/collector/exporter/exporterqueue"
23
23
"go.opentelemetry.io/collector/exporter/exportertest"
24
24
"go.opentelemetry.io/collector/exporter/internal/queue"
25
+ "go.opentelemetry.io/collector/internal/obsreportconfig/obsmetrics"
25
26
)
26
27
27
28
func TestQueuedRetry_StopWhileWaiting (t * testing.T ) {
@@ -202,28 +203,33 @@ func TestQueuedRetryHappyPath(t *testing.T) {
202
203
})
203
204
}
204
205
}
205
- func TestQueuedRetry_QueueMetricsReported (t * testing.T ) {
206
- tt , err := componenttest .SetupTelemetry (defaultID )
207
- require .NoError (t , err )
208
206
209
- qCfg := NewDefaultQueueSettings ()
210
- qCfg .NumConsumers = 0 // to make every request go straight to the queue
211
- rCfg := configretry .NewDefaultBackOffConfig ()
212
- set := exporter.Settings {ID : defaultID , TelemetrySettings : tt .TelemetrySettings (), BuildInfo : component .NewDefaultBuildInfo ()}
213
- be , err := newBaseExporter (set , defaultDataType , newObservabilityConsumerSender ,
214
- withMarshaler (mockRequestMarshaler ), withUnmarshaler (mockRequestUnmarshaler (& mockRequest {})),
215
- WithRetry (rCfg ), WithQueue (qCfg ))
216
- require .NoError (t , err )
217
- require .NoError (t , be .Start (context .Background (), componenttest .NewNopHost ()))
218
-
219
- require .NoError (t , tt .CheckExporterMetricGauge ("otelcol_exporter_queue_capacity" , int64 (defaultQueueSize )))
207
+ func TestQueuedRetry_QueueMetricsReported (t * testing.T ) {
208
+ dataTypes := []component.DataType {component .DataTypeLogs , component .DataTypeTraces , component .DataTypeMetrics }
209
+ for _ , dataType := range dataTypes {
210
+ tt , err := componenttest .SetupTelemetry (defaultID )
211
+ require .NoError (t , err )
212
+
213
+ qCfg := NewDefaultQueueSettings ()
214
+ qCfg .NumConsumers = 0 // to make every request go straight to the queue
215
+ rCfg := configretry .NewDefaultBackOffConfig ()
216
+ set := exporter.Settings {ID : defaultID , TelemetrySettings : tt .TelemetrySettings (), BuildInfo : component .NewDefaultBuildInfo ()}
217
+ be , err := newBaseExporter (set , dataType , newObservabilityConsumerSender ,
218
+ withMarshaler (mockRequestMarshaler ), withUnmarshaler (mockRequestUnmarshaler (& mockRequest {})),
219
+ WithRetry (rCfg ), WithQueue (qCfg ))
220
+ require .NoError (t , err )
221
+ require .NoError (t , be .Start (context .Background (), componenttest .NewNopHost ()))
222
+
223
+ require .NoError (t , tt .CheckExporterMetricGauge ("otelcol_exporter_queue_capacity" , int64 (defaultQueueSize )))
224
+
225
+ for i := 0 ; i < 7 ; i ++ {
226
+ require .NoError (t , be .send (context .Background (), newErrorRequest ()))
227
+ }
228
+ require .NoError (t , tt .CheckExporterMetricGauge ("otelcol_exporter_queue_size" , int64 (7 ),
229
+ attribute .String (obsmetrics .DataTypeKey , dataType .String ())))
220
230
221
- for i := 0 ; i < 7 ; i ++ {
222
- require .NoError (t , be .send (context .Background (), newErrorRequest ()))
231
+ assert .NoError (t , be .Shutdown (context .Background ()))
223
232
}
224
- require .NoError (t , tt .CheckExporterMetricGauge ("otelcol_exporter_queue_size" , int64 (7 )))
225
-
226
- assert .NoError (t , be .Shutdown (context .Background ()))
227
233
}
228
234
229
235
func TestNoCancellationContext (t * testing.T ) {
@@ -426,9 +432,12 @@ func TestQueuedRetryPersistentEnabled_NoDataLossOnShutdown(t *testing.T) {
426
432
func TestQueueSenderNoStartShutdown (t * testing.T ) {
427
433
queue := queue.NewBoundedMemoryQueue [Request ](queue.MemoryQueueSettings [Request ]{})
428
434
set := exportertest .NewNopSettings ()
429
- builder , err := metadata .NewTelemetryBuilder (set .TelemetrySettings )
435
+ obsrep , err := NewObsReport (ObsReportSettings {
436
+ ExporterID : exporterID ,
437
+ ExporterCreateSettings : exportertest .NewNopSettings (),
438
+ })
430
439
assert .NoError (t , err )
431
- qs := newQueueSender (queue , set , 1 , "" , builder )
440
+ qs := newQueueSender (queue , set , 1 , "" , obsrep )
432
441
assert .NoError (t , qs .Shutdown (context .Background ()))
433
442
}
434
443
0 commit comments