@@ -284,6 +284,8 @@ def get_context(self):
284
284
285
285
def set_attribute (self , key : str , value : types .AttributeValue ) -> None :
286
286
with self ._lock :
287
+ if not self .is_recording_events ():
288
+ return
287
289
has_ended = self .end_time is not None
288
290
if not has_ended :
289
291
if self .attributes is Span .empty_attributes :
@@ -302,6 +304,8 @@ def add_event(
302
304
303
305
def add_lazy_event (self , event : trace_api .Event ) -> None :
304
306
with self ._lock :
307
+ if not self .is_recording_events ():
308
+ return
305
309
has_ended = self .end_time is not None
306
310
if not has_ended :
307
311
if self .events is Span .empty_events :
@@ -322,6 +326,8 @@ def add_link(
322
326
323
327
def add_lazy_link (self , link : "trace_api.Link" ) -> None :
324
328
with self ._lock :
329
+ if not self .is_recording_events ():
330
+ return
325
331
has_ended = self .end_time is not None
326
332
if not has_ended :
327
333
if self .links is Span .empty_links :
@@ -333,6 +339,8 @@ def add_lazy_link(self, link: "trace_api.Link") -> None:
333
339
334
340
def start (self ):
335
341
with self ._lock :
342
+ if not self .is_recording_events ():
343
+ return
336
344
has_started = self .start_time is not None
337
345
if not has_started :
338
346
self .start_time = util .time_ns ()
@@ -343,6 +351,8 @@ def start(self):
343
351
344
352
def end (self ):
345
353
with self ._lock :
354
+ if not self .is_recording_events ():
355
+ return
346
356
if self .start_time is None :
347
357
raise RuntimeError ("Calling end() on a not started span." )
348
358
has_ended = self .end_time is not None
@@ -362,6 +372,9 @@ def update_name(self, name: str) -> None:
362
372
return
363
373
self .name = name
364
374
375
+ def is_recording_events (self ) -> bool :
376
+ return True
377
+
365
378
366
379
def generate_span_id ():
367
380
"""Get a new random span ID.
0 commit comments