syntax = "proto3"; package pb; option go_package="github.com/DataDog/datadog-agent/pkg/trace/pb"; message Span { // service is the name of the service with which this span is associated. // @gotags: json:"service" msg:"service" string service = 1; // name is the operation name of this span. // @gotags: json:"name" msg:"name" string name = 2; // resource is the resource name of this span, also sometimes called the endpoint (for web spans). // @gotags: json:"resource" msg:"resource" string resource = 3; // traceID is the ID of the trace to which this span belongs. // @gotags: json:"trace_id" msg:"trace_id" uint64 traceID = 4; // spanID is the ID of this span. // @gotags: json:"span_id" msg:"span_id" uint64 spanID = 5; // parentID is the ID of this span's parent, or zero if this span has no parent. // @gotags: json:"parent_id" msg:"parent_id" uint64 parentID = 6; // start is the number of nanoseconds between the Unix epoch and the beginning of this span. // @gotags: json:"start" msg:"start" int64 start = 7; // duration is the time length of this span in nanoseconds. // @gotags: json:"duration" msg:"duration" int64 duration = 8; // error is 1 if there is an error associated with this span, or 0 if there is not. // @gotags: json:"error" msg:"error" int32 error = 9; // meta is a mapping from tag name to tag value for string-valued tags. // @gotags: json:"meta" msg:"meta" map meta = 10; // metrics is a mapping from tag name to tag value for numeric-valued tags. // @gotags: json:"metrics" msg:"metrics" map metrics = 11; // type is the type of the service with which this span is associated. Example values: web, db, lambda. // @gotags: json:"type" msg:"type" string type = 12; // meta_struct is a registry of structured "other" data used by, e.g., AppSec. // @gotags: json:"meta_struct,omitempty" msg:"meta_struct" map meta_struct = 13; }