blob: 82caf780ee79ceba2eff79228fe254adfd58fd56 [file] [log] [blame]
syntax = "proto3";
package moblab;
service RemoteLoggingAgent {
// TODO(chromium:1106420): Enable remote agent to be able to receive
// gRPC calls from other services in order to provide other logging
// services (specifically what kinds of logging services are to be
// determined).
}
enum DutStatus {
// TODO(chromium:1106420): share DutStatus with the moblab-rpcserver
// code base.
DUT_STATUS_UNKNOWN = 0;
DUT_STATUS_READY = 1;
DUT_STATUS_RUNNING = 2;
DUT_STATUS_REPAIRING = 3;
DUT_STATUS_REPAIR_FAILED = 4;
DUT_STATUS_CLEANING = 5;
DUT_STATUS_PENDING = 6;
DUT_STATUS_RESETTING = 7;
DUT_STATUS_PROVISIONING = 8;
}
message DiskStats {
uint64 total_disk_size_bytes = 1;
uint64 free_disk_size_bytes = 2;
}
message NetworkStats {
uint64 upload_bits_per_second = 1;
uint64 download_bits_per_second = 2;
// The number of HTTP 5xx errors
optional uint32 server_errors = 3;
// The number of HTTP connections broken
optional uint32 broken_connections = 4;
}
message MoblabHost {
string moblab_host_id = 1;
string moblab_install_id = 2;
optional uint32 milestone = 3;
optional string build_version = 4;
optional string ip_address = 5;
optional string channel = 6;
optional string description = 7;
optional DiskStats disk_stats = 8;
optional NetworkStats network_stats = 9;
optional uint64 last_update_time = 10; // in millisecond
}
message MoblabDut {
string moblab_host_id = 1;
string moblab_install_id = 2;
string moblab_dut_id = 3;
optional string moblab_dut_ip = 4;
optional string build_target = 5;
optional string model = 6;
optional DutStatus status = 7;
repeated string label = 8;
optional bool is_locked = 9;
optional string lock_reason = 10;
optional uint64 last_update_time = 11; // in millisecond
}