100 lines
1.9 KiB
Protocol Buffer
100 lines
1.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
service Debug {
|
|
rpc Log(LogRequest) returns (stream Record) {};
|
|
rpc Health(HealthRequest) returns (HealthResponse) {};
|
|
rpc Stats(StatsRequest) returns (StatsResponse) {};
|
|
rpc Trace(TraceRequest) returns (TraceResponse) {};
|
|
}
|
|
|
|
message HealthRequest {
|
|
// optional service name
|
|
string service = 1;
|
|
}
|
|
|
|
message HealthResponse {
|
|
// default: ok
|
|
string status = 1;
|
|
}
|
|
|
|
message StatsRequest {
|
|
// optional service name
|
|
string service = 1;
|
|
}
|
|
|
|
message StatsResponse {
|
|
// timestamp of recording
|
|
uint64 timestamp = 1;
|
|
// unix timestamp
|
|
uint64 started = 2;
|
|
// in seconds
|
|
uint64 uptime = 3;
|
|
// in bytes
|
|
uint64 memory = 4;
|
|
// num threads
|
|
uint64 threads = 5;
|
|
// total gc in nanoseconds
|
|
uint64 gc = 6;
|
|
// total number of requests
|
|
uint64 requests = 7;
|
|
// total number of errors
|
|
uint64 errors = 8;
|
|
}
|
|
|
|
// LogRequest requests service logs
|
|
message LogRequest {
|
|
// service to request logs for
|
|
string service = 1;
|
|
// stream records continuously
|
|
bool stream = 2;
|
|
// count of records to request
|
|
int64 count = 3;
|
|
// relative time in seconds
|
|
// before the current time
|
|
// from which to show logs
|
|
int64 since = 4;
|
|
}
|
|
|
|
// Record is service log record
|
|
message Record {
|
|
// timestamp of log record
|
|
int64 timestamp = 1;
|
|
// record metadata
|
|
map<string,string> metadata = 2;
|
|
// message
|
|
string message = 3;
|
|
}
|
|
|
|
message TraceRequest {
|
|
// trace id to retrieve
|
|
string id = 1;
|
|
}
|
|
|
|
message TraceResponse {
|
|
repeated Span spans = 1;
|
|
}
|
|
|
|
|
|
enum SpanType {
|
|
INBOUND = 0;
|
|
OUTBOUND = 1;
|
|
}
|
|
|
|
message Span {
|
|
// the trace id
|
|
string trace = 1;
|
|
// id of the span
|
|
string id = 2;
|
|
// parent span
|
|
string parent = 3;
|
|
// name of the resource
|
|
string name = 4;
|
|
// time of start in nanoseconds
|
|
uint64 started = 5;
|
|
// duration of the execution in nanoseconds
|
|
uint64 duration = 6;
|
|
// associated metadata
|
|
map<string,string> metadata = 7;
|
|
SpanType type = 8;
|
|
}
|