Esempio n. 1
0
    def __init__(
        self,
        id=None,
        flags=FlagsType.none,
        ttl=DEFAULT_TIMEOUT,
        tracing=None,
        service=None,
        headers=None,  # transport headers
        checksum=None,
        argstreams=None,
        serializer=None,
        endpoint=None,
    ):
        self.flags = flags
        self.ttl = ttl
        self.service = service
        self.tracing = tracing or common.random_tracing()
        # argstreams is a list of InMemStream/PipeStream objects
        self.argstreams = argstreams or [InMemStream(), InMemStream(), InMemStream()]
        self.checksum = checksum or (ChecksumType.crc32c, 0)
        self.id = id
        self.headers = headers or {}
        self.state = StreamState.init
        self.serializer = serializer or RawSerializer()

        self.is_streaming_request = self._is_streaming_request()
        if not self.is_streaming_request:
            self._copy_argstreams = [self.argstreams[0].clone(), self.argstreams[1].clone(), self.argstreams[2].clone()]

        self.endpoint = endpoint or ""
Esempio n. 2
0
 def rewind(self, id=None):
     self.id = id
     if not self.is_streaming_request:
         self.argstreams = [
             self._copy_argstreams[0].clone(),
             self._copy_argstreams[1].clone(),
             self._copy_argstreams[2].clone(),
         ]
     self.state = StreamState.init
     self.tracing = common.random_tracing()
 def rewind(self, id=None):
     self.id = id
     if not self.is_streaming_request:
         self.argstreams = [
             self._copy_argstreams[0].clone(),
             self._copy_argstreams[1].clone(),
             self._copy_argstreams[2].clone(),
         ]
     self.state = StreamState.init
     self.tracing = common.random_tracing()
Esempio n. 4
0
def span_to_tracing_field(span):
    """
    Inject the span into Trace field, if Zipkin format is supported
    :param span: OpenTracing Span
    """
    if span is None:
        return common.random_tracing()
    # noinspection PyBroadException
    try:
        carrier = {}
        span.tracer.inject(span, ZIPKIN_SPAN_FORMAT, carrier)
        tracing = Tracing(span_id=carrier['span_id'],
                          trace_id=carrier['trace_id'],
                          parent_id=carrier['parent_id'] or int(0),
                          traceflags=carrier['traceflags'])
        return tracing
    except opentracing.UnsupportedFormatException:
        pass  # tracer might not support Zipkin format
    except:
        log.exception('Failed to inject tracing span into headers')
    return common.random_tracing()
    def __init__(
        self,
        id=None,
        flags=FlagsType.none,
        ttl=DEFAULT_TIMEOUT,
        tracing=None,
        service=None,
        headers=None,  # transport headers
        checksum=None,
        argstreams=None,
        serializer=None,
        endpoint=None,
    ):
        self.flags = flags
        self.ttl = ttl
        self.service = service
        self.tracing = tracing or common.random_tracing()
        # argstreams is a list of InMemStream/PipeStream objects
        self.argstreams = argstreams or [
            InMemStream(), InMemStream(),
            InMemStream()
        ]
        self.checksum = checksum or (ChecksumType.crc32c, 0)
        self.id = id
        self.headers = headers or {}
        self.state = StreamState.init
        self.serializer = serializer or RawSerializer()

        self.is_streaming_request = self._is_streaming_request()
        if not self.is_streaming_request:
            self._copy_argstreams = [
                self.argstreams[0].clone(),
                self.argstreams[1].clone(),
                self.argstreams[2].clone(),
            ]

        self.endpoint = endpoint or ""