# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/devtools/cloudtrace_v2/proto/trace.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/devtools/cloudtrace_v2/proto/trace.proto',
  package='google.devtools.cloudtrace.v2',
  syntax='proto3',
  serialized_pb=_b('\n/google/devtools/cloudtrace_v2/proto/trace.proto\x12\x1dgoogle.devtools.cloudtrace.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\xc5\x0f\n\x04Span\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07span_id\x18\x02 \x01(\t\x12\x16\n\x0eparent_span_id\x18\x03 \x01(\t\x12\x46\n\x0c\x64isplay_name\x18\x04 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12.\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\nattributes\x18\x07 \x01(\x0b\x32..google.devtools.cloudtrace.v2.Span.Attributes\x12>\n\x0bstack_trace\x18\x08 \x01(\x0b\x32).google.devtools.cloudtrace.v2.StackTrace\x12\x43\n\x0btime_events\x18\t \x01(\x0b\x32..google.devtools.cloudtrace.v2.Span.TimeEvents\x12\x38\n\x05links\x18\n \x01(\x0b\x32).google.devtools.cloudtrace.v2.Span.Links\x12\"\n\x06status\x18\x0b \x01(\x0b\x32\x12.google.rpc.Status\x12?\n\x1bsame_process_as_parent_span\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x35\n\x10\x63hild_span_count\x18\r \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x1a\xeb\x01\n\nAttributes\x12W\n\rattribute_map\x18\x01 \x03(\x0b\x32@.google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry\x12 \n\x18\x64ropped_attributes_count\x18\x02 \x01(\x05\x1a\x62\n\x11\x41ttributeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12<\n\x05value\x18\x02 \x01(\x0b\x32-.google.devtools.cloudtrace.v2.AttributeValue:\x02\x38\x01\x1a\xdf\x04\n\tTimeEvent\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12N\n\nannotation\x18\x02 \x01(\x0b\x32\x38.google.devtools.cloudtrace.v2.Span.TimeEvent.AnnotationH\x00\x12S\n\rmessage_event\x18\x03 \x01(\x0b\x32:.google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEventH\x00\x1a\x97\x01\n\nAnnotation\x12\x45\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12\x42\n\nattributes\x18\x02 \x01(\x0b\x32..google.devtools.cloudtrace.v2.Span.Attributes\x1a\xdf\x01\n\x0cMessageEvent\x12M\n\x04type\x18\x01 \x01(\x0e\x32?.google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.Type\x12\n\n\x02id\x18\x02 \x01(\x03\x12\x1f\n\x17uncompressed_size_bytes\x18\x03 \x01(\x03\x12\x1d\n\x15\x63ompressed_size_bytes\x18\x04 \x01(\x03\"4\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04SENT\x10\x01\x12\x0c\n\x08RECEIVED\x10\x02\x42\x07\n\x05value\x1a\x98\x01\n\nTimeEvents\x12\x41\n\ntime_event\x18\x01 \x03(\x0b\x32-.google.devtools.cloudtrace.v2.Span.TimeEvent\x12!\n\x19\x64ropped_annotations_count\x18\x02 \x01(\x05\x12$\n\x1c\x64ropped_message_events_count\x18\x03 \x01(\x05\x1a\xf7\x01\n\x04Link\x12\x10\n\x08trace_id\x18\x01 \x01(\t\x12\x0f\n\x07span_id\x18\x02 \x01(\t\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.google.devtools.cloudtrace.v2.Span.Link.Type\x12\x42\n\nattributes\x18\x04 \x01(\x0b\x32..google.devtools.cloudtrace.v2.Span.Attributes\"K\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x43HILD_LINKED_SPAN\x10\x01\x12\x16\n\x12PARENT_LINKED_SPAN\x10\x02\x1a\\\n\x05Links\x12\x36\n\x04link\x18\x01 \x03(\x0b\x32(.google.devtools.cloudtrace.v2.Span.Link\x12\x1b\n\x13\x64ropped_links_count\x18\x02 \x01(\x05\"\x8e\x01\n\x0e\x41ttributeValue\x12H\n\x0cstring_value\x18\x01 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableStringH\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value\"\x89\x05\n\nStackTrace\x12K\n\x0cstack_frames\x18\x01 \x01(\x0b\x32\x35.google.devtools.cloudtrace.v2.StackTrace.StackFrames\x12\x1b\n\x13stack_trace_hash_id\x18\x02 \x01(\x03\x1a\x9e\x03\n\nStackFrame\x12G\n\rfunction_name\x18\x01 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12P\n\x16original_function_name\x18\x02 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12\x43\n\tfile_name\x18\x03 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12\x13\n\x0bline_number\x18\x04 \x01(\x03\x12\x15\n\rcolumn_number\x18\x05 \x01(\x03\x12:\n\x0bload_module\x18\x06 \x01(\x0b\x32%.google.devtools.cloudtrace.v2.Module\x12H\n\x0esource_version\x18\x07 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x1ap\n\x0bStackFrames\x12\x43\n\x05\x66rame\x18\x01 \x03(\x0b\x32\x34.google.devtools.cloudtrace.v2.StackTrace.StackFrame\x12\x1c\n\x14\x64ropped_frames_count\x18\x02 \x01(\x05\"\x8e\x01\n\x06Module\x12@\n\x06module\x18\x01 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\x12\x42\n\x08\x62uild_id\x18\x02 \x01(\x0b\x32\x30.google.devtools.cloudtrace.v2.TruncatableString\"@\n\x11TruncatableString\x12\r\n\x05value\x18\x01 \x01(\t\x12\x1c\n\x14truncated_byte_count\x18\x02 \x01(\x05\x42\x92\x01\n!com.google.devtools.cloudtrace.v2B\nTraceProtoP\x01ZGgoogle.golang.org/genproto/googleapis/devtools/cloudtrace/v2;cloudtrace\xaa\x02\x15Google.Cloud.Trace.V2b\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,])



_SPAN_TIMEEVENT_MESSAGEEVENT_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SENT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RECEIVED', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1632,
  serialized_end=1684,
)
_sym_db.RegisterEnumDescriptor(_SPAN_TIMEEVENT_MESSAGEEVENT_TYPE)

_SPAN_LINK_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='google.devtools.cloudtrace.v2.Span.Link.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHILD_LINKED_SPAN', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PARENT_LINKED_SPAN', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2023,
  serialized_end=2098,
)
_sym_db.RegisterEnumDescriptor(_SPAN_LINK_TYPE)


_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY = _descriptor.Descriptor(
  name='AttributeMapEntry',
  full_name='google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=985,
  serialized_end=1083,
)

_SPAN_ATTRIBUTES = _descriptor.Descriptor(
  name='Attributes',
  full_name='google.devtools.cloudtrace.v2.Span.Attributes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='attribute_map', full_name='google.devtools.cloudtrace.v2.Span.Attributes.attribute_map', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dropped_attributes_count', full_name='google.devtools.cloudtrace.v2.Span.Attributes.dropped_attributes_count', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=848,
  serialized_end=1083,
)

_SPAN_TIMEEVENT_ANNOTATION = _descriptor.Descriptor(
  name='Annotation',
  full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='description', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation.description', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='attributes', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation.attributes', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1307,
  serialized_end=1458,
)

_SPAN_TIMEEVENT_MESSAGEEVENT = _descriptor.Descriptor(
  name='MessageEvent',
  full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='id', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.id', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='uncompressed_size_bytes', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.uncompressed_size_bytes', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='compressed_size_bytes', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.compressed_size_bytes', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SPAN_TIMEEVENT_MESSAGEEVENT_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1461,
  serialized_end=1684,
)

_SPAN_TIMEEVENT = _descriptor.Descriptor(
  name='TimeEvent',
  full_name='google.devtools.cloudtrace.v2.Span.TimeEvent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='time', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.time', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='annotation', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.annotation', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='message_event', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.message_event', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_SPAN_TIMEEVENT_ANNOTATION, _SPAN_TIMEEVENT_MESSAGEEVENT, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='google.devtools.cloudtrace.v2.Span.TimeEvent.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1086,
  serialized_end=1693,
)

_SPAN_TIMEEVENTS = _descriptor.Descriptor(
  name='TimeEvents',
  full_name='google.devtools.cloudtrace.v2.Span.TimeEvents',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='time_event', full_name='google.devtools.cloudtrace.v2.Span.TimeEvents.time_event', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dropped_annotations_count', full_name='google.devtools.cloudtrace.v2.Span.TimeEvents.dropped_annotations_count', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dropped_message_events_count', full_name='google.devtools.cloudtrace.v2.Span.TimeEvents.dropped_message_events_count', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1696,
  serialized_end=1848,
)

_SPAN_LINK = _descriptor.Descriptor(
  name='Link',
  full_name='google.devtools.cloudtrace.v2.Span.Link',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='trace_id', full_name='google.devtools.cloudtrace.v2.Span.Link.trace_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='span_id', full_name='google.devtools.cloudtrace.v2.Span.Link.span_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='type', full_name='google.devtools.cloudtrace.v2.Span.Link.type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='attributes', full_name='google.devtools.cloudtrace.v2.Span.Link.attributes', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SPAN_LINK_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1851,
  serialized_end=2098,
)

_SPAN_LINKS = _descriptor.Descriptor(
  name='Links',
  full_name='google.devtools.cloudtrace.v2.Span.Links',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='link', full_name='google.devtools.cloudtrace.v2.Span.Links.link', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dropped_links_count', full_name='google.devtools.cloudtrace.v2.Span.Links.dropped_links_count', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2100,
  serialized_end=2192,
)

_SPAN = _descriptor.Descriptor(
  name='Span',
  full_name='google.devtools.cloudtrace.v2.Span',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.devtools.cloudtrace.v2.Span.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='span_id', full_name='google.devtools.cloudtrace.v2.Span.span_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='parent_span_id', full_name='google.devtools.cloudtrace.v2.Span.parent_span_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='display_name', full_name='google.devtools.cloudtrace.v2.Span.display_name', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='start_time', full_name='google.devtools.cloudtrace.v2.Span.start_time', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='end_time', full_name='google.devtools.cloudtrace.v2.Span.end_time', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='attributes', full_name='google.devtools.cloudtrace.v2.Span.attributes', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stack_trace', full_name='google.devtools.cloudtrace.v2.Span.stack_trace', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_events', full_name='google.devtools.cloudtrace.v2.Span.time_events', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='links', full_name='google.devtools.cloudtrace.v2.Span.links', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='status', full_name='google.devtools.cloudtrace.v2.Span.status', index=10,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='same_process_as_parent_span', full_name='google.devtools.cloudtrace.v2.Span.same_process_as_parent_span', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='child_span_count', full_name='google.devtools.cloudtrace.v2.Span.child_span_count', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_SPAN_ATTRIBUTES, _SPAN_TIMEEVENT, _SPAN_TIMEEVENTS, _SPAN_LINK, _SPAN_LINKS, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=203,
  serialized_end=2192,
)


_ATTRIBUTEVALUE = _descriptor.Descriptor(
  name='AttributeValue',
  full_name='google.devtools.cloudtrace.v2.AttributeValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='string_value', full_name='google.devtools.cloudtrace.v2.AttributeValue.string_value', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='int_value', full_name='google.devtools.cloudtrace.v2.AttributeValue.int_value', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bool_value', full_name='google.devtools.cloudtrace.v2.AttributeValue.bool_value', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='google.devtools.cloudtrace.v2.AttributeValue.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2195,
  serialized_end=2337,
)


_STACKTRACE_STACKFRAME = _descriptor.Descriptor(
  name='StackFrame',
  full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='function_name', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.function_name', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='original_function_name', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.original_function_name', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='file_name', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.file_name', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='line_number', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.line_number', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='column_number', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.column_number', index=4,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='load_module', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.load_module', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source_version', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrame.source_version', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2461,
  serialized_end=2875,
)

_STACKTRACE_STACKFRAMES = _descriptor.Descriptor(
  name='StackFrames',
  full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrames',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='frame', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrames.frame', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dropped_frames_count', full_name='google.devtools.cloudtrace.v2.StackTrace.StackFrames.dropped_frames_count', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2877,
  serialized_end=2989,
)

_STACKTRACE = _descriptor.Descriptor(
  name='StackTrace',
  full_name='google.devtools.cloudtrace.v2.StackTrace',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='stack_frames', full_name='google.devtools.cloudtrace.v2.StackTrace.stack_frames', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stack_trace_hash_id', full_name='google.devtools.cloudtrace.v2.StackTrace.stack_trace_hash_id', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_STACKTRACE_STACKFRAME, _STACKTRACE_STACKFRAMES, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2340,
  serialized_end=2989,
)


_MODULE = _descriptor.Descriptor(
  name='Module',
  full_name='google.devtools.cloudtrace.v2.Module',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='module', full_name='google.devtools.cloudtrace.v2.Module.module', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='build_id', full_name='google.devtools.cloudtrace.v2.Module.build_id', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2992,
  serialized_end=3134,
)


_TRUNCATABLESTRING = _descriptor.Descriptor(
  name='TruncatableString',
  full_name='google.devtools.cloudtrace.v2.TruncatableString',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='google.devtools.cloudtrace.v2.TruncatableString.value', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='truncated_byte_count', full_name='google.devtools.cloudtrace.v2.TruncatableString.truncated_byte_count', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3136,
  serialized_end=3200,
)

_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY.fields_by_name['value'].message_type = _ATTRIBUTEVALUE
_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY.containing_type = _SPAN_ATTRIBUTES
_SPAN_ATTRIBUTES.fields_by_name['attribute_map'].message_type = _SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY
_SPAN_ATTRIBUTES.containing_type = _SPAN
_SPAN_TIMEEVENT_ANNOTATION.fields_by_name['description'].message_type = _TRUNCATABLESTRING
_SPAN_TIMEEVENT_ANNOTATION.fields_by_name['attributes'].message_type = _SPAN_ATTRIBUTES
_SPAN_TIMEEVENT_ANNOTATION.containing_type = _SPAN_TIMEEVENT
_SPAN_TIMEEVENT_MESSAGEEVENT.fields_by_name['type'].enum_type = _SPAN_TIMEEVENT_MESSAGEEVENT_TYPE
_SPAN_TIMEEVENT_MESSAGEEVENT.containing_type = _SPAN_TIMEEVENT
_SPAN_TIMEEVENT_MESSAGEEVENT_TYPE.containing_type = _SPAN_TIMEEVENT_MESSAGEEVENT
_SPAN_TIMEEVENT.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_SPAN_TIMEEVENT.fields_by_name['annotation'].message_type = _SPAN_TIMEEVENT_ANNOTATION
_SPAN_TIMEEVENT.fields_by_name['message_event'].message_type = _SPAN_TIMEEVENT_MESSAGEEVENT
_SPAN_TIMEEVENT.containing_type = _SPAN
_SPAN_TIMEEVENT.oneofs_by_name['value'].fields.append(
  _SPAN_TIMEEVENT.fields_by_name['annotation'])
_SPAN_TIMEEVENT.fields_by_name['annotation'].containing_oneof = _SPAN_TIMEEVENT.oneofs_by_name['value']
_SPAN_TIMEEVENT.oneofs_by_name['value'].fields.append(
  _SPAN_TIMEEVENT.fields_by_name['message_event'])
_SPAN_TIMEEVENT.fields_by_name['message_event'].containing_oneof = _SPAN_TIMEEVENT.oneofs_by_name['value']
_SPAN_TIMEEVENTS.fields_by_name['time_event'].message_type = _SPAN_TIMEEVENT
_SPAN_TIMEEVENTS.containing_type = _SPAN
_SPAN_LINK.fields_by_name['type'].enum_type = _SPAN_LINK_TYPE
_SPAN_LINK.fields_by_name['attributes'].message_type = _SPAN_ATTRIBUTES
_SPAN_LINK.containing_type = _SPAN
_SPAN_LINK_TYPE.containing_type = _SPAN_LINK
_SPAN_LINKS.fields_by_name['link'].message_type = _SPAN_LINK
_SPAN_LINKS.containing_type = _SPAN
_SPAN.fields_by_name['display_name'].message_type = _TRUNCATABLESTRING
_SPAN.fields_by_name['start_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_SPAN.fields_by_name['end_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_SPAN.fields_by_name['attributes'].message_type = _SPAN_ATTRIBUTES
_SPAN.fields_by_name['stack_trace'].message_type = _STACKTRACE
_SPAN.fields_by_name['time_events'].message_type = _SPAN_TIMEEVENTS
_SPAN.fields_by_name['links'].message_type = _SPAN_LINKS
_SPAN.fields_by_name['status'].message_type = google_dot_rpc_dot_status__pb2._STATUS
_SPAN.fields_by_name['same_process_as_parent_span'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE
_SPAN.fields_by_name['child_span_count'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT32VALUE
_ATTRIBUTEVALUE.fields_by_name['string_value'].message_type = _TRUNCATABLESTRING
_ATTRIBUTEVALUE.oneofs_by_name['value'].fields.append(
  _ATTRIBUTEVALUE.fields_by_name['string_value'])
_ATTRIBUTEVALUE.fields_by_name['string_value'].containing_oneof = _ATTRIBUTEVALUE.oneofs_by_name['value']
_ATTRIBUTEVALUE.oneofs_by_name['value'].fields.append(
  _ATTRIBUTEVALUE.fields_by_name['int_value'])
_ATTRIBUTEVALUE.fields_by_name['int_value'].containing_oneof = _ATTRIBUTEVALUE.oneofs_by_name['value']
_ATTRIBUTEVALUE.oneofs_by_name['value'].fields.append(
  _ATTRIBUTEVALUE.fields_by_name['bool_value'])
_ATTRIBUTEVALUE.fields_by_name['bool_value'].containing_oneof = _ATTRIBUTEVALUE.oneofs_by_name['value']
_STACKTRACE_STACKFRAME.fields_by_name['function_name'].message_type = _TRUNCATABLESTRING
_STACKTRACE_STACKFRAME.fields_by_name['original_function_name'].message_type = _TRUNCATABLESTRING
_STACKTRACE_STACKFRAME.fields_by_name['file_name'].message_type = _TRUNCATABLESTRING
_STACKTRACE_STACKFRAME.fields_by_name['load_module'].message_type = _MODULE
_STACKTRACE_STACKFRAME.fields_by_name['source_version'].message_type = _TRUNCATABLESTRING
_STACKTRACE_STACKFRAME.containing_type = _STACKTRACE
_STACKTRACE_STACKFRAMES.fields_by_name['frame'].message_type = _STACKTRACE_STACKFRAME
_STACKTRACE_STACKFRAMES.containing_type = _STACKTRACE
_STACKTRACE.fields_by_name['stack_frames'].message_type = _STACKTRACE_STACKFRAMES
_MODULE.fields_by_name['module'].message_type = _TRUNCATABLESTRING
_MODULE.fields_by_name['build_id'].message_type = _TRUNCATABLESTRING
DESCRIPTOR.message_types_by_name['Span'] = _SPAN
DESCRIPTOR.message_types_by_name['AttributeValue'] = _ATTRIBUTEVALUE
DESCRIPTOR.message_types_by_name['StackTrace'] = _STACKTRACE
DESCRIPTOR.message_types_by_name['Module'] = _MODULE
DESCRIPTOR.message_types_by_name['TruncatableString'] = _TRUNCATABLESTRING
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Span = _reflection.GeneratedProtocolMessageType('Span', (_message.Message,), dict(

  Attributes = _reflection.GeneratedProtocolMessageType('Attributes', (_message.Message,), dict(

    AttributeMapEntry = _reflection.GeneratedProtocolMessageType('AttributeMapEntry', (_message.Message,), dict(
      DESCRIPTOR = _SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY,
      __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
      # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry)
      ))
    ,
    DESCRIPTOR = _SPAN_ATTRIBUTES,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A set of attributes, each in the format ``[KEY]:[VALUE]``.
    
    
    Attributes:
        attribute_map:
            The set of attributes. Each attribute's key can be up to 128
            bytes long. The value can be a string up to 256 bytes, an
            integer, or the Boolean values ``true`` and ``false``. For
            example:  ::      "/instance_id": "my-instance"
            "/http/user_agent": ""     "/http/request_bytes": 300
            "abc.com/myattribute": true
        dropped_attributes_count:
            The number of attributes that were discarded. Attributes can
            be discarded because their keys are too long or because there
            are too many attributes. If this value is 0 then all
            attributes are valid.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.Attributes)
    ))
  ,

  TimeEvent = _reflection.GeneratedProtocolMessageType('TimeEvent', (_message.Message,), dict(

    Annotation = _reflection.GeneratedProtocolMessageType('Annotation', (_message.Message,), dict(
      DESCRIPTOR = _SPAN_TIMEEVENT_ANNOTATION,
      __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
      ,
      __doc__ = """Text annotation with a set of attributes.
      
      
      Attributes:
          description:
              A user-supplied message describing the event. The maximum
              length for the description is 256 bytes.
          attributes:
              A set of attributes on the annotation. There is a limit of 4
              attributes per Annotation.
      """,
      # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation)
      ))
    ,

    MessageEvent = _reflection.GeneratedProtocolMessageType('MessageEvent', (_message.Message,), dict(
      DESCRIPTOR = _SPAN_TIMEEVENT_MESSAGEEVENT,
      __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
      ,
      __doc__ = """An event describing a message sent/received between Spans.
      
      
      Attributes:
          type:
              Type of MessageEvent. Indicates whether the message was sent
              or received.
          id:
              An identifier for the MessageEvent's message that can be used
              to match SENT and RECEIVED MessageEvents. It is recommended to
              be unique within a Span.
          uncompressed_size_bytes:
              The number of uncompressed bytes sent or received.
          compressed_size_bytes:
              The number of compressed bytes sent or received. If missing
              assumed to be the same size as uncompressed.
      """,
      # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent)
      ))
    ,
    DESCRIPTOR = _SPAN_TIMEEVENT,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A time-stamped annotation or message event in the Span.
    
    
    Attributes:
        time:
            The timestamp indicating the time the event occurred.
        value:
            A ``TimeEvent`` can contain either an ``Annotation`` object or
            a ``MessageEvent`` object, but not both.
        annotation:
            Text annotation with a set of attributes.
        message_event:
            An event describing a message sent/received between Spans.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.TimeEvent)
    ))
  ,

  TimeEvents = _reflection.GeneratedProtocolMessageType('TimeEvents', (_message.Message,), dict(
    DESCRIPTOR = _SPAN_TIMEEVENTS,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A collection of ``TimeEvent``\ s. A ``TimeEvent`` is a time-stamped
    annotation on the span, consisting of either user-supplied key:value
    pairs, or details of a message sent/received between Spans.
    
    
    Attributes:
        time_event:
            A collection of ``TimeEvent``\ s.
        dropped_annotations_count:
            The number of dropped annotations in all the included time
            events. If the value is 0, then no annotations were dropped.
        dropped_message_events_count:
            The number of dropped message events in all the included time
            events. If the value is 0, then no message events were
            dropped.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.TimeEvents)
    ))
  ,

  Link = _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), dict(
    DESCRIPTOR = _SPAN_LINK,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A pointer from the current span to another span in the same trace or in
    a different trace. For example, this can be used in batching operations,
    where a single batch handler processes multiple requests from different
    traces or when the handler receives a request from a different project.
    
    
    Attributes:
        trace_id:
            ``TRACE_ID`` identifies a trace within a project.
        span_id:
            ``SPAN_ID`` identifies a span within a trace.
        type:
            The relationship of the current span relative to the linked
            span.
        attributes:
            A set of attributes on the link. There is a limit of 32
            attributes per link.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.Link)
    ))
  ,

  Links = _reflection.GeneratedProtocolMessageType('Links', (_message.Message,), dict(
    DESCRIPTOR = _SPAN_LINKS,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A collection of links, which are references from this span to a span in
    the same or different trace.
    
    
    Attributes:
        link:
            A collection of links.
        dropped_links_count:
            The number of dropped links after the maximum size was
            enforced. If this value is 0, then no links were dropped.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span.Links)
    ))
  ,
  DESCRIPTOR = _SPAN,
  __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
  ,
  __doc__ = """A span represents a single operation within a trace. Spans can be nested
  to form a trace tree. Often, a trace contains a root span that describes
  the end-to-end latency, and one or more subspans for its sub-operations.
  A trace can also contain multiple root spans, or none at all. Spans do
  not need to be contiguous—there may be gaps or overlaps between spans in
  a trace.
  
  
  Attributes:
      name:
          The resource name of the span in the following format:  ::
          projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]
          [TRACE\_ID] is a unique identifier for a trace within a
          project. [SPAN\_ID] is a unique identifier for a span within a
          trace, assigned when the span is created.
      span_id:
          The [SPAN\_ID] portion of the span's resource name. The ID is
          a 16-character hexadecimal encoding of an 8-byte array.
      parent_span_id:
          The [SPAN\_ID] of this span's parent span. If this is a root
          span, then this field must be empty.
      display_name:
          A description of the span's operation (up to 128 bytes).
          Stackdriver Trace displays the description in the {% dynamic
          print site\_values.console\_name %}. For example, the display
          name can be a qualified method name or a file name and a line
          number where the operation is called. A best practice is to
          use the same display name within an application and at the
          same call point. This makes it easier to correlate spans in
          different traces.
      start_time:
          The start time of the span. On the client side, this is the
          time kept by the local machine where the span execution
          starts. On the server side, this is the time when the server's
          application handler starts running.
      end_time:
          The end time of the span. On the client side, this is the time
          kept by the local machine where the span execution ends. On
          the server side, this is the time when the server application
          handler stops running.
      attributes:
          A set of attributes on the span. There is a limit of 32
          attributes per span.
      stack_trace:
          Stack trace captured at the start of the span.
      time_events:
          The included time events. There can be up to 32 annotations
          and 128 message events per span.
      links:
          A maximum of 128 links are allowed per Span.
      status:
          An optional final status for this span.
      same_process_as_parent_span:
          A highly recommended but not required flag that identifies
          when a trace crosses a process boundary. True when the
          parent\_span belongs to the same process as the current span.
      child_span_count:
          An optional number of child spans that were generated while
          this span was active. If set, allows implementation to detect
          missing child spans.
  """,
  # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Span)
  ))
_sym_db.RegisterMessage(Span)
_sym_db.RegisterMessage(Span.Attributes)
_sym_db.RegisterMessage(Span.Attributes.AttributeMapEntry)
_sym_db.RegisterMessage(Span.TimeEvent)
_sym_db.RegisterMessage(Span.TimeEvent.Annotation)
_sym_db.RegisterMessage(Span.TimeEvent.MessageEvent)
_sym_db.RegisterMessage(Span.TimeEvents)
_sym_db.RegisterMessage(Span.Link)
_sym_db.RegisterMessage(Span.Links)

AttributeValue = _reflection.GeneratedProtocolMessageType('AttributeValue', (_message.Message,), dict(
  DESCRIPTOR = _ATTRIBUTEVALUE,
  __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
  ,
  __doc__ = """The allowed types for [VALUE] in a ``[KEY]:[VALUE]`` attribute.
  
  
  Attributes:
      value:
          The type of the value.
      string_value:
          A string up to 256 bytes long.
      int_value:
          A 64-bit signed integer.
      bool_value:
          A Boolean value represented by ``true`` or ``false``.
  """,
  # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.AttributeValue)
  ))
_sym_db.RegisterMessage(AttributeValue)

StackTrace = _reflection.GeneratedProtocolMessageType('StackTrace', (_message.Message,), dict(

  StackFrame = _reflection.GeneratedProtocolMessageType('StackFrame', (_message.Message,), dict(
    DESCRIPTOR = _STACKTRACE_STACKFRAME,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """Represents a single stack frame in a stack trace.
    
    
    Attributes:
        function_name:
            The fully-qualified name that uniquely identifies the function
            or method that is active in this frame (up to 1024 bytes).
        original_function_name:
            An un-mangled function name, if ``function_name`` is `mangled
            <http://www.avabodh.com/cxxin/namemangling.html>`__. The name
            can be fully-qualified (up to 1024 bytes).
        file_name:
            The name of the source file where the function call appears
            (up to 256 bytes).
        line_number:
            The line number in ``file_name`` where the function call
            appears.
        column_number:
            The column number where the function call appears, if
            available. This is important in JavaScript because of its
            anonymous functions.
        load_module:
            The binary module from where the code was loaded.
        source_version:
            The version of the deployed source code (up to 128 bytes).
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.StackTrace.StackFrame)
    ))
  ,

  StackFrames = _reflection.GeneratedProtocolMessageType('StackFrames', (_message.Message,), dict(
    DESCRIPTOR = _STACKTRACE_STACKFRAMES,
    __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
    ,
    __doc__ = """A collection of stack frames, which can be truncated.
    
    
    Attributes:
        frame:
            Stack frames in this call stack.
        dropped_frames_count:
            The number of stack frames that were dropped because there
            were too many stack frames. If this value is 0, then no stack
            frames were dropped.
    """,
    # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.StackTrace.StackFrames)
    ))
  ,
  DESCRIPTOR = _STACKTRACE,
  __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
  ,
  __doc__ = """A call stack appearing in a trace.
  
  
  Attributes:
      stack_frames:
          Stack frames in this stack trace. A maximum of 128 frames are
          allowed.
      stack_trace_hash_id:
          The hash ID is used to conserve network bandwidth for
          duplicate stack traces within a single trace.  Often multiple
          spans will have identical stack traces. The first occurrence
          of a stack trace should contain both the ``stackFrame``
          content and a value in ``stackTraceHashId``.  Subsequent spans
          within the same request can refer to that stack trace by only
          setting ``stackTraceHashId``.
  """,
  # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.StackTrace)
  ))
_sym_db.RegisterMessage(StackTrace)
_sym_db.RegisterMessage(StackTrace.StackFrame)
_sym_db.RegisterMessage(StackTrace.StackFrames)

Module = _reflection.GeneratedProtocolMessageType('Module', (_message.Message,), dict(
  DESCRIPTOR = _MODULE,
  __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
  ,
  __doc__ = """Binary module.
  
  
  Attributes:
      module:
          For example: main binary, kernel modules, and dynamic
          libraries such as libc.so, sharedlib.so (up to 256 bytes).
      build_id:
          A unique identifier for the module, usually a hash of its
          contents (up to 128 bytes).
  """,
  # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.Module)
  ))
_sym_db.RegisterMessage(Module)

TruncatableString = _reflection.GeneratedProtocolMessageType('TruncatableString', (_message.Message,), dict(
  DESCRIPTOR = _TRUNCATABLESTRING,
  __module__ = 'google.devtools.cloudtrace_v2.proto.trace_pb2'
  ,
  __doc__ = """Represents a string that might be shortened to a specified length.
  
  
  Attributes:
      value:
          The shortened string. For example, if the original string was
          500 bytes long and the limit of the string was 128 bytes, then
          this value contains the first 128 bytes of the 500-byte
          string. Note that truncation always happens on the character
          boundary, to ensure that truncated string is still valid UTF8.
          In case of multi-byte characters, size of truncated string can
          be less than truncation limit.
      truncated_byte_count:
          The number of bytes removed from the original string. If this
          value is 0, then the string was not shortened.
  """,
  # @@protoc_insertion_point(class_scope:google.devtools.cloudtrace.v2.TruncatableString)
  ))
_sym_db.RegisterMessage(TruncatableString)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n!com.google.devtools.cloudtrace.v2B\nTraceProtoP\001ZGgoogle.golang.org/genproto/googleapis/devtools/cloudtrace/v2;cloudtrace\252\002\025Google.Cloud.Trace.V2'))
_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY.has_options = True
_SPAN_ATTRIBUTES_ATTRIBUTEMAPENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
