| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import base64 | 5 import base64 |
| 6 | 6 |
| 7 from google.appengine.ext import ndb | 7 from google.appengine.ext import ndb |
| 8 | 8 |
| 9 from gae_libs.model.versioned_model import VersionedModel | 9 from gae_libs.model.versioned_model import VersionedModel |
| 10 from model import result_status | 10 from model import result_status |
| 11 from model import triage_status | 11 from model import triage_status |
| 12 from model.base_analysis import BaseAnalysis | 12 from model.base_analysis import BaseAnalysis |
| 13 from model.base_build_model import BaseBuildModel | 13 from model.base_build_model import BaseBuildModel |
| 14 from model.base_triaged_model import TriagedModel | 14 from model.base_triaged_model import TriagedModel |
| 15 from model.flake.flake_swarming_task import FlakeSwarmingTaskData | 15 from model.flake.flake_swarming_task import FlakeSwarmingTaskData |
| 16 | 16 |
| 17 | 17 |
| 18 class DataPoint(ndb.Model): | 18 class DataPoint(ndb.Model): |
| 19 build_number = ndb.IntegerProperty(indexed=False) | 19 build_number = ndb.IntegerProperty(indexed=False) |
| 20 pass_rate = ndb.FloatProperty(indexed=False) | 20 pass_rate = ndb.FloatProperty(indexed=False) |
| 21 task_id = ndb.StringProperty(indexed=False) | 21 task_id = ndb.StringProperty(indexed=False) |
| 22 commit_position = ndb.IntegerProperty(indexed=False) |
| 23 git_hash = ndb.StringProperty(indexed=False) |
| 24 previous_build_commit_position = ndb.IntegerProperty(indexed=False) |
| 25 previous_build_git_hash = ndb.StringProperty(indexed=False) |
| 22 | 26 |
| 23 | 27 |
| 24 class MasterFlakeAnalysis( | 28 class MasterFlakeAnalysis( |
| 25 BaseAnalysis, BaseBuildModel, VersionedModel, TriagedModel): | 29 BaseAnalysis, BaseBuildModel, VersionedModel, TriagedModel): |
| 26 """Represents an analysis of a flaky test on a Waterfall test cycle.""" | 30 """Represents an analysis of a flaky test on a Waterfall test cycle.""" |
| 27 | 31 |
| 28 @ndb.ComputedProperty | 32 @ndb.ComputedProperty |
| 29 def step_name(self): | 33 def step_name(self): |
| 30 return self.key.pairs()[0][1].split('/')[3] | 34 return self.key.pairs()[0][1].split('/')[3] |
| 31 | 35 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 # Findit's automatic analysis upon detection, or Findit API. | 165 # Findit's automatic analysis upon detection, or Findit API. |
| 162 triggering_source = ndb.IntegerProperty(default=None, indexed=True) | 166 triggering_source = ndb.IntegerProperty(default=None, indexed=True) |
| 163 | 167 |
| 164 # Who triggered the analysis. Used for differentiating between manual and | 168 # Who triggered the analysis. Used for differentiating between manual and |
| 165 # automatic runs, and determining the most active users to gather feedback. | 169 # automatic runs, and determining the most active users to gather feedback. |
| 166 triggering_user_email = ndb.StringProperty(default=None, indexed=False) | 170 triggering_user_email = ndb.StringProperty(default=None, indexed=False) |
| 167 | 171 |
| 168 # Overall conclusion of analysis result for the flake. Found untriaged, Found | 172 # Overall conclusion of analysis result for the flake. Found untriaged, Found |
| 169 # Correct, etc. used to filter what is displayed on the check flake dashboard. | 173 # Correct, etc. used to filter what is displayed on the check flake dashboard. |
| 170 result_status = ndb.IntegerProperty(indexed=True) | 174 result_status = ndb.IntegerProperty(indexed=True) |
| OLD | NEW |