Refine L3 promotion criteria for downstream repositories - #102
Conversation
Replace the "Flaky Jobs" stat card with a "Timeout Rate" percentage card on the CRCR downstream repo page, aligning with the L3 promotion criteria proposed in pytorch/rfcs#102 which defines timeout rate < 10% as an infrastructure metric. The timeout rate is computed as timed_out / total_jobs directly in the ClickHouse query, replacing the complex flaky-job subquery. The card shows the percentage with color coding: green (0%), orange (>0%), red (≥10% — exceeds L3 threshold).
Update the Pass Rate card color coding to match the L3 promotion criteria from pytorch/rfcs#102 (job pass rate > 90%): - Green: 100% (perfect) - Orange: 90–99.9% (meets L3 threshold) - Red: < 90% (below L3 threshold) Previously the thresholds were ≥95% green, ≥80% orange, <80% red.
| > \[!NOTE\] | ||
| > - The requirements above are an **initial reference** and may **be adjusted over time based on real-world conditions** (e.g., determining the specific values of `X`). | ||
| > - The requirements above are an **initial reference** and may **be adjusted over time based on real-world conditions**. | ||
| > - To maintain the PyTorch community's user experience, **downstream repos that no longer meet the requirements of their current level will be downgraded to the level that matches their actual status.** |
There was a problem hiding this comment.
HI @fffrog maybe we should also callout de-motion Criteria here. Also would be nice to document temporary downgrade process.
There was a problem hiding this comment.
Another point to consider, and maybe add here is that we probably want to add possibility of temporary downgrades for certain repos. For example when dealing with SEV's.
There was a problem hiding this comment.
Agree on that. We can also write a script to automatically upgrade or downgrade the repos so that we don't need to waste our efforts tracking whether a repo meets the criteria. WDYT?
There was a problem hiding this comment.
Hi @atalman, thank you for those valuable suggestions, and I have added new sections named Promotion and Demotion, especially, add a new mechanism to achieve the temporary downgrade.
There was a problem hiding this comment.
@can-gaa-hou Thank you.
Sure, based on the new mechanism of temporary downgrade, we can prepare a script to collect the necessary info to determine whether some repo should be downgraded.
Replace the "Flaky Jobs" stat card with a "Timeout Rate" percentage card on the CRCR downstream repo page, aligning with the L3 promotion criteria proposed in pytorch/rfcs#102 which defines timeout rate < 10% as an infrastructure metric. The timeout rate is computed as timed_out / total_jobs directly in the ClickHouse query, replacing the complex flaky-job subquery. The card shows the percentage with color coding: green (0%), orange (>0%), red (≥10% — exceeds L3 threshold).
Update the Pass Rate card color coding to match the L3 promotion criteria from pytorch/rfcs#102 (job pass rate > 90%): - Green: 100% (perfect) - Orange: 90–99.9% (meets L3 threshold) - Red: < 90% (below L3 threshold) Previously the thresholds were ≥95% green, ≥80% orange, <80% red.
…colors with L3 criteria (#8421) ## Summary Two changes to the CRCR per-repo dashboard page (`/crcr/{org}/{repo}`), aligning stat card thresholds with the L3 promotion criteria proposed in [pytorch/rfcs#102](pytorch/rfcs#102). ### 1. Replace Flaky Jobs card → Timeout Rate **ClickHouse query** (`crcr_backend_summary/query.sql`): - Removed the complex flaky-job subquery (correlated subquery scanning the table twice) - Added `timeout_rate = timed_out / total_jobs` **Frontend card**: - Shows percentage (e.g., `0.0%`, `1.2%`) - Sub-text: `X timed out / Y jobs` - Color: green (0%), orange (>0% but <10%), red (≥10% — exceeds L3 threshold) ### 2. Align Pass Rate color thresholds Updated to match L3 criteria (`job pass rate > 90%`): - **Green**: 100% - **Orange**: 90–99.9% (meets L3) - **Red**: < 90% (below L3) Previously: ≥95% green, ≥80% orange, <80% red. ## Context The L3 criteria in [pytorch/rfcs#102](pytorch/rfcs#102) defines: - **Timeout rate < 10%** as an infrastructure reliability signal - **Job pass rate > 90%** as a test quality signal These cards make L3 readiness directly visible on the per-repo dashboard. ## Test plan - [ ] Verify `crcr_backend_summary` query returns `timeout_rate` correctly - [ ] Verify Timeout Rate card renders with proper color coding - [ ] Verify Pass Rate card shows red when < 90%, orange when 90–99.9%, green at 100%
| | Metric | Target | Description | | ||
| | :--- | :--- | :--- | | ||
| | Max execution time | < 4 h | The longest "run" phase of any single job (excludes queue wait). | | ||
| | Avg queue time | < 30 min | Average time a job waits before a runner picks it up (excludes execution). | |
There was a problem hiding this comment.
There was a problem hiding this comment.
Thank you for asking this question. I've already sought help in this channel (https://pytorch.slack.com/archives/C0BBJK4B1EJ/p1785912202488279).
Additionally, I'd like to share my personal thoughts.
I believe that avg queue time here is just a reference value, but it is indeed a necessary metric. So, what we need to discuss is how to calculate the correct value, right?
|
Hi @albanD @atalman @can-gaa-hou , the new commit is ready, please help to take a look at it when you have a time. thank you in advance. |
Summary
This PR clarifies the L3 promotion criteria for downstream repositories by: