py_zipkin/encoding/protobuf/__init__.py
def create_protobuf_span(span):
    """Converts a py_zipkin Span in a protobuf Span.

    :param span: py_zipkin Span to convert.
    :type span: py_zipkin.encoding.Span
    :return: protobuf's Span
    :rtype: zipkin_pb2.Span
    """

    # Protobuf's composite types (i.e. Span's local_endpoint) are immutable.
    # So we can't create a zipkin_pb2.Span here and then set the appropriate
    # fields since `pb_span.local_endpoint = zipkin_pb2.Endpoint` fails.
    # Instead we just create the kwargs and pass them in to the Span constructor.
    pb_kwargs = {}

    pb_kwargs['trace_id'] = _hex_to_bytes(span.trace_id)

    if span.parent_id:
        pb_kwargs['parent_id'] = _hex_to_bytes(span.parent_id)

    pb_kwargs['id'] = _hex_to_bytes(span.span_id)

    pb_kind = _get_protobuf_kind(span.kind)
    if pb_kind:
        pb_kwargs['kind'] = pb_kind

    if span.name:
        pb_kwargs['name'] = span.name
    if span.timestamp:
        pb_kwargs['timestamp'] = int(span.timestamp * 1000 * 1000)
    if span.duration:
        pb_kwargs['duration'] = int(span.duration * 1000 * 1000)

    if span.local_endpoint:
        pb_kwargs['local_endpoint'] = _convert_endpoint(span.local_endpoint)

    if span.remote_endpoint:
        pb_kwargs['remote_endpoint'] = _convert_endpoint(span.remote_endpoint)

    if len(span.annotations) > 0:
        pb_kwargs['annotations'] = _convert_annotations(span.annotations)

    if len(span.tags) > 0:
        pb_kwargs['tags'] = span.tags

    if span.debug:
        pb_kwargs['debug'] = span.debug

    if span.shared:
        pb_kwargs['shared'] = span.shared

    return zipkin_pb2.Span(**pb_kwargs)
def create_protobuf_span(span):
    # Protobuf's composite types (i.e. Span's local_endpoint) are immutable.
    # So we can't create a zipkin_pb2.Span here and then set the appropriate
    # fields since `pb_span.local_endpoint = zipkin_pb2.Endpoint` fails.
    # Instead we just create the kwargs and pass them in to the Span constructor.
    pb_kwargs = {}

    pb_kwargs['trace_id'] = _hex_to_bytes(span.trace_id)

    if span.parent_id:
        pb_kwargs['parent_id'] = _hex_to_bytes(span.parent_id)

    pb_kwargs['id'] = _hex_to_bytes(span.span_id)

    pb_kind = _get_protobuf_kind(span.kind)
    if pb_kind:
        pb_kwargs['kind'] = pb_kind

    if span.name:
        pb_kwargs['name'] = span.name
    if span.timestamp:
        pb_kwargs['timestamp'] = int(span.timestamp * 1000 * 1000)
    if span.duration:
        pb_kwargs['duration'] = int(span.duration * 1000 * 1000)

    if span.local_endpoint:
        pb_kwargs['local_endpoint'] = _convert_endpoint(span.local_endpoint)

    if span.remote_endpoint:
        pb_kwargs['remote_endpoint'] = _convert_endpoint(span.remote_endpoint)

    if len(span.annotations) > 0:
        pb_kwargs['annotations'] = _convert_annotations(span.annotations)

    if len(span.tags) > 0:
        pb_kwargs['tags'] = span.tags

    if span.debug:
        pb_kwargs['debug'] = span.debug

    if span.shared:
        pb_kwargs['shared'] = span.shared

    return zipkin_pb2.Span(**pb_kwargs)
def create_protobuf_span ( span ) : # Protobuf's composite types (i.e. Span's local_endpoint) are immutable. # So we can't create a zipkin_pb2.Span here and then set the appropriate # fields since `pb_span.local_endpoint = zipkin_pb2.Endpoint` fails. # Instead we just create the kwargs and pass them in to the Span constructor. pb_kwargs = { } pb_kwargs [ 'trace_id' ] = _hex_to_bytes ( span . trace_id ) if span . parent_id : pb_kwargs [ 'parent_id' ] = _hex_to_bytes ( span . parent_id ) pb_kwargs [ 'id' ] = _hex_to_bytes ( span . span_id ) pb_kind = _get_protobuf_kind ( span . kind ) if pb_kind : pb_kwargs [ 'kind' ] = pb_kind if span . name : pb_kwargs [ 'name' ] = span . name if span . timestamp : pb_kwargs [ 'timestamp' ] = int ( span . timestamp * 1000 * 1000 ) if span . duration : pb_kwargs [ 'duration' ] = int ( span . duration * 1000 * 1000 ) if span . local_endpoint : pb_kwargs [ 'local_endpoint' ] = _convert_endpoint ( span . local_endpoint ) if span . remote_endpoint : pb_kwargs [ 'remote_endpoint' ] = _convert_endpoint ( span . remote_endpoint ) if len ( span . annotations ) > 0 : pb_kwargs [ 'annotations' ] = _convert_annotations ( span . annotations ) if len ( span . tags ) > 0 : pb_kwargs [ 'tags' ] = span . tags if span . debug : pb_kwargs [ 'debug' ] = span . debug if span . shared : pb_kwargs [ 'shared' ] = span . shared return zipkin_pb2 . Span ( * * pb_kwargs )
Converts a py_zipkin Span in a protobuf Span.

    :param span: py_zipkin Span to convert.
    :type span: py_zipkin.encoding.Span
    :return: protobuf's Span
    :rtype: zipkin_pb2.Span
Converts a py_zipkin Span in a protobuf Span .