@@ -103,6 +103,19 @@ def test_traced_client(self):
103
103
request_id = "fdcdcab1-ae5c-489e-9c33-4637c5dda355"
104
104
self .assert_span ("EC2" , "DescribeInstances" , request_id = request_id )
105
105
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
+
106
119
@mock_aws
107
120
def test_not_recording (self ):
108
121
mock_tracer = Mock ()
@@ -148,6 +161,19 @@ def test_s3_client(self):
148
161
s3 .list_buckets ()
149
162
self .assert_span ("S3" , "ListBuckets" )
150
163
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
+
151
177
@mock_aws
152
178
def test_s3_put (self ):
153
179
s3 = self ._make_client ("s3" )
@@ -176,6 +202,19 @@ def test_sqs_client(self):
176
202
"SQS" , "ListQueues" , request_id = _REQUEST_ID_REGEX_MATCH
177
203
)
178
204
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
+
179
218
@mock_aws
180
219
def test_sqs_send_message (self ):
181
220
sqs = self ._make_client ("sqs" )
@@ -204,6 +243,19 @@ def test_kinesis_client(self):
204
243
kinesis .list_streams ()
205
244
self .assert_span ("Kinesis" , "ListStreams" )
206
245
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
+
207
259
@mock_aws
208
260
def test_unpatch (self ):
209
261
kinesis = self ._make_client ("kinesis" )
@@ -213,6 +265,19 @@ def test_unpatch(self):
213
265
kinesis .list_streams ()
214
266
self .assertEqual (0 , len (self .memory_exporter .get_finished_spans ()))
215
267
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
+
216
281
@mock_aws
217
282
def test_uninstrument_does_not_inject_headers (self ):
218
283
headers = {}
@@ -268,6 +333,19 @@ def test_sts_client(self):
268
333
# check for exact attribute set to make sure not to leak any sts secrets
269
334
self .assertEqual (expected , dict (span .attributes ))
270
335
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
+
271
349
@mock_aws
272
350
def test_propagator_injects_into_request (self ):
273
351
headers = {}
@@ -308,6 +386,19 @@ def check_headers(**kwargs):
308
386
finally :
309
387
set_global_textmap (previous_propagator )
310
388
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
+
311
402
@mock_aws
312
403
def test_override_xray_propagator_injects_into_request (self ):
313
404
headers = {}
0 commit comments