go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/bisection/proto/bq/test_analysis_row.proto (about)

     1  // Copyright 2023 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package luci.bisection.proto.bq;
    18  
    19  import "google/protobuf/timestamp.proto";
    20  import "go.chromium.org/luci/bisection/proto/v1/analyses.proto";
    21  import "go.chromium.org/luci/bisection/proto/v1/common.proto";
    22  import "go.chromium.org/luci/buildbucket/proto/builder_common.proto";
    23  import "go.chromium.org/luci/buildbucket/proto/common.proto";
    24  
    25  option go_package = "go.chromium.org/luci/bisection/proto/bq;bqpb";
    26  
    27  // TestAnalysisRow Represents a test analysis exported to BigQuery.
    28  // A test analysis is only exported to BigQuery if it has finished,
    29  // and all the culprit actions have been taken.
    30  // It means once a row has been exported, its data is immutable.
    31  message TestAnalysisRow {
    32    // The project of the analysis.
    33    string project = 1;
    34    // ID to identify this analysis, same as the one in Datastore.
    35    int64 analysis_id = 2;
    36    // Timestamp for the create time of the analysis.
    37    google.protobuf.Timestamp created_time = 3;
    38    // Timestamp for the start time of the analysis.
    39    google.protobuf.Timestamp start_time = 4;
    40    // Timestamp for the end time of the analysis.
    41    google.protobuf.Timestamp end_time = 5;
    42    // Result status of the analysis.
    43    luci.bisection.v1.AnalysisStatus status = 6;
    44    // Run status of the analysis.
    45    luci.bisection.v1.AnalysisRunStatus run_status = 7;
    46    // The verified culprit for the analysis.
    47    luci.bisection.v1.TestCulprit culprit = 8;
    48    // The builder that the analysis analyzed.
    49    buildbucket.v2.BuilderID builder = 9;
    50    // Test failures that the analysis analyzed.
    51    // The first item will be the primary failure, followed by other failures.
    52    repeated luci.bisection.v1.TestFailure test_failures = 10;
    53    // The start commit of the regression range (exclusive).
    54    buildbucket.v2.GitilesCommit start_gitiles_commit = 11;
    55    // The end commit of the regression range (inclusive).
    56    buildbucket.v2.GitilesCommit end_gitiles_commit = 12;
    57    // The start failure rate of the failures.
    58    float start_failure_rate = 13;
    59    // The end failure rate of the failures.
    60    float end_failure_rate = 14;
    61    // Sample build bucket ID where the primary test failure failed.
    62    int64 sample_bbid = 15;
    63    // Details of nthsection analysis, including the reruns.
    64    luci.bisection.v1.TestNthSectionAnalysisResult nth_section_result = 16;
    65  }