106 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.0 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) {};
 | |
| 	rpc Cache(CacheRequest) returns (CacheResponse) {};
 | |
| }
 | |
| 
 | |
| 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;
 | |
| }
 | |
| 
 | |
| message CacheRequest {}
 | |
| 
 | |
| message CacheResponse {
 | |
| 	map<string, string> values = 1;
 | |
| } |