libdd-trace-protobuf 2.0.0

Protobuf utils for Datadog's traces serialization
Documentation
syntax = "proto3";

package pb;

option go_package="pkg/proto/pbgo/trace";

import "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 sampling priority of the trace.
	// @gotags: json:"priority" msg:"priority"
	int32 priority = 1;
	// origin specifies origin product ("lambda", "rum", etc.) of the trace.
	// @gotags: json:"origin" msg:"origin"
	string origin = 2;
	// spans specifies list of containing spans.
	// @gotags: json:"spans" msg:"spans"
	repeated Span spans = 3;
	// tags specifies tags common in all `spans`.
	// @gotags: json:"tags" msg:"tags"
	map<string, string> tags = 4;
	// droppedTrace specifies whether the trace was dropped by samplers or not.
	// @gotags: json:"dropped_trace" msg:"dropped_trace"
	bool droppedTrace = 5;
}

// TracerPayload represents a payload the trace agent receives from tracers.
message TracerPayload {
	// containerID specifies the ID of the container where the tracer is running on.
	// @gotags: json:"container_id" msg:"container_id"
	string containerID = 1;
	// languageName specifies language of the tracer.
	// @gotags: json:"language_name" msg:"language_name"
	string languageName = 2;
	// languageVersion specifies language version of the tracer.
	// @gotags: json:"language_version" msg:"language_version"
	string languageVersion = 3;
	// tracerVersion specifies version of the tracer.
	// @gotags: json:"tracer_version" msg:"tracer_version"
	string tracerVersion = 4;
	// runtimeID specifies V4 UUID representation of a tracer session.
	// @gotags: json:"runtime_id" msg:"runtime_id"
	string runtimeID = 5;
	// chunks specifies list of containing trace chunks.
	// @gotags: json:"chunks" msg:"chunks"
	repeated TraceChunk chunks = 6;
	// tags specifies tags common in all `chunks`.
	// @gotags: json:"tags" msg:"tags"
	map<string, string> tags = 7;
	// env specifies `env` tag that set with the tracer.
	// @gotags: json:"env" msg:"env"
	string env = 8;
	// hostname specifies hostname of where the tracer is running.
	// @gotags: json:"hostname" msg:"hostname"
	string hostname = 9;
	// version specifies `version` tag that set with the tracer.
	// @gotags: json:"app_version" msg:"app_version"
	string appVersion = 10;
}