def _encode_span(self, span: Span, encoded_local_endpoint: Dict) -> Dict: context = span.get_span_context() encoded_span = { "traceId": self._encode_trace_id(context.trace_id), "id": self._encode_span_id(context.span_id), "name": span.name, "timestamp": self._nsec_to_usec_round(span.start_time), "duration": self._nsec_to_usec_round(span.end_time - span.start_time), } encoded_annotations = self._extract_annotations_from_events( span.events) if encoded_annotations is not None: for annotation in encoded_annotations: annotation["endpoint"] = encoded_local_endpoint encoded_span["annotations"] = encoded_annotations binary_annotations = self._extract_binary_annotations( span, encoded_local_endpoint) if binary_annotations: encoded_span["binaryAnnotations"] = binary_annotations debug = self._encode_debug(context) if debug: encoded_span["debug"] = debug parent_id = self._get_parent_id(span.parent) if parent_id is not None: encoded_span["parentId"] = self._encode_span_id(parent_id) return encoded_span
def _encode_span(self, span: Span, encoded_local_endpoint: Dict) -> Dict: context = span.get_span_context() encoded_span = { "traceId": self._encode_trace_id(context.trace_id), "id": self._encode_span_id(context.span_id), "name": span.name, "timestamp": self._nsec_to_usec_round(span.start_time), "duration": self._nsec_to_usec_round( span.end_time - span.start_time ), "localEndpoint": encoded_local_endpoint, "kind": self.SPAN_KIND_MAP[span.kind], } tags = self._extract_tags_from_span(span) if tags: encoded_span["tags"] = tags annotations = self._extract_annotations_from_events(span.events) if annotations: encoded_span["annotations"] = annotations debug = self._encode_debug(context) if debug: encoded_span["debug"] = debug parent_id = self._get_parent_id(span.parent) if parent_id is not None: encoded_span["parentId"] = self._encode_span_id(parent_id) return encoded_span
def _encode_span( self, span: Span, encoded_local_endpoint: zipkin_pb2.Endpoint ) -> zipkin_pb2.Span: context = span.get_span_context() # pylint: disable=no-member encoded_span = zipkin_pb2.Span( trace_id=self._encode_trace_id(context.trace_id), id=self._encode_span_id(context.span_id), name=span.name, timestamp=self._nsec_to_usec_round(span.start_time), duration=self._nsec_to_usec_round(span.end_time - span.start_time), local_endpoint=encoded_local_endpoint, kind=self.SPAN_KIND_MAP[span.kind], ) tags = self._extract_tags_from_span(span) if tags: encoded_span.tags.update(tags) annotations = self._encode_annotations(span.events) if annotations: encoded_span.annotations.extend(annotations) debug = self._encode_debug(context) if debug: encoded_span.debug = debug parent_id = self._get_parent_id(span.parent) if parent_id is not None: encoded_span.parent_id = self._encode_span_id(parent_id) return encoded_span