Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
README.md | H A D | 25-Apr-2025 | 1.4 KiB | 32 | 24 | |
__init__.py | H A D | 25-Apr-2025 | 0 | 1 | 0 | |
check_disabled_tests.py | H A D | 25-Apr-2025 | 8.7 KiB | 283 | 210 | |
export_test_times.py | H A D | 25-Apr-2025 | 367 | 18 | 11 | |
import_test_stats.py | H A D | 25-Apr-2025 | 6.5 KiB | 194 | 152 | |
monitor.py | H A D | 25-Apr-2025 | 4.7 KiB | 146 | 111 | |
test_dashboard.py | H A D | 25-Apr-2025 | 6.6 KiB | 188 | 159 | |
upload_artifacts.py | H A D | 25-Apr-2025 | 2 KiB | 63 | 50 | |
upload_dynamo_perf_stats.py | H A D | 25-Apr-2025 | 5.3 KiB | 177 | 150 | |
upload_external_contrib_stats.py | H A D | 25-Apr-2025 | 4.9 KiB | 158 | 141 | |
upload_metrics.py | H A D | 25-Apr-2025 | 6.9 KiB | 193 | 139 | |
upload_sccache_stats.py | H A D | 25-Apr-2025 | 1.5 KiB | 52 | 42 | |
upload_stats_lib.py | H A D | 25-Apr-2025 | 7.8 KiB | 265 | 201 | |
upload_test_stat_aggregates.py | H A D | 25-Apr-2025 | 3 KiB | 87 | 73 | |
upload_test_stats.py | H A D | 25-Apr-2025 | 9.2 KiB | 294 | 204 | |
upload_test_stats_intermediate.py | H A D | 25-Apr-2025 | 907 | 31 | 22 |
README.md
1# PyTorch CI Stats 2 3We track various stats about each CI job. 4 51. Jobs upload their artifacts to an intermediate data store (either GitHub 6 Actions artifacts or S3, depending on what permissions the job has). Example: 7 https://github.com/pytorch/pytorch/blob/a9f6a35a33308f3be2413cc5c866baec5cfe3ba1/.github/workflows/_linux-build.yml#L144-L151 82. When a workflow completes, a `workflow_run` event [triggers 9 `upload-test-stats.yml`](https://github.com/pytorch/pytorch/blob/d9fca126fca7d7780ae44170d30bda901f4fe35e/.github/workflows/upload-test-stats.yml#L4). 103. `upload-test-stats` downloads the raw stats from the intermediate data store 11 and uploads them as JSON to Rockset, our metrics backend. 12 13```mermaid 14graph LR 15 J1[Job with AWS creds<br>e.g. linux, win] --raw stats--> S3[(AWS S3)] 16 J2[Job w/o AWS creds<br>e.g. mac] --raw stats--> GHA[(GH artifacts)] 17 18 S3 --> uts[upload-test-stats.yml] 19 GHA --> uts 20 21 uts --json--> R[(Rockset)] 22``` 23 24Why this weird indirection? Because writing to Rockset requires special 25permissions which, for security reasons, we do not want to give to pull request 26CI. Instead, we implemented GitHub's [recommended 27pattern](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) 28for cases like this. 29 30For more details about what stats we export, check out 31[`upload-test-stats.yml`](https://github.com/pytorch/pytorch/blob/d9fca126fca7d7780ae44170d30bda901f4fe35e/.github/workflows/upload-test-stats.yml) 32