github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/testgrid/state.proto (about)

     1  syntax = "proto3";
     2  
     3  message Column {
     4    string build = 1;  // Unique instance of the job, typically BUILD_NUMBER from prow or guid
     5    reserved 2; // Useless
     6    double started = 3; // milliseconds since start of epoch (python time.time() * 1000)
     7    repeated string extra = 4; // Additional column headers like commit, image used, etc.
     8  }
     9  
    10  message Metric {
    11    string name = 1;  // Name of metric, such as duration
    12    // Sparse encoding of values. So given:
    13    //   Indices: [0, 2, 6, 4]
    14    //   Values: [0.1,0.2,6.1,6.2,6.3,6.4]
    15    // Decoded 12-value equivalent is:
    16    // [0.1, 0.2, nil, nil, nil, nil, nil, 6.1, 6.2, 6.3, 6.4, nil, nil, ...]
    17    repeated int32 indices = 2; // n=index of first value, n+1=count of filled values
    18    repeated double values = 3; // filled values
    19  }
    20  
    21  message Row {
    22    string name = 1; // Name to display, which might process id to append/filter info.
    23    string id = 2;  // raw id for the row, such as the bazel target or golang package.
    24  
    25    enum Result {
    26      NO_RESULT = 0;
    27      PASS = 1;
    28      PASS_WITH_ERRORS = 2;
    29      PASS_WITH_SKIPS = 3;
    30      RUNNING = 4;
    31      reserved 5 to 11;
    32      FAIL = 12;
    33      FLAKY = 13;
    34    }
    35    // Results for this row, run-length encoded to reduce size/improve performance.
    36    // Thus (encoded -> decoded equivalent):
    37    //   [0, 3, 5, 4] -> [0, 0, 0, 5, 5, 5, 5]
    38    //   [5, 1] -> [5]
    39    //   [1, 5] -> [1, 1, 1, 1, 1]
    40    // The decoded values are Result enums
    41    repeated int32 results = 3;
    42  
    43    repeated string cell_ids = 4; // In case each cell has a unique identifier, separate from the column
    44    repeated string messages = 5; // Short description of the result, displayed on mouseover
    45  
    46    reserved 6 to 7;  // Consider later
    47  
    48    repeated Metric metrics = 8;  // Numerical performance/timing data, etc.
    49  
    50    repeated string icons = 9;  // Put 1-2 chars inside cell (F for fail, etc)
    51  
    52    reserved 10;  // Consider later
    53  }
    54  
    55  message Grid {
    56    repeated Column columns = 1;
    57    repeated Row rows = 2;
    58  
    59    reserved 3 to 9;  // Consider later
    60  }