syntax = "proto3"; package wire; option go_package = ".;wire"; import "google/protobuf/timestamp.proto"; message SpanContext { uint64 TraceID = 1; uint64 SpanID = 2; } message Span { SpanContext context = 1; // [(gogoproto.nullable) = false]; uint64 ParentSpanID = 2; string name = 3; google.protobuf.Timestamp Start = 4; // [(gogoproto.customname) = "Start", (gogoproto.stdtime) = true, (gogoproto.nullable) = false]; repeated string labels = 5; repeated Field fields = 6; // [(gogoproto.nullable) = false]; } message Trace { repeated Span spans = 1; } message Field { string key = 1; FieldType FieldType = 2; oneof value { sfixed64 NumericVal = 3; string StringVal = 4; } } enum FieldType { FieldTypeString = 0; FieldTypeBool = 1; FieldTypeInt64 = 2; FieldTypeUint64 = 3; FieldTypeDuration = 4; FieldTypeFloat64 = 6; }