def _extract_logs( self, span: ReadableSpan) -> Optional[Sequence[TCollector.Log]]: """Returns jaeger logs if events exists, otherwise None. Args: span: span to extract logs """ if not span.events: return None logs = [] for event in span.events: fields = [] for key, value in event.attributes.items(): tag = _translate_attribute(key, value) if tag: fields.append(tag) fields.append( TCollector.Tag( key="message", vType=TCollector.TagType.STRING, vStr=event.name, )) event_timestamp_us = _nsec_to_usec_round(event.timestamp) logs.append( TCollector.Log(timestamp=int(event_timestamp_us), fields=fields)) return logs
def _extract_logs_from_span(span): if not span.events: return None logs = [] for event in span.events: fields = _extract_tags(event.attributes) fields.append( jaeger.Tag(key="message", vType=jaeger.TagType.STRING, vStr=event.name)) event_timestamp_us = _nsec_to_usec_round(event.timestamp) logs.append( jaeger.Log(timestamp=int(event_timestamp_us), fields=fields)) return logs