@@ -103,6 +103,19 @@ def test_traced_client(self):
103103 request_id = "fdcdcab1-ae5c-489e-9c33-4637c5dda355"
104104 self .assert_span ("EC2" , "DescribeInstances" , request_id = request_id )
105105
106+ @mock_aws
107+ def test_no_op_tracer_provider_ec2 (self ):
108+ BotocoreInstrumentor ().uninstrument ()
109+ BotocoreInstrumentor ().instrument (
110+ tracer_provider = trace_api .NoOpTracerProvider ()
111+ )
112+
113+ ec2 = self ._make_client ("ec2" )
114+ ec2 .describe_instances ()
115+
116+ spans_list = self .memory_exporter .get_finished_spans ()
117+ self .assertEqual (len (spans_list ), 0 )
118+
106119 @mock_aws
107120 def test_not_recording (self ):
108121 mock_tracer = Mock ()
@@ -148,6 +161,19 @@ def test_s3_client(self):
148161 s3 .list_buckets ()
149162 self .assert_span ("S3" , "ListBuckets" )
150163
164+ @mock_aws
165+ def test_no_op_tracer_provider_s3 (self ):
166+ BotocoreInstrumentor ().uninstrument ()
167+ BotocoreInstrumentor ().instrument (
168+ tracer_provider = trace_api .NoOpTracerProvider ()
169+ )
170+
171+ s3 = self ._make_client ("s3" )
172+ s3 .list_buckets ()
173+
174+ spans_list = self .memory_exporter .get_finished_spans ()
175+ self .assertEqual (len (spans_list ), 0 )
176+
151177 @mock_aws
152178 def test_s3_put (self ):
153179 s3 = self ._make_client ("s3" )
@@ -176,6 +202,19 @@ def test_sqs_client(self):
176202 "SQS" , "ListQueues" , request_id = _REQUEST_ID_REGEX_MATCH
177203 )
178204
205+ @mock_aws
206+ def test_no_op_tracer_provider_sqs (self ):
207+ BotocoreInstrumentor ().uninstrument ()
208+ BotocoreInstrumentor ().instrument (
209+ tracer_provider = trace_api .NoOpTracerProvider ()
210+ )
211+
212+ sqs = self ._make_client ("sqs" )
213+ sqs .list_queues ()
214+
215+ spans_list = self .memory_exporter .get_finished_spans ()
216+ self .assertEqual (len (spans_list ), 0 )
217+
179218 @mock_aws
180219 def test_sqs_send_message (self ):
181220 sqs = self ._make_client ("sqs" )
@@ -204,6 +243,19 @@ def test_kinesis_client(self):
204243 kinesis .list_streams ()
205244 self .assert_span ("Kinesis" , "ListStreams" )
206245
246+ @mock_aws
247+ def test_no_op_tracer_provider_kinesis (self ):
248+ BotocoreInstrumentor ().uninstrument ()
249+ BotocoreInstrumentor ().instrument (
250+ tracer_provider = trace_api .NoOpTracerProvider ()
251+ )
252+
253+ kinesis = self ._make_client ("kinesis" )
254+ kinesis .list_streams ()
255+
256+ spans_list = self .memory_exporter .get_finished_spans ()
257+ self .assertEqual (len (spans_list ), 0 )
258+
207259 @mock_aws
208260 def test_unpatch (self ):
209261 kinesis = self ._make_client ("kinesis" )
@@ -213,6 +265,19 @@ def test_unpatch(self):
213265 kinesis .list_streams ()
214266 self .assertEqual (0 , len (self .memory_exporter .get_finished_spans ()))
215267
268+ @mock_aws
269+ def test_no_op_tracer_provider_kms (self ):
270+ BotocoreInstrumentor ().uninstrument ()
271+ BotocoreInstrumentor ().instrument (
272+ tracer_provider = trace_api .NoOpTracerProvider ()
273+ )
274+
275+ kms = self ._make_client ("kms" )
276+ kms .list_keys (Limit = 21 )
277+
278+ spans_list = self .memory_exporter .get_finished_spans ()
279+ self .assertEqual (len (spans_list ), 0 )
280+
216281 @mock_aws
217282 def test_uninstrument_does_not_inject_headers (self ):
218283 headers = {}
@@ -268,6 +333,19 @@ def test_sts_client(self):
268333 # check for exact attribute set to make sure not to leak any sts secrets
269334 self .assertEqual (expected , dict (span .attributes ))
270335
336+ @mock_aws
337+ def test_no_op_tracer_provider_sts (self ):
338+ BotocoreInstrumentor ().uninstrument ()
339+ BotocoreInstrumentor ().instrument (
340+ tracer_provider = trace_api .NoOpTracerProvider ()
341+ )
342+
343+ sts = self ._make_client ("sts" )
344+ sts .get_caller_identity ()
345+
346+ spans_list = self .memory_exporter .get_finished_spans ()
347+ self .assertEqual (len (spans_list ), 0 )
348+
271349 @mock_aws
272350 def test_propagator_injects_into_request (self ):
273351 headers = {}
@@ -308,6 +386,19 @@ def check_headers(**kwargs):
308386 finally :
309387 set_global_textmap (previous_propagator )
310388
389+ @mock_aws
390+ def test_no_op_tracer_provider_xray (self ):
391+ BotocoreInstrumentor ().uninstrument ()
392+ BotocoreInstrumentor ().instrument (
393+ tracer_provider = trace_api .NoOpTracerProvider ()
394+ )
395+
396+ xray_client = self ._make_client ("xray" )
397+ xray_client .put_trace_segments (TraceSegmentDocuments = ["str1" ])
398+
399+ spans_list = self .memory_exporter .get_finished_spans ()
400+ self .assertEqual (len (spans_list ), 0 )
401+
311402 @mock_aws
312403 def test_override_xray_propagator_injects_into_request (self ):
313404 headers = {}
0 commit comments