syntax = "proto2"; message Job { message KeyVal { required string name = 1; required string value = 2; } message Kernel { required string base = 1; required string kernel_hash = 2; } message Iteration { required int64 index = 1; repeated KeyVal attr_keyval = 2; repeated KeyVal perf_keyval = 3; } message Test { required string subdir = 1; required string testname = 2; required string status = 3; required string reason = 4; required Kernel kernel = 5; required string machine = 6; required int64 started_time = 7; required int64 finished_time = 8; repeated Iteration iterations = 9; repeated KeyVal attributes = 10; repeated string labels = 11; // Could be none. Don't depend it as the key for a test. optional int64 test_idx = 12; } required string dir = 1; repeated Test tests = 2; required string user = 3; required string label = 4; required string tag = 5; required int64 queued_time = 6; required int64 started_time = 7; required int64 finished_time = 8; required string machine = 9; required string machine_owner = 10; required string machine_group = 11; required string aborted_by = 12; required int64 aborted_on = 13; required string afe_job_id = 14; repeated KeyVal keyval_dict = 15; optional string afe_parent_job_id = 16; // If none, assuming parent job. // Could be none, use a generated id as foreign key to tests. optional int64 job_idx = 17; optional string build_version = 18; optional string suite = 19; optional string board = 20; }