// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v5.29.3
// source: datadog/trace/idx/tracer_payload.proto

package idx

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// TraceChunk represents a list of spans with the same trace ID. In other words, a chunk of a trace.
type TraceChunk struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// priority specifies the string table ref of the sampling priority of the trace.
	Priority int32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
	// originRef specifies the string table ref of the origin product ("lambda", "rum", etc.) of the trace.
	OriginRef uint32 `protobuf:"varint,2,opt,name=originRef,proto3" json:"originRef,omitempty"`
	// attributes specifies the map of string table ref to AnyValue of the tags common in all `spans`.
	Attributes map[uint32]*AnyValue `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// spans specifies list of containing spans.
	Spans []*Span `protobuf:"bytes,4,rep,name=spans,proto3" json:"spans,omitempty"`
	// droppedTrace specifies whether the trace was dropped by samplers or not.
	DroppedTrace bool `protobuf:"varint,5,opt,name=droppedTrace,proto3" json:"droppedTrace,omitempty"`
	// traceID specifies the ID of the trace to which all spans in this chunk belong.
	TraceID []byte `protobuf:"bytes,6,opt,name=traceID,proto3" json:"traceID,omitempty"`
	// samplingMechanism specifies the optional sampling mechanism (previously part of span tag _dd.p.dm)
	SamplingMechanism uint32 `protobuf:"varint,7,opt,name=samplingMechanism,proto3" json:"samplingMechanism,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *TraceChunk) Reset() {
	*x = TraceChunk{}
	mi := &file_datadog_trace_idx_tracer_payload_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TraceChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TraceChunk) ProtoMessage() {}

func (x *TraceChunk) ProtoReflect() protoreflect.Message {
	mi := &file_datadog_trace_idx_tracer_payload_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TraceChunk.ProtoReflect.Descriptor instead.
func (*TraceChunk) Descriptor() ([]byte, []int) {
	return file_datadog_trace_idx_tracer_payload_proto_rawDescGZIP(), []int{0}
}

func (x *TraceChunk) GetPriority() int32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *TraceChunk) GetOriginRef() uint32 {
	if x != nil {
		return x.OriginRef
	}
	return 0
}

func (x *TraceChunk) GetAttributes() map[uint32]*AnyValue {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *TraceChunk) GetSpans() []*Span {
	if x != nil {
		return x.Spans
	}
	return nil
}

func (x *TraceChunk) GetDroppedTrace() bool {
	if x != nil {
		return x.DroppedTrace
	}
	return false
}

func (x *TraceChunk) GetTraceID() []byte {
	if x != nil {
		return x.TraceID
	}
	return nil
}

func (x *TraceChunk) GetSamplingMechanism() uint32 {
	if x != nil {
		return x.SamplingMechanism
	}
	return 0
}

// TracerPayload represents a payload the trace agent receives from tracers.
type TracerPayload struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// strings specifies the array of strings referenced in this tracer payload, its chunks and spans.
	Strings []string `protobuf:"bytes,1,rep,name=strings,proto3" json:"strings,omitempty"`
	// containerIDRef specifies the string table ref of the ID of the container where the tracer is running on.
	ContainerIDRef uint32 `protobuf:"varint,2,opt,name=containerIDRef,proto3" json:"containerIDRef,omitempty"`
	// languageNameRef specifies the string table ref of the language of the tracer.
	LanguageNameRef uint32 `protobuf:"varint,3,opt,name=languageNameRef,proto3" json:"languageNameRef,omitempty"`
	// languageVersionRef specifies the string table ref of the language version of the tracer.
	LanguageVersionRef uint32 `protobuf:"varint,4,opt,name=languageVersionRef,proto3" json:"languageVersionRef,omitempty"`
	// tracerVersionRef specifies the string table ref of the version of the tracer.
	TracerVersionRef uint32 `protobuf:"varint,5,opt,name=tracerVersionRef,proto3" json:"tracerVersionRef,omitempty"`
	// runtimeIDRef specifies the string table ref of the V4 UUID representation of a tracer session.
	RuntimeIDRef uint32 `protobuf:"varint,6,opt,name=runtimeIDRef,proto3" json:"runtimeIDRef,omitempty"`
	// envRef specifies the string table ref of the `env` tag that set with the tracer.
	EnvRef uint32 `protobuf:"varint,7,opt,name=envRef,proto3" json:"envRef,omitempty"`
	// hostnameRef specifies the string table ref of the hostname of where the tracer is running.
	HostnameRef uint32 `protobuf:"varint,8,opt,name=hostnameRef,proto3" json:"hostnameRef,omitempty"`
	// appVersionRef specifies the string table ref of the `version` tag set in the tracer.
	AppVersionRef uint32 `protobuf:"varint,9,opt,name=appVersionRef,proto3" json:"appVersionRef,omitempty"`
	// a collection of key to value pairs common in all `chunks`
	Attributes map[uint32]*AnyValue `protobuf:"bytes,10,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// chunks specifies list of containing trace chunks.
	Chunks        []*TraceChunk `protobuf:"bytes,11,rep,name=chunks,proto3" json:"chunks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TracerPayload) Reset() {
	*x = TracerPayload{}
	mi := &file_datadog_trace_idx_tracer_payload_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TracerPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TracerPayload) ProtoMessage() {}

func (x *TracerPayload) ProtoReflect() protoreflect.Message {
	mi := &file_datadog_trace_idx_tracer_payload_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TracerPayload.ProtoReflect.Descriptor instead.
func (*TracerPayload) Descriptor() ([]byte, []int) {
	return file_datadog_trace_idx_tracer_payload_proto_rawDescGZIP(), []int{1}
}

func (x *TracerPayload) GetStrings() []string {
	if x != nil {
		return x.Strings
	}
	return nil
}

func (x *TracerPayload) GetContainerIDRef() uint32 {
	if x != nil {
		return x.ContainerIDRef
	}
	return 0
}

func (x *TracerPayload) GetLanguageNameRef() uint32 {
	if x != nil {
		return x.LanguageNameRef
	}
	return 0
}

func (x *TracerPayload) GetLanguageVersionRef() uint32 {
	if x != nil {
		return x.LanguageVersionRef
	}
	return 0
}

func (x *TracerPayload) GetTracerVersionRef() uint32 {
	if x != nil {
		return x.TracerVersionRef
	}
	return 0
}

func (x *TracerPayload) GetRuntimeIDRef() uint32 {
	if x != nil {
		return x.RuntimeIDRef
	}
	return 0
}

func (x *TracerPayload) GetEnvRef() uint32 {
	if x != nil {
		return x.EnvRef
	}
	return 0
}

func (x *TracerPayload) GetHostnameRef() uint32 {
	if x != nil {
		return x.HostnameRef
	}
	return 0
}

func (x *TracerPayload) GetAppVersionRef() uint32 {
	if x != nil {
		return x.AppVersionRef
	}
	return 0
}

func (x *TracerPayload) GetAttributes() map[uint32]*AnyValue {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *TracerPayload) GetChunks() []*TraceChunk {
	if x != nil {
		return x.Chunks
	}
	return nil
}

var File_datadog_trace_idx_tracer_payload_proto protoreflect.FileDescriptor

const file_datadog_trace_idx_tracer_payload_proto_rawDesc = "" +
	"\n" +
	"&datadog/trace/idx/tracer_payload.proto\x12\x11datadog.trace.idx\x1a\x1cdatadog/trace/idx/span.proto\"\x8c\x03\n" +
	"\n" +
	"TraceChunk\x12\x1a\n" +
	"\bpriority\x18\x01 \x01(\x05R\bpriority\x12\x1c\n" +
	"\toriginRef\x18\x02 \x01(\rR\toriginRef\x12M\n" +
	"\n" +
	"attributes\x18\x03 \x03(\v2-.datadog.trace.idx.TraceChunk.AttributesEntryR\n" +
	"attributes\x12-\n" +
	"\x05spans\x18\x04 \x03(\v2\x17.datadog.trace.idx.SpanR\x05spans\x12\"\n" +
	"\fdroppedTrace\x18\x05 \x01(\bR\fdroppedTrace\x12\x18\n" +
	"\atraceID\x18\x06 \x01(\fR\atraceID\x12,\n" +
	"\x11samplingMechanism\x18\a \x01(\rR\x11samplingMechanism\x1aZ\n" +
	"\x0fAttributesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\rR\x03key\x121\n" +
	"\x05value\x18\x02 \x01(\v2\x1b.datadog.trace.idx.AnyValueR\x05value:\x028\x01\"\xc0\x04\n" +
	"\rTracerPayload\x12\x18\n" +
	"\astrings\x18\x01 \x03(\tR\astrings\x12&\n" +
	"\x0econtainerIDRef\x18\x02 \x01(\rR\x0econtainerIDRef\x12(\n" +
	"\x0flanguageNameRef\x18\x03 \x01(\rR\x0flanguageNameRef\x12.\n" +
	"\x12languageVersionRef\x18\x04 \x01(\rR\x12languageVersionRef\x12*\n" +
	"\x10tracerVersionRef\x18\x05 \x01(\rR\x10tracerVersionRef\x12\"\n" +
	"\fruntimeIDRef\x18\x06 \x01(\rR\fruntimeIDRef\x12\x16\n" +
	"\x06envRef\x18\a \x01(\rR\x06envRef\x12 \n" +
	"\vhostnameRef\x18\b \x01(\rR\vhostnameRef\x12$\n" +
	"\rappVersionRef\x18\t \x01(\rR\rappVersionRef\x12P\n" +
	"\n" +
	"attributes\x18\n" +
	" \x03(\v20.datadog.trace.idx.TracerPayload.AttributesEntryR\n" +
	"attributes\x125\n" +
	"\x06chunks\x18\v \x03(\v2\x1d.datadog.trace.idx.TraceChunkR\x06chunks\x1aZ\n" +
	"\x0fAttributesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\rR\x03key\x121\n" +
	"\x05value\x18\x02 \x01(\v2\x1b.datadog.trace.idx.AnyValueR\x05value:\x028\x01B;Z9github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/idxb\x06proto3"

var (
	file_datadog_trace_idx_tracer_payload_proto_rawDescOnce sync.Once
	file_datadog_trace_idx_tracer_payload_proto_rawDescData []byte
)

func file_datadog_trace_idx_tracer_payload_proto_rawDescGZIP() []byte {
	file_datadog_trace_idx_tracer_payload_proto_rawDescOnce.Do(func() {
		file_datadog_trace_idx_tracer_payload_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_datadog_trace_idx_tracer_payload_proto_rawDesc), len(file_datadog_trace_idx_tracer_payload_proto_rawDesc)))
	})
	return file_datadog_trace_idx_tracer_payload_proto_rawDescData
}

var file_datadog_trace_idx_tracer_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_datadog_trace_idx_tracer_payload_proto_goTypes = []any{
	(*TraceChunk)(nil),    // 0: datadog.trace.idx.TraceChunk
	(*TracerPayload)(nil), // 1: datadog.trace.idx.TracerPayload
	nil,                   // 2: datadog.trace.idx.TraceChunk.AttributesEntry
	nil,                   // 3: datadog.trace.idx.TracerPayload.AttributesEntry
	(*Span)(nil),          // 4: datadog.trace.idx.Span
	(*AnyValue)(nil),      // 5: datadog.trace.idx.AnyValue
}
var file_datadog_trace_idx_tracer_payload_proto_depIdxs = []int32{
	2, // 0: datadog.trace.idx.TraceChunk.attributes:type_name -> datadog.trace.idx.TraceChunk.AttributesEntry
	4, // 1: datadog.trace.idx.TraceChunk.spans:type_name -> datadog.trace.idx.Span
	3, // 2: datadog.trace.idx.TracerPayload.attributes:type_name -> datadog.trace.idx.TracerPayload.AttributesEntry
	0, // 3: datadog.trace.idx.TracerPayload.chunks:type_name -> datadog.trace.idx.TraceChunk
	5, // 4: datadog.trace.idx.TraceChunk.AttributesEntry.value:type_name -> datadog.trace.idx.AnyValue
	5, // 5: datadog.trace.idx.TracerPayload.AttributesEntry.value:type_name -> datadog.trace.idx.AnyValue
	6, // [6:6] is the sub-list for method output_type
	6, // [6:6] is the sub-list for method input_type
	6, // [6:6] is the sub-list for extension type_name
	6, // [6:6] is the sub-list for extension extendee
	0, // [0:6] is the sub-list for field type_name
}

func init() { file_datadog_trace_idx_tracer_payload_proto_init() }
func file_datadog_trace_idx_tracer_payload_proto_init() {
	if File_datadog_trace_idx_tracer_payload_proto != nil {
		return
	}
	file_datadog_trace_idx_span_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_datadog_trace_idx_tracer_payload_proto_rawDesc), len(file_datadog_trace_idx_tracer_payload_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_datadog_trace_idx_tracer_payload_proto_goTypes,
		DependencyIndexes: file_datadog_trace_idx_tracer_payload_proto_depIdxs,
		MessageInfos:      file_datadog_trace_idx_tracer_payload_proto_msgTypes,
	}.Build()
	File_datadog_trace_idx_tracer_payload_proto = out.File
	file_datadog_trace_idx_tracer_payload_proto_goTypes = nil
	file_datadog_trace_idx_tracer_payload_proto_depIdxs = nil
}
