# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/devtools/cloudtrace/v2/trace.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf/wrappers_pb'
require 'google/rpc/status_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_message "google.devtools.cloudtrace.v2.Span" do
    optional :name, :string, 1
    optional :span_id, :string, 2
    optional :parent_span_id, :string, 3
    optional :display_name, :message, 4, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :start_time, :message, 5, "google.protobuf.Timestamp"
    optional :end_time, :message, 6, "google.protobuf.Timestamp"
    optional :attributes, :message, 7, "google.devtools.cloudtrace.v2.Span.Attributes"
    optional :stack_trace, :message, 8, "google.devtools.cloudtrace.v2.StackTrace"
    optional :time_events, :message, 9, "google.devtools.cloudtrace.v2.Span.TimeEvents"
    optional :links, :message, 10, "google.devtools.cloudtrace.v2.Span.Links"
    optional :status, :message, 11, "google.rpc.Status"
    optional :same_process_as_parent_span, :message, 12, "google.protobuf.BoolValue"
    optional :child_span_count, :message, 13, "google.protobuf.Int32Value"
  end
  add_message "google.devtools.cloudtrace.v2.Span.Attributes" do
    map :attribute_map, :string, :message, 1, "google.devtools.cloudtrace.v2.AttributeValue"
    optional :dropped_attributes_count, :int32, 2
  end
  add_message "google.devtools.cloudtrace.v2.Span.TimeEvent" do
    optional :time, :message, 1, "google.protobuf.Timestamp"
    oneof :value do
      optional :annotation, :message, 2, "google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation"
      optional :message_event, :message, 3, "google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent"
    end
  end
  add_message "google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation" do
    optional :description, :message, 1, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :attributes, :message, 2, "google.devtools.cloudtrace.v2.Span.Attributes"
  end
  add_message "google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent" do
    optional :type, :enum, 1, "google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.Type"
    optional :id, :int64, 2
    optional :uncompressed_size_bytes, :int64, 3
    optional :compressed_size_bytes, :int64, 4
  end
  add_enum "google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.Type" do
    value :TYPE_UNSPECIFIED, 0
    value :SENT, 1
    value :RECEIVED, 2
  end
  add_message "google.devtools.cloudtrace.v2.Span.TimeEvents" do
    repeated :time_event, :message, 1, "google.devtools.cloudtrace.v2.Span.TimeEvent"
    optional :dropped_annotations_count, :int32, 2
    optional :dropped_message_events_count, :int32, 3
  end
  add_message "google.devtools.cloudtrace.v2.Span.Link" do
    optional :trace_id, :string, 1
    optional :span_id, :string, 2
    optional :type, :enum, 3, "google.devtools.cloudtrace.v2.Span.Link.Type"
    optional :attributes, :message, 4, "google.devtools.cloudtrace.v2.Span.Attributes"
  end
  add_enum "google.devtools.cloudtrace.v2.Span.Link.Type" do
    value :TYPE_UNSPECIFIED, 0
    value :CHILD_LINKED_SPAN, 1
    value :PARENT_LINKED_SPAN, 2
  end
  add_message "google.devtools.cloudtrace.v2.Span.Links" do
    repeated :link, :message, 1, "google.devtools.cloudtrace.v2.Span.Link"
    optional :dropped_links_count, :int32, 2
  end
  add_message "google.devtools.cloudtrace.v2.AttributeValue" do
    oneof :value do
      optional :string_value, :message, 1, "google.devtools.cloudtrace.v2.TruncatableString"
      optional :int_value, :int64, 2
      optional :bool_value, :bool, 3
    end
  end
  add_message "google.devtools.cloudtrace.v2.StackTrace" do
    optional :stack_frames, :message, 1, "google.devtools.cloudtrace.v2.StackTrace.StackFrames"
    optional :stack_trace_hash_id, :int64, 2
  end
  add_message "google.devtools.cloudtrace.v2.StackTrace.StackFrame" do
    optional :function_name, :message, 1, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :original_function_name, :message, 2, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :file_name, :message, 3, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :line_number, :int64, 4
    optional :column_number, :int64, 5
    optional :load_module, :message, 6, "google.devtools.cloudtrace.v2.Module"
    optional :source_version, :message, 7, "google.devtools.cloudtrace.v2.TruncatableString"
  end
  add_message "google.devtools.cloudtrace.v2.StackTrace.StackFrames" do
    repeated :frame, :message, 1, "google.devtools.cloudtrace.v2.StackTrace.StackFrame"
    optional :dropped_frames_count, :int32, 2
  end
  add_message "google.devtools.cloudtrace.v2.Module" do
    optional :module, :message, 1, "google.devtools.cloudtrace.v2.TruncatableString"
    optional :build_id, :message, 2, "google.devtools.cloudtrace.v2.TruncatableString"
  end
  add_message "google.devtools.cloudtrace.v2.TruncatableString" do
    optional :value, :string, 1
    optional :truncated_byte_count, :int32, 2
  end
end

module Google
  module Devtools
    module Cloudtrace
      module V2
        Span = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span").msgclass
        Span::Attributes = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.Attributes").msgclass
        Span::TimeEvent = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.TimeEvent").msgclass
        Span::TimeEvent::Annotation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation").msgclass
        Span::TimeEvent::MessageEvent = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent").msgclass
        Span::TimeEvent::MessageEvent::Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent.Type").enummodule
        Span::TimeEvents = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.TimeEvents").msgclass
        Span::Link = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.Link").msgclass
        Span::Link::Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.Link.Type").enummodule
        Span::Links = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Span.Links").msgclass
        AttributeValue = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.AttributeValue").msgclass
        StackTrace = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.StackTrace").msgclass
        StackTrace::StackFrame = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.StackTrace.StackFrame").msgclass
        StackTrace::StackFrames = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.StackTrace.StackFrames").msgclass
        Module = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.Module").msgclass
        TruncatableString = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.cloudtrace.v2.TruncatableString").msgclass
      end
    end
  end
end
