libdd-trace-protobuf 2.0.0

Protobuf utils for Datadog's traces serialization
Documentation
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;
}