bencher run CLI 하위 명령어


bencher run은 가장 인기 있는 CLI 하위 명령어입니다. 이는 벤치마크를 실행하고 결과를 보고하는 데 사용됩니다. 따라서 가장 복잡한 하위 명령어 중 하나입니다. 이 페이지에서는 bencher run에 전달할 수 있는 옵션, 플래그, 인수에 대해 설명합니다.

bencher run [OPTIONS] [COMMAND] [ARGUMENTS...]

벤치마크 명령어

bencher run에 대한 첫 번째 인수는 선택적인 벤치마크 명령입니다. 이 명령은 벤치마크 하네스를 호출할 때 실행됩니다. BENCHER_CMD 환경 변수를 사용하여 설정할 수도 있습니다. 기본적으로 이 명령은 --shell--flag 옵션으로 구성할 수 있는 쉘에서 실행됩니다. 출력은 벤치마크 하네스 어댑터에 의해 파싱되며, 이는 --adapter 옵션을 사용하여 설정할 수 있습니다. 그러나 벤치마크 하네스가 파일에 출력하면, 출력 파일 경로를 지정하기 위해 --file 옵션도 사용해야 합니다.

쉘에서 명령을 실행하고 싶지 않다면, --exec 플래그를 사용하거나 단순히 bencher run에 추가 인수로 명령에 추가 인수를 제공할 수 있습니다.

쉘 형식:

Terminal window
bencher run "bencher mock"

Exec 형식:

Terminal window
bencher run bencher mock

벤치마크 명령은 --iter 옵션을 사용하여 여러 번 실행할 수 있으며, 그 결과는 --fold 옵션을 사용하여 하나의 결과로 합칠 수 있습니다. 반복 중 어느 하나가 실패하면, --allow-failure 플래그가 설정되지 않은 경우 전체 명령이 실패한 것으로 간주됩니다.

벤치마크 명령이 지정되지 않고 --file 옵션이 있는 경우, 그러면 bencher run은 대신 출력 파일 경로에서 읽습니다. 벤치마크 명령 또는 --file 옵션이 지정되지 않은 경우, 그러면 bencher runstdin에서 대신 읽습니다. 이를 통해 다른 명령의 출력을 파일에 저장하거나 bencher run으로 파이프할 수 있습니다.

옵션

--project <PROJECT>


--project 옵션이나 BENCHER_PROJECT 환경 변수가 이미 존재하는 프로젝트의 슬러그 또는 UUID로 설정되어야 합니다. 둘 다 정의된 경우, --project 옵션이 BENCHER_PROJECT 환경 변수보다 우선순위를 가집니다.


--token <TOKEN>


--token 옵션 또는 BENCHER_API_TOKEN 환경 변수는 유효한 API 토큰으로 설정되어야 합니다. 둘 다 정의된 경우, --token 옵션이 BENCHER_API_TOKEN 환경 변수보다 우선순위를 가집니다.


--branch <BRANCH>

--if-branch <BRANCH_NAME>

--else-if-branch <BRANCH_NAME>

--else-branch

--endif-branch


전체 개요는 branch selection를 참조하세요.


--hash <HASH>


선택사항: 40자리 SHA-1 커밋 해시입니다. 두 보고서가 동일한 branch와 hash를 가지면 동일한 커밋에서 비롯된 것으로 간주됩니다. 따라서 동일한 branch 버전 번호를 가집니다.


--testbed <TESTBED>


선택사항: --testbed 옵션 또는 BENCHER_TESTBED 환경 변수를 이미 존재하는 테스트베드의 슬러그 또는 UUID로 설정할 수 있습니다. 둘 다 정의된 경우, --testbed 옵션이 BENCHER_TESTBED 환경 변수보다 우선순위를 가집니다. 둘 다 정의되지 않은 경우, 기본 테스트베드로 localhost가 사용됩니다.


--adapter <ADAPTER>

--average <AVERAGE>

--file <FILE>


전체 개요는 benchmark harness adapter를 참조하세요.


--iter <ITER>


선택사항: 실행 반복 횟수입니다. 기본값은 1입니다.


--fold <FOLD>


선택사항: 여러 결과들을 하나의 결과로 병합합니다.
필요사항: --iter가 설정되어야 합니다.
가능한 값들:

  • min: 최소값
  • max: 최대값
  • mean: 평균값
  • median: 중위값

--backdate <DATETIME_SECONDS>


선택사항: 보고서의 날짜를 과거로 변경합니다 (epoch 이후 초). 주의: 이는 과거 보고서의 순서에 영향을 줄 수 없습니다! 이는 프로젝트에 연대순서대로 역사적 데이터를 초기 씨딩할 때 유용합니다.


--allow-failure


선택사항: 벤치마크 테스트 실패를 허용합니다.


--err


선택사항: 경고가 생성될 때 오류가 발생합니다. 전체 개요는 thresholds and alerts를 참조하세요.


--html


선택사항: 결과를 HTML 형식으로 출력합니다.


--quiet


선택 사항 : 정적 모드, 최종 보고서 JSON 만 출력합니다. 기본값은 false입니다.


--ci-no-metrics


선택사항: 벤치마크 메트릭스와 경계 제한을 생략하세요. 필요사항: --github-actions


--ci-only-thresholds


선택사항: Measure, Branch, 그리고 Testbed에 대해 Threshold가 존재하는 경우에만 CI에 결과를 게시합니다. Threshold가 존재하지 않으면, 아무 것도 게시되지 않습니다. 필요사항: --github-actions


--ci-only-on-alert


선택사항: an Alert가 생성되어야만 CI에 결과를 게시 시작합니다. 경고가 생성된 경우, 그 후의 결과들도 경고가 없어도 게시될 것입니다. 필요사항: --github-actions


--ci-id


선택사항: CI에 결과를 게시하기 위한 사용자 지정 ID입니다. 기본적으로, Bencher는 자동으로 Project, Branch, Testbed, 그리고 Adapter의 조합에 따라 결과를 분리합니다. Bencher가 동일한 Project, Branch, Testbed, 그리고 Adapter 조합으로 동일한 CI 워크플로에서 여러 번 실행될 때 사용자 지정 ID를 설정하는 것이 유용합니다. 필요사항: --github-actions


--ci-number


선택사항: CI에 결과를 게시하기 위한 이슈 번호입니다. Bencher는 결과를 게시하는 데 필요한 CI 이슈 번호를 감지하기 위해 최선을 다합니다. 그러나 이는, GitHub Actions에서 workflow_run을 사용하는 등 복잡한 설정에서 항상 가능한 것은 아닙니다. 필요사항: --github-actions


--github-actions <GITHUB_TOKEN>


선택사항: GitHub API 인증 토큰을 설정합니다 (예: --github-actions ${{ secrets.GITHUB_TOKEN }}). 이 옵션이 설정되고 bencher run이 풀 리퀘스트의 일부로 GitHub Actions에서 사용되면, 결과는 풀 리퀘스트에 댓글로 추가될 것입니다. 이를 하는 가장 편리한 방법은 GitHub Actions GITHUB_TOKEN 환경 변수입니다.

🐰 Docker 컨테이너 내부에서 실행되는 GitHub Action인 경우, 다음 환경 변수를 전달하고 GITHUB_EVENT_PATH에 지정된 경로를 마운트해야 합니다:

  • GITHUB_ACTIONS
  • GITHUB_EVENT_NAME
  • GITHUB_EVENT_PATH

--shell <SHELL>


선택사항: 쉘 명령어 경로입니다. 유닉스와 같은 환경에서는 기본값이 /bin/sh이고, 윈도우에서는 cmd입니다.


--flag <FLAG>


선택사항: 쉘 명령어 플래그입니다. 유닉스와 같은 환경에서는 기본값이 -c이고, 윈도우에서는 /C입니다.


--exec


선택 사항: 명령을 쉘 명령이 아닌 실행 가능한 명령으로 실행합니다. bencher run에 대한 인수의 수가 하나보다 많은 경우 기본값입니다.



--host <URL>


선택사항: 백엔드 호스트 URL입니다. 기본값은 https://api.bencher.dev입니다.


--attempts <ATTEMPTS>


선택사항: 최대 요청 재시도 시도 횟수입니다. 기본값은 10입니다.


--retry-after <RETRY_AFTER_SECONDS>


선택사항: 주어진 초 수 후에 요청을 재시도합니다 (지수 백오프). 기본값은 1입니다.


--strict


선택적: JSON 응답을 엄격하게 파싱합니다. 기본값은 false입니다. 이 기능을 활성화하면 중단 변경으로 인해 클라이언트 업데이트가 더 자주 필요하게 됩니다.


--dry-run


선택사항: 드라이 런을 수행합니다. 이는 백엔드에 어떠한 데이터도 저장하지 않습니다. branch selection에서 상세하게 설명된 Report나 Branch가 생성되지 않습니다.


-h

--help


선택사항: 도움말을 출력합니다.



🐰 축하합니다! bencher run의 기본사항을 배웠습니다! 🎉


bencher run으로 Branch 선택하기 ➡ 계속 진행하세요.

🤖 이 문서는 OpenAI GPT-4에 의해 자동으로 생성되었습니다. 정확하지 않을 수도 있고 오류가 있을 수도 있습니다. 오류를 발견하면 GitHub에서 문제를 열어주세요.