go-common/library/net/trace/proto/span.proto
2019-04-22 18:49:16 +08:00

78 lines
1.6 KiB
Protocol Buffer

syntax = "proto3";
package dapper.trace;
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
option go_package = "protogen";
message Tag {
enum Kind {
STRING = 0;
INT = 1;
BOOL = 2;
FLOAT = 3;
}
string key = 1;
Kind kind = 2;
bytes value = 3;
}
message Field {
string key = 1;
bytes value = 2;
}
message Log {
// Deprecated: Kind no long use
enum Kind {
STRING = 0;
INT = 1;
BOOL = 2;
FLOAT = 3;
}
string key = 1;
// Deprecated: Kind no long use
Kind kind = 2;
// Deprecated: Value no long use
bytes value = 3;
int64 timestamp = 4;
repeated Field fields = 5;
}
// SpanRef describes causal relationship of the current span to another span (e.g. 'child-of')
message SpanRef {
enum RefType {
CHILD_OF = 0;
FOLLOWS_FROM = 1;
}
RefType ref_type = 1;
uint64 trace_id = 2;
uint64 span_id = 3;
}
// Span represents a named unit of work performed by a service.
message Span {
int32 version = 99;
string service_name = 1;
string operation_name = 2;
// Deprecated: caller no long required
string caller = 3;
uint64 trace_id = 4;
uint64 span_id = 5;
uint64 parent_id = 6;
// Deprecated: level no long required
int32 level = 7;
// Deprecated: use start_time instead instead of start_at
int64 start_at = 8;
// Deprecated: use duration instead instead of finish_at
int64 finish_at = 9;
float sampling_probability = 10;
string env = 19;
google.protobuf.Timestamp start_time = 20;
google.protobuf.Duration duration = 21;
repeated SpanRef references = 22;
repeated Tag tags = 11;
repeated Log logs = 12;
}