ci-metrics

작성자: pytorch

PyTorch CI, GitHub Actions, HUD, Grafana 및 인프라 메트릭을 조회합니다. 사용자가 CI 기간, 작업 실패, 대기 시간, 워크플로우 추세 등에 대해 질문할 때 사용하세요.

npx skills add https://github.com/pytorch/pytorch --skill ci-metrics

PyTorch CI Metrics

PyTorch CI and infrastructure metrics are exposed through Grafana. Use .claude/skills/ci-metrics/gcx-wrapper.sh for all Grafana access; it configures the PyTorch Grafana server, context, and authentication. Only users with write permission to the repo have access to Grafana. The authentication only provides read only access.

Requirements

The wrapper needs these tools on PATH:

  • gh - fetches the Grafana token and must be authenticated; if not, run gh auth login --hostname github.com --git-protocol ssh --web.
  • curl - downloads gcx and fetches the token from HUD.

On first use the wrapper downloads a pinned, checksum-verified gcx binary into a private cache (~/.cache/pytorch-ci-metrics/) and authenticates automatically. Nothing is installed on your PATH. If a tool is missing or gh is not authenticated, it exits with an error describing what to fix.

Datasources

Get the list of datasources available:

.claude/skills/ci-metrics/gcx-wrapper.sh datasources list

The data contains metrics for many repos owned by the PyTorch repo. When possible, restrict queries to just the pytorch/pytorch repository.

CI and Test Run Data

CI and test run data are stored in grafana-clickhouse-datasource. List all the available tables:

.claude/skills/ci-metrics/gcx-wrapper.sh datasources clickhouse list-tables

Important dataset:

  • GitHub webhook data
  • Tests
    • Database: tests
    • tests.all_test_runs - contains every test run. This is an extremely large table, so be considerate with filtering and timing.
    • Do not use tests.test_run_s3 as it contains partial data only.

To get additional guidance on common queries, clone https://github.com/pytorch/test-infra into a temporary directory and read the torchci folder.

Example Queries

Within the pytorch/pytorch repo on main, list the top most failing workflow jobs in the last 2 weeks:

.claude/skills/ci-metrics/gcx-wrapper.sh datasources clickhouse query "
  SELECT name, count(DISTINCT id) AS failures
  FROM default.workflow_job
  WHERE conclusion = 'failure'
    AND completed_at >= now() - INTERVAL 2 WEEK
    AND repository_full_name = 'pytorch/pytorch'
    AND head_branch = 'main'
  GROUP BY name ORDER BY failures DESC LIMIT 10"

For a test file, how many times was it run in the last week? How many times did it pass or fail?

.claude/skills/ci-metrics/gcx-wrapper.sh datasources clickhouse query "
  SELECT
    file,
    classname,
    name,
    count() AS runs,
    countIf(failure_count = 0 AND error_count = 0 AND skipped_count = 0) AS successful,
    countIf(failure_count > 0 OR error_count > 0) AS fails,
    countIf(skipped_count > 0) AS skipped
  FROM tests.all_test_runs
  WHERE time_inserted >= now() - INTERVAL 7 DAY
    AND file = 'lazy/test_ts_opinfo.py'
  GROUP BY file, classname, name
  ORDER BY runs DESC"

CI Infrastructure

CI infrastructure metrics are stored in grafanacloud-pytorchci-prom. To get a better understanding of the data, clone these repositories in a temporary directory:

Example Queries

Which runner types have the deepest queue right now (jobs assigned but not yet running)?

.claude/skills/ci-metrics/gcx-wrapper.sh datasources prometheus query -d grafanacloud-prom 'topk(10, clamp_min(sum by (name) (gha_assigned_jobs) - sum by (name) (gha_running_jobs), 0))'

How many jobs were running per cluster over the last 6 hours, sampled every 30 minutes? Use --since/--step (or --from/--to) for a range query:

.claude/skills/ci-metrics/gcx-wrapper.sh datasources prometheus query -d grafanacloud-prom 'sum by (cluster) (gha_running_jobs)' --since 6h --step 30m

pytorch의 다른 스킬

aoti-debug
pytorch
AOTInductor(AOTI) 오류 및 충돌을 디버깅합니다. AOTI 세그폴트, 장치 불일치 오류, 상수 로딩 실패 또는 런타임 오류가 발생할 때 사용하세요.
official
pt2-bug-basher
pytorch
PyTorch 2 컴파일러 스택의 Dynamo 그래프 중단, Inductor 코드 생성 오류, AOTAutograd 충돌, 정확도 불일치 등의 디버깅을 수행합니다. 다음 상황에서 사용하세요…
official
r2-outage-toggle
pytorch
Cloudflare R2(download-r2.pytorch.org) 사용을 R2 중단 중에 manage_v2.py에서 비활성화하거나 재활성화합니다. nightly 빌드, prod/stable 등에 대해 R2를 끄거나 켤 수 있습니다.
official
release-cherry-pick-missing-reverts
pytorch
pytorch/pytorch 메인에 적용되었지만, 리버트된 커밋이 이미 릴리스 브랜치(release/X.Y)에 포함되어 있어 해당 브랜치에는 없는 리버트를 찾습니다.
official
release-create-tracker-issue
pytorch
릴리스 공지에서 PyTorch 릴리스 트래커 / 체리픽 추적 이슈를 생성하고 (선택적으로 열 수 있습니다).
official
release-create-validation-issue
pytorch
GitHub 마일스톤에서 열린/닫힌 이슈와 릴리스 트래커 이슈에서 체리픽을 가져와 PyTorch 릴리스 검증 체크리스트 이슈를 생성합니다.
official
release-go-live-binary-build-matrix
pytorch
tools/scripts/generate_binary_build_matrix.py를 PyTorch 릴리스가 라이브될 때 업데이트합니다. CURRENT_STABLE_VERSION을 새로운 안정 버전으로 올리고, 해당…
official
release-update-docker-image-pin
pytorch
(또는 재고정) PyTorch/pytorch의 nightly/release 바이너리 빌드 워크플로우에서 사용되는 Linux manywheel 빌더 도커 이미지를 고정된 .ci/docker 빌드로…
official