syntax = "proto3"; service Debug { rpc Health(HealthRequest) returns (HealthResponse) {}; rpc Stats(StatsRequest) returns (StatsResponse) {}; rpc Logs(LogRequest) returns (stream Log) {}; } message HealthRequest {} message HealthResponse { // default: ok string status = 1; } message StatsRequest {} message StatsResponse { // unix timestamp uint64 started = 1; // in seconds uint64 uptime = 2; // in bytes uint64 memory = 3; // num threads uint64 threads = 4; // total gc in nanoseconds uint64 gc = 5; } // LogRequest queries service for logs message LogRequest { // count is the count of events int64 count = 1; // relative time in seconds // before the current time // from which to show logs int64 since = 2; // stream logs continuously bool stream = 3; } // Log is service log record message Log { // timestamp of log event int64 timestamp = 1; // log value string value = 2; // metadata map metadata = 3; }