1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-12-30 10:10:44 +02:00
go-micro/debug/proto/debug.proto

108 lines
2.2 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package debug;
option go_package = "./proto;debug";
// Compile this proto by running the following command in the debug directory:
// protoc --proto_path=. --micro_out=. --go_out=:. proto/debug.proto
2019-08-06 18:53:14 +02:00
service Debug {
rpc Log(LogRequest) returns (stream Record) {};
rpc Health(HealthRequest) returns (HealthResponse) {};
rpc Stats(StatsRequest) returns (StatsResponse) {};
rpc Trace(TraceRequest) returns (TraceResponse) {};
rpc MessageBus(stream BusMsg) returns (stream BusMsg) {};
2019-08-06 18:53:14 +02:00
}
message BusMsg { string msg = 1; }
2019-12-04 14:02:44 +02:00
message HealthRequest {
// optional service name
string service = 1;
2019-12-04 14:02:44 +02:00
}
message HealthResponse {
// default: ok
string status = 1;
}
2016-05-28 23:30:47 +02:00
2019-12-04 14:02:44 +02:00
message StatsRequest {
// optional service name
string service = 1;
2019-12-04 14:02:44 +02:00
}
2016-05-28 23:30:47 +02:00
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;
2016-05-28 23:30:47 +02:00
}
// 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
// Also used as default basic message type to test requests.
message Record {
// timestamp of log record
int64 timestamp = 1;
// record metadata
map<string, string> metadata = 2;
// message
string message = 3;
}
2020-01-24 23:29:29 +02:00
message TraceRequest {
// trace id to retrieve
string id = 1;
2020-01-24 23:29:29 +02:00
}
message TraceResponse { repeated Span spans = 1; }
2020-01-24 23:29:29 +02:00
enum SpanType {
INBOUND = 0;
OUTBOUND = 1;
}
2020-01-24 23:29:29 +02:00
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;
2020-01-24 23:29:29 +02:00
}