py_zipkin/encoding/_decoders.py
def _decode_thrift_annotations(self, thrift_annotations):
        """Accepts a thrift annotation and converts it to a v1 annotation.

        :param thrift_annotations: list of thrift annotations.
        :type thrift_annotations: list of zipkin_core.Span.Annotation
        :returns: (annotations, local_endpoint, kind)
        """
        local_endpoint = None
        kind = Kind.LOCAL
        all_annotations = {}
        timestamp = None
        duration = None

        for thrift_annotation in thrift_annotations:
            all_annotations[thrift_annotation.value] = thrift_annotation.timestamp
            if thrift_annotation.host:
                local_endpoint = self._convert_from_thrift_endpoint(
                    thrift_annotation.host,
                )

        if 'cs' in all_annotations and 'sr' not in all_annotations:
            kind = Kind.CLIENT
            timestamp = all_annotations['cs']
            duration = all_annotations['cr'] - all_annotations['cs']
        elif 'cs' not in all_annotations and 'sr' in all_annotations:
            kind = Kind.SERVER
            timestamp = all_annotations['sr']
            duration = all_annotations['ss'] - all_annotations['sr']

        annotations = {
            name: self.seconds(ts) for name, ts in all_annotations.items()
            if name not in _DROP_ANNOTATIONS
        }

        return annotations, local_endpoint, kind, timestamp, duration
def _decode_thrift_annotations(self, thrift_annotations):
        local_endpoint = None
        kind = Kind.LOCAL
        all_annotations = {}
        timestamp = None
        duration = None

        for thrift_annotation in thrift_annotations:
            all_annotations[thrift_annotation.value] = thrift_annotation.timestamp
            if thrift_annotation.host:
                local_endpoint = self._convert_from_thrift_endpoint(
                    thrift_annotation.host,
                )

        if 'cs' in all_annotations and 'sr' not in all_annotations:
            kind = Kind.CLIENT
            timestamp = all_annotations['cs']
            duration = all_annotations['cr'] - all_annotations['cs']
        elif 'cs' not in all_annotations and 'sr' in all_annotations:
            kind = Kind.SERVER
            timestamp = all_annotations['sr']
            duration = all_annotations['ss'] - all_annotations['sr']

        annotations = {
            name: self.seconds(ts) for name, ts in all_annotations.items()
            if name not in _DROP_ANNOTATIONS
        }

        return annotations, local_endpoint, kind, timestamp, duration
def _decode_thrift_annotations ( self , thrift_annotations ) : local_endpoint = None kind = Kind . LOCAL all_annotations = { } timestamp = None duration = None for thrift_annotation in thrift_annotations : all_annotations [ thrift_annotation . value ] = thrift_annotation . timestamp if thrift_annotation . host : local_endpoint = self . _convert_from_thrift_endpoint ( thrift_annotation . host , ) if 'cs' in all_annotations and 'sr' not in all_annotations : kind = Kind . CLIENT timestamp = all_annotations [ 'cs' ] duration = all_annotations [ 'cr' ] - all_annotations [ 'cs' ] elif 'cs' not in all_annotations and 'sr' in all_annotations : kind = Kind . SERVER timestamp = all_annotations [ 'sr' ] duration = all_annotations [ 'ss' ] - all_annotations [ 'sr' ] annotations = { name : self . seconds ( ts ) for name , ts in all_annotations . items ( ) if name not in _DROP_ANNOTATIONS } return annotations , local_endpoint , kind , timestamp , duration
Accepts a thrift annotation and converts it to a v1 annotation.

        :param thrift_annotations: list of thrift annotations.
        :type thrift_annotations: list of zipkin_core.Span.Annotation
        :returns: (annotations, local_endpoint, kind)
Accepts a thrift annotation and converts it to a v1 annotation .