Need method to create and save data points to ndb
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd commit 2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd Author: Jeffrey Li <lijeffrey@chromium.org> Date: Tue Dec 11 19:34:42 2018 [Findit] Flake Analyzer - Implement DataPoint.CreateAndSave() Currently data points are saved to MasterFlakeAnalyses, and are computed each time an analysis is run. Data points can instead be saved directly to ndb and queried at analysis time. If data points can be reused, swarming tasks can be skipped as data about the flakiness of a test at a configuration is already known. This can help speed up analyses that encounter precomputed data points, and enables resume upon failure for free (as rerun can simply reuse the data points). 1. Create key for data points by: gitiles project, bucket, step name, test name (base64 encoded), and git hash/revision. 2. Implement Get() method by above fields 3. Add master_name to data point for pre-luci builds 4. CreateAndSave() to write data points to ndb. Bug: 910217 Change-Id: I2147e22c51019177faabc0c2b4f2ee375fc008c0 Reviewed-on: https://chromium-review.googlesource.com/c/1355542 Commit-Queue: Jeffrey Li <lijeffrey@chromium.org> Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Reviewed-by: Shuotao Gao <stgao@chromium.org> Cr-Commit-Position: refs/heads/master@{#19491} [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/pipelines/flake_failure/update_flake_analysis_data_points_pipeline.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/pipelines/flake_failure/test/update_flake_analysis_data_points_pipeline_test.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/handlers/flake/test/check_flake_test.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/handlers/flake/check_flake.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/model/flake/analysis/test/data_point_test.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/pipelines/flake_failure/save_flakiness_verification_pipeline.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/pipelines/flake_failure/test/save_flakiness_verification_pipeline_test.py [modify] https://crrev.com/2fc3e2bd6c5b7e42a1ccedf808f90ffe3ca086cd/appengine/findit/model/flake/analysis/data_point.py
Comment 1 by bugdroid1@chromium.org
, Dec 11