@@ -12,16 +12,21 @@ import (
12
12
"github.com/stretchr/testify/require"
13
13
"go.opentelemetry.io/otel/attribute"
14
14
"go.opentelemetry.io/otel/codes"
15
+ "go.opentelemetry.io/otel/sdk/metric/metricdata"
16
+ "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest"
15
17
16
18
"go.opentelemetry.io/collector/component"
17
19
"go.opentelemetry.io/collector/component/componenttest"
18
20
"go.opentelemetry.io/collector/receiver"
19
21
"go.opentelemetry.io/collector/receiver/receiverhelper/internal"
22
+ "go.opentelemetry.io/collector/receiver/receiverhelper/internal/metadatatest"
20
23
)
21
24
22
25
const (
23
- transport = "fakeTransport"
24
- format = "fakeFormat"
26
+ receiverKey = "receiver"
27
+ transportKey = "transport"
28
+ transport = "fakeTransport"
29
+ format = "fakeFormat"
25
30
)
26
31
27
32
var (
@@ -131,8 +136,9 @@ func TestReceiveLogsOp(t *testing.T) {
131
136
}
132
137
133
138
func TestReceiveMetricsOp (t * testing.T ) {
134
- testTelemetry (t , receiverID , func (t * testing.T , tt componenttest.TestTelemetry ) {
135
- parentCtx , parentSpan := tt .TelemetrySettings ().TracerProvider .Tracer ("test" ).Start (context .Background (), t .Name ())
139
+ testMetadataTelemetry (t , func (t * testing.T , tt metadatatest.Telemetry ) {
140
+ tel := tt .NewTelemetrySettings ()
141
+ parentCtx , parentSpan := tel .TracerProvider .Tracer ("test" ).Start (context .Background (), t .Name ())
136
142
defer parentSpan .End ()
137
143
138
144
params := []testParams {
@@ -143,7 +149,7 @@ func TestReceiveMetricsOp(t *testing.T) {
143
149
rec , err := newReceiver (ObsReportSettings {
144
150
ReceiverID : receiverID ,
145
151
Transport : transport ,
146
- ReceiverCreateSettings : receiver.Settings {ID : receiverID , TelemetrySettings : tt . TelemetrySettings () , BuildInfo : component .NewDefaultBuildInfo ()},
152
+ ReceiverCreateSettings : receiver.Settings {ID : receiverID , TelemetrySettings : tel , BuildInfo : component .NewDefaultBuildInfo ()},
147
153
})
148
154
require .NoError (t , err )
149
155
@@ -175,7 +181,7 @@ func TestReceiveMetricsOp(t *testing.T) {
175
181
}
176
182
}
177
183
178
- require . NoError (t , tt . CheckReceiverMetrics ( transport , int64 (acceptedMetricPoints ), int64 (refusedMetricPoints ) ))
184
+ assertMetrics (t , tt , receiverID , transport , int64 (acceptedMetricPoints ), int64 (refusedMetricPoints ))
179
185
})
180
186
}
181
187
@@ -255,24 +261,20 @@ func TestCheckReceiverTracesViews(t *testing.T) {
255
261
}
256
262
257
263
func TestCheckReceiverMetricsViews (t * testing.T ) {
258
- tt , err := componenttest .SetupTelemetry (receiverID )
259
- require .NoError (t , err )
264
+ tt := metadatatest .SetupTelemetry ()
260
265
t .Cleanup (func () { require .NoError (t , tt .Shutdown (context .Background ())) })
261
266
262
267
rec , err := NewObsReport (ObsReportSettings {
263
268
ReceiverID : receiverID ,
264
269
Transport : transport ,
265
- ReceiverCreateSettings : receiver.Settings {ID : receiverID , TelemetrySettings : tt .TelemetrySettings (), BuildInfo : component .NewDefaultBuildInfo ()},
270
+ ReceiverCreateSettings : receiver.Settings {ID : receiverID , TelemetrySettings : tt .NewTelemetrySettings (), BuildInfo : component .NewDefaultBuildInfo ()},
266
271
})
267
272
require .NoError (t , err )
268
273
ctx := rec .StartMetricsOp (context .Background ())
269
274
require .NotNil (t , ctx )
270
275
rec .EndMetricsOp (ctx , format , 7 , nil )
271
276
272
- require .NoError (t , tt .CheckReceiverMetrics (transport , 7 , 0 ))
273
- require .Error (t , tt .CheckReceiverMetrics (transport , 7 , 7 ))
274
- require .Error (t , tt .CheckReceiverMetrics (transport , 0 , 0 ))
275
- assert .Error (t , tt .CheckReceiverMetrics (transport , 0 , 7 ))
277
+ assertMetrics (t , tt , receiverID , transport , 7 , 0 )
276
278
}
277
279
278
280
func TestCheckReceiverLogsViews (t * testing.T ) {
@@ -303,3 +305,48 @@ func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt
303
305
304
306
testFunc (t , tt )
305
307
}
308
+
309
+ func testMetadataTelemetry (t * testing.T , testFunc func (t * testing.T , tt metadatatest.Telemetry )) {
310
+ tt := metadatatest .SetupTelemetry ()
311
+ t .Cleanup (func () { require .NoError (t , tt .Shutdown (context .Background ())) })
312
+ testFunc (t , tt )
313
+ }
314
+
315
+ func assertMetrics (t * testing.T , tt metadatatest.Telemetry , receiver component.ID , transport string , expectedAccepted int64 , expectedRefused int64 ) {
316
+ tt .AssertMetrics (t , []metricdata.Metrics {
317
+ {
318
+ Name : "otelcol_receiver_accepted_metric_points" ,
319
+ Description : "Number of metric points successfully pushed into the pipeline. [alpha]" ,
320
+ Unit : "{datapoints}" ,
321
+ Data : metricdata.Sum [int64 ]{
322
+ Temporality : metricdata .CumulativeTemporality ,
323
+ IsMonotonic : true ,
324
+ DataPoints : []metricdata.DataPoint [int64 ]{
325
+ {
326
+ Attributes : attribute .NewSet (
327
+ attribute .String (receiverKey , receiver .String ()),
328
+ attribute .String (transportKey , transport )),
329
+ Value : expectedAccepted ,
330
+ },
331
+ },
332
+ },
333
+ },
334
+ {
335
+ Name : "otelcol_receiver_refused_metric_points" ,
336
+ Description : "Number of metric points that could not be pushed into the pipeline. [alpha]" ,
337
+ Unit : "{datapoints}" ,
338
+ Data : metricdata.Sum [int64 ]{
339
+ Temporality : metricdata .CumulativeTemporality ,
340
+ IsMonotonic : true ,
341
+ DataPoints : []metricdata.DataPoint [int64 ]{
342
+ {
343
+ Attributes : attribute .NewSet (
344
+ attribute .String (receiverKey , receiver .String ()),
345
+ attribute .String (transportKey , transport )),
346
+ Value : expectedRefused ,
347
+ },
348
+ },
349
+ },
350
+ },
351
+ }, metricdatatest .IgnoreTimestamp (), metricdatatest .IgnoreExemplars ())
352
+ }
0 commit comments