Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def add_event(
self,
name: str,
attributes: types.Attributes = None,
timestamp: Optional[int] = None,
) -> None:
self.add_lazy_event(
trace_api.Event(
name,
Span.empty_attributes if attributes is None else attributes,
time_ns() if timestamp is None else timestamp,
)
parent_context,
context.trace_id,
context.span_id,
name,
attributes,
links,
)
if sampling_decision.sampled:
if attributes is None:
span_attributes = sampling_decision.attributes
else:
# apply sampling decision attributes after initial attributes
span_attributes = attributes.copy()
span_attributes.update(sampling_decision.attributes)
span = Span(
name=name,
context=context,
parent=parent,
sampler=self.source.sampler,
attributes=span_attributes,
span_processor=self.source._active_span_processor, # pylint:disable=protected-access
kind=kind,
links=links,
instrumentation_info=self.instrumentation_info,
set_status_on_exception=set_status_on_exception,
)
span.start(start_time=start_time)
else:
span = trace_api.DefaultSpan(context=context)
return span