syntax = "proto3";
package pb.idx;
option go_package="github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace/idx";
import "idx/span.proto";
// TraceChunk represents a list of spans with the same trace ID. In other words, a chunk of a trace.
message TraceChunk {
// priority specifies the string table ref of the sampling priority of the trace.
int32 priority = 1;
// originRef specifies the string table ref of the origin product ("lambda", "rum", etc.) of the trace.
uint32 originRef = 2;
// attributes specifies the map of string table ref to AnyValue of the tags common in all `spans`.
map<uint32, AnyValue> attributes = 3;
// spans specifies list of containing spans.
repeated Span spans = 4;
// droppedTrace specifies whether the trace was dropped by samplers or not.
bool droppedTrace = 5;
// traceID specifies the ID of the trace to which all spans in this chunk belong.
bytes traceID = 6;
// samplingMechanism specifies the optional sampling mechanism (previously part of span tag _dd.p.dm)
uint32 samplingMechanism = 7;
}
// TracerPayload represents a payload the trace agent receives from tracers.
message TracerPayload {
// strings specifies the array of strings referenced in this tracer payload, its chunks and spans.
repeated string strings = 1;
// containerIDRef specifies the string table ref of the ID of the container where the tracer is running on.
uint32 containerIDRef = 2;
// languageNameRef specifies the string table ref of the language of the tracer.
uint32 languageNameRef = 3;
// languageVersionRef specifies the string table ref of the language version of the tracer.
uint32 languageVersionRef = 4;
// tracerVersionRef specifies the string table ref of the version of the tracer.
uint32 tracerVersionRef = 5;
// runtimeIDRef specifies the string table ref of the V4 UUID representation of a tracer session.
uint32 runtimeIDRef = 6;
// envRef specifies the string table ref of the `env` tag that set with the tracer.
uint32 envRef = 7;
// hostnameRef specifies the string table ref of the hostname of where the tracer is running.
uint32 hostnameRef = 8;
// appVersionRef specifies the string table ref of the `version` tag set in the tracer.
uint32 appVersionRef = 9;
// a collection of key to value pairs common in all `chunks`
map<uint32, AnyValue> attributes = 10;
// chunks specifies list of containing trace chunks.
repeated TraceChunk chunks = 11;
}