1919 InMemorySpanExporter ,
2020)
2121
22-
23- @pytest .fixture (scope = "session" )
22+ @pytest .fixture (scope = "function" )
2423def span_exporter ():
2524 exporter = InMemorySpanExporter ()
26- processor = SimpleSpanProcessor (exporter )
27-
28- provider = TracerProvider ()
29- provider .add_span_processor (processor )
30- trace .set_tracer_provider (provider )
31-
32- return exporter
25+ yield exporter
3326
3427
35- @pytest .fixture (scope = "session " )
28+ @pytest .fixture (scope = "function " )
3629def log_exporter ():
3730 exporter = InMemoryLogExporter ()
38- processor = SimpleLogRecordProcessor ( exporter )
31+ yield exporter
3932
40- provider = LoggerProvider ()
41- provider .add_log_record_processor (processor )
33+ @pytest .fixture (scope = "function" )
34+ def tracer_provider (span_exporter ):
35+ provider = TracerProvider ()
36+ provider .add_span_processor (SimpleSpanProcessor (span_exporter ))
37+ return provider
4238
39+ @pytest .fixture (scope = "function" )
40+ def event_provider (log_exporter ):
41+ provider = LoggerProvider ()
42+ provider .add_log_record_processor (SimpleLogRecordProcessor (log_exporter ))
4343 event_provider = EventLoggerProvider (provider )
4444
45- _logs .set_logger_provider (provider )
46- _events .set_event_logger_provider (event_provider )
47-
48- return exporter
49-
50-
51- @pytest .fixture (autouse = True )
52- def clear_exporter (span_exporter , log_exporter ):
53- span_exporter .clear ()
54- log_exporter .clear ()
55-
45+ return event_provider
5646
5747@pytest .fixture (autouse = True )
5848def environment ():
@@ -74,15 +64,13 @@ def vcr_config():
7464 }
7565
7666
77- @pytest .fixture (scope = "session " , autouse = True )
78- def instrument ():
79- OpenAIInstrumentor (). instrument ()
80-
67+ @pytest .fixture (scope = "function " , autouse = True )
68+ def instrument (tracer_provider , event_provider ):
69+ instrumentor = OpenAIInstrumentor ()
70+ instrumentor . instrument ( tracer_provider = tracer_provider , event_provider = event_provider )
8171
82- @pytest .fixture (scope = "session" , autouse = True )
83- def uninstrument ():
84- # OpenAIInstrumentor().uninstrument()
85- pass
72+ yield instrumentor
73+ instrumentor .uninstrument ()
8674
8775
8876def scrub_response_headers (response ):
0 commit comments