@@ -47,24 +47,25 @@ func TestMetricBatcher(t *testing.T) {
47
47
},
48
48
expect : func (t * testing.T , result pmetric.Metrics ) {
49
49
// Different hosts should result in different ResourceMetrics
50
+ requireMetricAndDataPointCounts (t , result , 2 , 2 )
50
51
require .Equal (t , 2 , result .ResourceMetrics ().Len ())
51
52
resource1 := result .ResourceMetrics ().At (0 )
52
53
resource2 := result .ResourceMetrics ().At (1 )
53
- v , exists := resource1 . Resource (). Attributes (). Get ( "host.name" )
54
- require . True ( t , exists )
55
- require . Equal (t , "Host1" , v . AsString () )
56
- v , exists = resource2 . Resource (). Attributes (). Get ( "host.name" )
57
- require . True ( t , exists )
58
- require . Equal (t , "Host2" , v . AsString () )
54
+
55
+ res1ExpectedAttrs := tagsToAttributes ([] string { "env:tag1" , "service:test1" , "version:tag1" }, "Host1" , newStringPool () )
56
+ requireResourceAttributes (t , resource1 . Resource (). Attributes (), res1ExpectedAttrs . resource )
57
+
58
+ res2ExpectedAttrs := tagsToAttributes ([] string { "env:tag1" , "service:test1" , "version:tag1" }, "Host2" , newStringPool () )
59
+ requireResourceAttributes (t , resource2 . Resource (). Attributes (), res2ExpectedAttrs . resource )
59
60
60
61
require .Equal (t , 1 , resource1 .ScopeMetrics ().Len ())
61
62
require .Equal (t , 1 , resource2 .ScopeMetrics ().Len ())
62
63
63
64
require .Equal (t , 1 , resource1 .ScopeMetrics ().At (0 ).Metrics ().Len ())
64
65
require .Equal (t , 1 , resource2 .ScopeMetrics ().At (0 ).Metrics ().Len ())
65
66
66
- require . Equal (t , "TestCount1" , resource1 .ScopeMetrics ().At (0 ).Metrics ().At (0 ). Name () )
67
- require . Equal (t , "TestCount1" , resource2 .ScopeMetrics ().At (0 ).Metrics ().At (0 ). Name () )
67
+ requireSum (t , resource1 .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestCount1" , 1 )
68
+ requireSum (t , resource2 .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestCount1" , 1 )
68
69
},
69
70
},
70
71
{
@@ -98,18 +99,19 @@ func TestMetricBatcher(t *testing.T) {
98
99
expect : func (t * testing.T , result pmetric.Metrics ) {
99
100
// The different metrics will fall under the same ResourceMetric and ScopeMetric
100
101
// and there will be separate metrics under the ScopeMetric.Metrics()
102
+ requireMetricAndDataPointCounts (t , result , 2 , 2 )
101
103
require .Equal (t , 1 , result .ResourceMetrics ().Len ())
102
104
resource := result .ResourceMetrics ().At (0 )
103
105
104
- v , exists := resource .Resource ().Attributes ().Get ("host.name" )
105
- require .True (t , exists )
106
- require .Equal (t , "Host1" , v .AsString ())
106
+ expectedAttrs := tagsToAttributes ([]string {"env:tag1" , "service:test1" , "version:tag1" }, "Host1" , newStringPool ())
107
+ requireResourceAttributes (t , resource .Resource ().Attributes (), expectedAttrs .resource )
107
108
108
109
require .Equal (t , 1 , resource .ScopeMetrics ().Len ())
109
110
110
- require .Equal (t , 2 , resource .ScopeMetrics ().At (0 ).Metrics ().Len ())
111
111
require .Equal (t , "TestCount1" , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ).Name ())
112
112
require .Equal (t , "TestCount2" , resource .ScopeMetrics ().At (0 ).Metrics ().At (1 ).Name ())
113
+ requireSum (t , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestCount1" , 1 )
114
+ requireSum (t , resource .ScopeMetrics ().At (0 ).Metrics ().At (1 ), "TestCount2" , 1 )
113
115
},
114
116
},
115
117
{
@@ -142,21 +144,16 @@ func TestMetricBatcher(t *testing.T) {
142
144
},
143
145
expect : func (t * testing.T , result pmetric.Metrics ) {
144
146
// Differences in attribute values should result in different resourceMetrics
147
+ requireMetricAndDataPointCounts (t , result , 2 , 2 )
145
148
require .Equal (t , 2 , result .ResourceMetrics ().Len ())
146
149
resource1 := result .ResourceMetrics ().At (0 )
147
150
resource2 := result .ResourceMetrics ().At (1 )
148
- v , exists := resource1 .Resource ().Attributes ().Get ("host.name" )
149
- require .True (t , exists )
150
- require .Equal (t , "Host1" , v .AsString ())
151
- v , exists = resource2 .Resource ().Attributes ().Get ("host.name" )
152
- require .True (t , exists )
153
- require .Equal (t , "Host1" , v .AsString ())
154
- v , exists = resource1 .Resource ().Attributes ().Get ("deployment.environment" )
155
- require .True (t , exists )
156
- require .Equal (t , "dev" , v .AsString ())
157
- v , exists = resource2 .Resource ().Attributes ().Get ("deployment.environment" )
158
- require .True (t , exists )
159
- require .Equal (t , "prod" , v .AsString ())
151
+
152
+ res1ExpectedAttrs := tagsToAttributes ([]string {"env:dev" , "version:tag1" }, "Host1" , newStringPool ())
153
+ requireResourceAttributes (t , resource1 .Resource ().Attributes (), res1ExpectedAttrs .resource )
154
+
155
+ res2ExpectedAttrs := tagsToAttributes ([]string {"env:prod" , "version:tag1" }, "Host1" , newStringPool ())
156
+ requireResourceAttributes (t , resource2 .Resource ().Attributes (), res2ExpectedAttrs .resource )
160
157
161
158
require .Equal (t , 1 , resource1 .ScopeMetrics ().Len ())
162
159
require .Equal (t , 1 , resource1 .ScopeMetrics ().Len ())
@@ -167,8 +164,8 @@ func TestMetricBatcher(t *testing.T) {
167
164
require .Equal (t , 1 , resource1 .ScopeMetrics ().At (0 ).Metrics ().Len ())
168
165
require .Equal (t , 1 , resource2 .ScopeMetrics ().At (0 ).Metrics ().Len ())
169
166
170
- require . Equal (t , "TestCount1" , resource1 .ScopeMetrics ().At (0 ).Metrics ().At (0 ). Name () )
171
- require . Equal (t , "TestCount1" , resource2 .ScopeMetrics ().At (0 ).Metrics ().At (0 ). Name () )
167
+ requireSum (t , resource1 .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestCount1" , 1 )
168
+ requireSum (t , resource2 .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestCount1" , 1 )
172
169
},
173
170
},
174
171
{
@@ -203,22 +200,20 @@ func TestMetricBatcher(t *testing.T) {
203
200
// The different metrics will fall under the same ResourceMetric and ScopeMetric
204
201
// and there will be separate metrics under the ScopeMetric.Metrics() due to the different
205
202
// data types
203
+ requireMetricAndDataPointCounts (t , result , 2 , 2 )
206
204
require .Equal (t , 1 , result .ResourceMetrics ().Len ())
207
205
resource := result .ResourceMetrics ().At (0 )
208
206
209
- v , exists := resource .Resource ().Attributes ().Get ("host.name" )
210
- require .True (t , exists )
211
- require .Equal (t , "Host1" , v .AsString ())
207
+ expectedAttrs := tagsToAttributes ([]string {"env:dev" , "version:tag1" }, "Host1" , newStringPool ())
208
+ requireResourceAttributes (t , resource .Resource ().Attributes (), expectedAttrs .resource )
212
209
213
210
require .Equal (t , 1 , resource .ScopeMetrics ().Len ())
214
211
215
- require .Equal (t , 2 , resource .ScopeMetrics ().At (0 ).Metrics ().Len ())
216
-
217
212
require .Equal (t , "TestMetric" , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ).Name ())
218
213
require .Equal (t , "TestMetric" , resource .ScopeMetrics ().At (0 ).Metrics ().At (1 ).Name ())
219
214
220
- require . Equal (t , pmetric . MetricTypeSum , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ). Type () )
221
- require . Equal (t , pmetric . MetricTypeGauge , resource .ScopeMetrics ().At (0 ).Metrics ().At (1 ). Type () )
215
+ requireSum (t , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestMetric" , 1 )
216
+ requireGauge (t , resource .ScopeMetrics ().At (0 ).Metrics ().At (1 ), "TestMetric" , 1 )
222
217
},
223
218
},
224
219
{
@@ -253,21 +248,16 @@ func TestMetricBatcher(t *testing.T) {
253
248
// Same host, tags, and metric name but two different datapoints
254
249
// should result in a single resourceMetric, scopeMetric, and metric
255
250
// but two different datapoints under that metric
251
+ requireMetricAndDataPointCounts (t , result , 1 , 2 )
256
252
require .Equal (t , 1 , result .ResourceMetrics ().Len ())
257
253
resource := result .ResourceMetrics ().At (0 )
258
254
259
- v , exists := resource .Resource ().Attributes ().Get ("host.name" )
260
- require .True (t , exists )
261
- require .Equal (t , "Host1" , v .AsString ())
255
+ expectedAttrs := tagsToAttributes ([]string {"env:dev" , "version:tag1" }, "Host1" , newStringPool ())
256
+ requireResourceAttributes (t , resource .Resource ().Attributes (), expectedAttrs .resource )
262
257
263
258
require .Equal (t , 1 , resource .ScopeMetrics ().Len ())
264
259
265
- require .Equal (t , 1 , resource .ScopeMetrics ().At (0 ).Metrics ().Len ())
266
-
267
- require .Equal (t , "TestMetric" , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ).Name ())
268
-
269
- require .Equal (t , pmetric .MetricTypeSum , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ).Type ())
270
- require .Equal (t , 2 , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ).Sum ().DataPoints ().Len ())
260
+ requireSum (t , resource .ScopeMetrics ().At (0 ).Metrics ().At (0 ), "TestMetric" , 2 )
271
261
},
272
262
},
273
263
}
0 commit comments