github.com/GoogleCloudPlatform/testgrid@v0.0.174/pb/summary/summary.proto (about) 1 // Summary info for TestGrid tests, dashboard tabs, and dashboards. 2 // Stored in GCS as "dashboard-<normalized dashboard name>". 3 4 syntax = "proto3"; 5 6 package testgrid.summary; 7 8 option go_package = "github.com/GoogleCloudPlatform/testgrid/pb/summary"; 9 10 import "google/protobuf/timestamp.proto"; 11 12 // Summary of a failing test. 13 message FailingTestSummary { 14 // Display name of the test. 15 string display_name = 1; 16 17 // Name of the test. E.g., the target for tests in Sponge. 18 string test_name = 2; 19 20 // First build ID at which the test failed. 21 string fail_build_id = 3; 22 23 // Timestamp for the first cycle in which the test failed. 24 double fail_timestamp = 4; 25 26 // Last build ID at which the test passed. 27 string pass_build_id = 5; 28 29 // Timestamp for the last cycle in which the test passed. 30 double pass_timestamp = 6; 31 32 // Number of times the test has failed. 33 int32 fail_count = 7; 34 35 // Link to search for build changes. 36 string build_link = 8; 37 38 // Text for option to search for build changes. 39 string build_link_text = 9; 40 41 // Text to display for link to search for build changes. 42 string build_url_text = 10; 43 44 // Text for failure statuses associated with this test. 45 string failure_message = 11; 46 47 // List of bug IDs for bugs associated with this test. 48 repeated string linked_bugs = 12; 49 50 // A link to the first build in which the test failed. 51 string fail_test_link = 13; 52 53 // A link to the latest build in which the test failed. 54 string latest_fail_test_link = 17; 55 56 // The test ID for the latest test failure. (Does not indicate the failure is 57 // 'over', just the latest test failure we found.) 58 string latest_fail_build_id = 14; 59 60 // Maps (property name):(property value) for arbitrary alert properties. 61 map<string, string> properties = 15; 62 63 // A list of IDs for issue hotlists related to this failure. 64 repeated string hotlist_ids = 16; 65 66 // Dynamic email list, route email alerts to these instead of the configured 67 // defaults. 68 repeated string email_addresses = 18; 69 70 // map of custom column headers 71 map<string,string> custom_column_headers = 19; 72 } 73 74 // Metrics about a specific test, i.e. passes, fails, total runs, etc. 75 // Next ID: 12 76 message TestInfo { 77 // The display name of the test, typically what is shown for each row in 78 // TestGrid 79 string display_name = 1; 80 81 // The total number of test runs not including runs failed due to 82 // infrastructure failures. 83 int32 total_non_infra_runs = 2; 84 85 // The number of passed test runs not including runs failed due to 86 // infrastructure failures. 87 int32 passed_non_infra_runs = 3; 88 89 // The number of failed test runs not including runs failed due to 90 // infrastructure failures. 91 int32 failed_non_infra_runs = 4; 92 93 // The number of failed test runs specifically due to infrastructure 94 // failures. 95 int32 failed_infra_runs = 5; 96 97 // The total number of all runs, including failures due to infrastructure 98 int32 total_runs_with_infra = 6; 99 100 // Any other type of runs not included above. 101 int32 other_runs = 7; 102 103 // The flakiness of the test, measured out of 100 104 float flakiness = 8; 105 106 // The flakiness of the test from previous intervals 107 repeated float previous_flakiness = 10; 108 109 enum Trend { 110 UNKNOWN = 0; 111 NO_CHANGE = 1; 112 UP = 2; 113 DOWN = 3; 114 } 115 116 // The change of flakiness based on the last interval's flakiness 117 // e.g. if last interval the flakiness was 50, and now it's 75, the 118 // trend is UP. A trend of NO_CHANGE means last week and this week were 119 // exactly the same. The interval is set by each tab's config, with 120 // a default of 7 days. 121 Trend change_from_last_interval = 9; 122 123 // A map of infra failure name to the count of that failure for the interval. 124 map<string, int32> infra_failures = 11; 125 } 126 127 // Summary of the flakiness and overall healthiness of a dashboard tab 128 message HealthinessInfo { 129 130 // The start of the time frame that the analysis was run for. 131 // Represents the lower bound but does not guarantee that the earliest 132 // test occurred at start 133 google.protobuf.Timestamp start = 1; 134 135 // The end of the time frame that the analysis was run for. 136 // Same caveat as above but for upper bound. 137 google.protobuf.Timestamp end = 2; 138 139 // A list of test entries associated with this tab + timeframe. 140 repeated TestInfo tests = 3; 141 142 // The flakiness out of 100 (think percentage but drop the sign) 143 float average_flakiness = 4; 144 145 // The average flakiness for previous intervals 146 repeated float previous_flakiness = 5; 147 } 148 149 // Information about alerts that have been sent 150 message AlertingData { 151 // Seconds since epoch at which an email was last sent 152 google.protobuf.Timestamp last_email_time = 1; 153 } 154 155 // Summary of a dashboard tab. 156 message DashboardTabSummary { 157 // The name of the dashboard. 158 string dashboard_name = 1; 159 160 // The name of the dashboard tab. 161 string dashboard_tab_name = 2; 162 163 // Any top-level alert on this dashboard tab. 164 string alert = 3; 165 166 // List of failing test summary information. 167 repeated FailingTestSummary failing_test_summaries = 4; 168 169 // Seconds since epoch at which the test group was last updated. 170 double last_update_timestamp = 5; 171 172 // A summary of the status of this dashboard tab. 173 string status = 6; 174 175 enum TabStatus { 176 NOT_SET = 0; 177 UNKNOWN = 1; 178 PASS = 2; 179 FAIL = 3; 180 FLAKY = 4; 181 STALE = 5; 182 BROKEN = 6; 183 PENDING = 7; 184 ACCEPTABLE = 8; 185 } 186 187 // The overall status for this dashboard tab. 188 TabStatus overall_status = 7; 189 190 // The ID for the latest passing build. 191 string latest_green = 8; 192 193 // Seconds since epoch at which tests last ran. 194 double last_run_timestamp = 9; 195 196 // String indicating the URL for linking to a bug. 197 string bug_url = 10; 198 199 reserved 11; 200 201 // Metrics for the recent healthiness of a tab 202 HealthinessInfo healthiness = 12; 203 204 // All the issue IDs linked to this tab. 205 repeated string linked_issues = 13; 206 207 // Metrics about alerts sent with respect to this summary 208 // Maintained by alerter; does not need to be populated by summarizer 209 AlertingData alerting_data = 14; 210 211 // DEPRECATED: now part of the TabStatus. 212 bool acceptably_flaky = 15 [deprecated = true]; 213 214 // Additional metrics provided for the dashboard tab 215 DashboardTabSummaryMetrics summary_metrics = 16; 216 } 217 218 // Most recent summary metrics for the tab calculated over columns (not individual tests) 219 message DashboardTabSummaryMetrics { 220 // Number of total columns analyzed by summarizer 221 int32 completed_columns = 1; 222 223 // Number of columns with all tests passing 224 int32 passing_columns = 2; 225 226 // Number of ignored columns 227 int32 ignored_columns = 3; 228 } 229 230 // Summary state of a dashboard. 231 message DashboardSummary { 232 // Summary of a dashboard tab; see config.proto. 233 repeated DashboardTabSummary tab_summaries = 1; 234 }