@@ -12,6 +12,7 @@ class TraceService(trace_service_pb2_grpc.TraceServiceServicer):
12
12
13
13
def Export (self , request , context ):
14
14
self .batches .append (request .resource_spans )
15
+ self .last_metadata = context .invocation_metadata ()
15
16
return trace_service_pb2 .ExportTracePartialSuccess ()
16
17
17
18
def get_batch (self ):
@@ -31,13 +32,17 @@ def get_span(self):
31
32
32
33
33
34
@pytest .fixture (scope = "module" )
34
- def trace_service (pytestconfig , logger ):
35
+ def trace_service (request , pytestconfig , logger ):
35
36
server = grpc .server (concurrent .futures .ThreadPoolExecutor ())
36
37
trace_service = TraceService ()
37
38
trace_service_pb2_grpc .add_TraceServiceServicer_to_server (
38
39
trace_service , server
39
40
)
40
- listen_addr = f"127.0.0.1:{ 24317 if pytestconfig .option .otelcol else 14317 } "
41
+ trace_service .use_otelcol = (
42
+ pytestconfig .option .otelcol
43
+ and getattr (request , "param" , "" ) != "skip_otelcol"
44
+ )
45
+ listen_addr = f"127.0.0.1:{ 24317 if trace_service .use_otelcol else 14317 } "
41
46
server .add_insecure_port (listen_addr )
42
47
logger .info (f"Starting trace service at { listen_addr } ..." )
43
48
server .start ()
@@ -48,7 +53,7 @@ def trace_service(pytestconfig, logger):
48
53
49
54
@pytest .fixture (scope = "module" )
50
55
def otelcol (pytestconfig , testdir , logger , trace_service ):
51
- if pytestconfig . option . otelcol is None :
56
+ if not trace_service . use_otelcol :
52
57
yield
53
58
return
54
59
0 commit comments