New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 880910 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 881622
issue 881628

Blocking:
issue 881620



Sign in to add a comment

[Findit] Flake: Save more metadata in Flake

Project Member Reported by chanli@chromium.org, Sep 5

Issue description

To better display detected flakes, we might need to save some metadata in Flake:

Some data I have in mind:
- last_detected_time: Most recent time that an occurrence was detected for the flake
- detected_occurrence_count: Number of occurrences detected for the flake.

 
Can't we already calculate them based on what we have right now? And given that we'd need to fetch the occurrences first, the calculations will be done locally, so performance shouldn't be a concern.

Specifically, for detected_occurrence_count, I'd like to reword it to number of impacted cls, which should be more intuitive for developers to understand what, WDYT?
I'm not sure fetching occurrences first would be a good idea, especially if we want to do paging.

And for the number of impacted cls, I think you mean number of false rejections? If so that's fine with me. 
Right, paging is a good concern.

Yes, I meant number of false rejections, I assume we'd want to rank them by number of false rejections, but how about last_detected_time? It's not obvious to me how it will help display flakes.
So last_detected_time is also for displaying more relevant flakes: we should display those on-going flakes on top, rather than the stale ones. And when I do paging, it's much easier for me to fetch the on-going flakes directly.
Owner: liaoyuke@chromium.org
Status: Assigned (was: Available)
I'm more than happy to help add all needed fields, but we need to be careful with those non-trivial ones because changing models later is pretty painful.

Can we create a short doc with all the features and functionalities we have in mind, and share with the team and the UI team to gather feedback? I think it will be safer if we can have the design of the UI settled before changing the models.

Before that, we can either not rank them at all, or just fetch all occurrences and calculate necessary information to rank them, your call.
Owner: chanli@chromium.org
As discussed offline, we will add 2 metadata to Flake for now:

+ last_detected_time: Most recent time that an occurrence was detected for the flake
  - This field will be updated every time a new occurrence of the flake is detected.

+ false_rejection_count_last_week: Number of occurrences detected for the flake for the past week.
 - We will setup a cron job to update the field periodically
Blocking: 881620
Blockedon: 881622
Blockedon: 881628
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/20e841749999cfcb9ebfa491010d37386905e6c9

commit 20e841749999cfcb9ebfa491010d37386905e6c9
Author: Chan <chanli@chromium.org>
Date: Thu Sep 13 02:23:47 2018

[Findit] Add false_rejection_count_last_week and impacted_cl_count_last_week to Flake

These 2 count fields are used to rank flakes on the ranked flake dashboard.

Also in this CL, added a cron job to update these counts.

Bug:  880910 
Change-Id: I3c05554c164752f4da477c0e541955c994756593
Reviewed-on: https://chromium-review.googlesource.com/1220198
Commit-Queue: Chan Li <chanli@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Shuotao Gao <stgao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#17558}
[add] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/handlers/flake/detection/test/update_flake_counts_test.py
[add] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/handlers/flake/detection/update_flake_counts.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/model/flake/flake.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/libs/time_util.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/backend_main.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/services/constants.py
[add] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/services/flake_detection/update_flake_counts_service.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/index.yaml
[add] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/services/flake_detection/test/update_flake_counts_service_test.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/libs/test/time_util_test.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/cron.yaml
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/handlers/flake/detection/test/show_flake_test.py
[modify] https://crrev.com/20e841749999cfcb9ebfa491010d37386905e6c9/appengine/findit/handlers/flake/detection/test/flake_detection_utils_test.py

Status: Fixed (was: Started)

Sign in to add a comment