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

     1  // Copyright 2022 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.analysis.bq;
    18  
    19  import "google/protobuf/timestamp.proto";
    20  import "go.chromium.org/luci/analysis/proto/v1/common.proto";
    21  import "go.chromium.org/luci/analysis/proto/v1/rules.proto";
    22  
    23  option go_package = "go.chromium.org/luci/analysis/proto/bq;bqpb";
    24  
    25  // BigQuery representation of a failure association rule.
    26  // NextID: 16.
    27  message FailureAssociationRulesHistoryRow {
    28    // The resource name of the failure association rule.
    29    // Can be used to refer to this rule, e.g. in Rules.Get RPC.
    30    // Format: projects/{project}/rules/{rule_id}.
    31    string name = 1;
    32  
    33    // The LUCI Project this bug belongs to.
    34    string project = 2;
    35  
    36    // The unique identifier for the rule. This rule_id corresponds to the cluster_id
    37    // in the clustered_failures table.
    38    string rule_id = 3;
    39  
    40    // The rule predicate, defining which failures are being associated.
    41    string rule_definition = 4;
    42  
    43    // The last time either rule_definition or is_active is changed.
    44    google.protobuf.Timestamp predicate_last_update_time = 5;
    45  
    46    message Bug {
    47      // system is the bug tracking system containing the bug the failures are
    48      // associated with. The only supported values are 'monorail' and 'buganizer'.
    49      string system = 1;
    50  
    51      // id is the identifier of the bug the failures are associated with, as
    52      // identified by the bug tracking system itself. For monorail, the scheme is
    53      // {project}/{numeric_id}, for buganizer, the scheme is {numeric_id}.
    54      string id = 2;
    55    }
    56  
    57    // The system and the id of where the bug is tracked.
    58    Bug bug = 6;
    59  
    60    // Whether the bug must still be updated by LUCI Analysis, and whether
    61    // failures should still be matched against this rule.
    62    bool is_active = 7;
    63  
    64    // Whether this rule should manage the priority and verified status
    65    // of the associated bug based on the impact of the cluster defined
    66    // by this rule.
    67    bool is_managing_bug = 8;
    68  
    69    // Indicates whether we should update the priority of the bug
    70    // that is associated with this rule based on the cluster's impact.
    71    // This toggle has must have no effect if the is_managing_bug toggle is off.
    72    bool is_managing_bug_priority = 9;
    73  
    74    // Tracks when the field is_managing_bug_priority was last updated.
    75    google.protobuf.Timestamp is_managing_bug_priority_last_update_time = 10;
    76  
    77    // This suggested cluster this rule was created from.
    78    // Until re-clustering is complete (and the residual impact of the source
    79    // cluster has reduced to zero), source_cluster.algorithm and source_cluster.id
    80    // tell bug filing to ignore the source suggested cluster when
    81    // determining whether new bugs need to be filed.
    82    luci.analysis.v1.ClusterId source_cluster = 11;
    83  
    84    // Bug management state. System controlled data.
    85    luci.analysis.v1.BugManagementState bug_management_state = 12;
    86  
    87    // The time the rule was created.
    88    google.protobuf.Timestamp create_time = 13;
    89  
    90  	// The last time an auditable field was updated. An auditable field
    91  	// is any field other than a system controlled data field.
    92    google.protobuf.Timestamp last_auditable_update_time = 14;
    93  
    94    // The last time the rule was updated.
    95    google.protobuf.Timestamp last_update_time = 15;
    96  
    97    // The time the entry was exported to bigquery table.
    98    google.protobuf.Timestamp exported_time = 16;
    99  }