28
28
}
29
29
30
30
otel_trace on;
31
- otel_service_name test_service;
31
+ {{ resource_attrs }}
32
32
33
33
server {
34
34
listen 127.0.0.1:18443 ssl;
@@ -240,7 +240,7 @@ def test_context(client, trace_service, parent, path):
240
240
241
241
@pytest .mark .parametrize (
242
242
"nginx_config" ,
243
- [( {"interval" : "200ms" , "scheme" : "http://" }) ],
243
+ [{"interval" : "200ms" , "scheme" : "http://" }],
244
244
indirect = True ,
245
245
)
246
246
@pytest .mark .parametrize ("batch_count" , [1 , 3 ])
@@ -257,8 +257,34 @@ def test_batches(client, trace_service, batch_count):
257
257
assert len (trace_service .batches ) == batch_count
258
258
259
259
for batch in trace_service .batches :
260
- assert get_attr (batch [0 ].resource , "service.name" ) == "test_service"
260
+ assert (
261
+ get_attr (batch [0 ].resource , "service.name" )
262
+ == "unknown_service:nginx"
263
+ )
261
264
assert len (batch [0 ].scope_spans [0 ].spans ) == batch_size
262
265
263
266
time .sleep (0.3 ) # wait for +1 request to be flushed
264
267
trace_service .batches .clear ()
268
+
269
+
270
+ @pytest .mark .parametrize (
271
+ "nginx_config" ,
272
+ [
273
+ {
274
+ "resource_attrs" : """
275
+ otel_service_name "test_service";
276
+ otel_resource_attr my.name "my name";
277
+ otel_resource_attr my.service "my service";
278
+ """ ,
279
+ }
280
+ ],
281
+ indirect = True ,
282
+ )
283
+ def test_custom_resource_attributes (client , trace_service ):
284
+ assert client .get ("http://127.0.0.1:18080/ok" ).status_code == 200
285
+
286
+ batch = trace_service .get_batch ()
287
+
288
+ assert get_attr (batch .resource , "service.name" ) == "test_service"
289
+ assert get_attr (batch .resource , "my.name" ) == "my name"
290
+ assert get_attr (batch .resource , "my.service" ) == "my service"
0 commit comments