Bencher를 사용한 벤치마크 추적 방법
벤치마크를 추적하는 가장 쉬운 방법은 bencher run
CLI 하위 명령어입니다.
더 깊은 이해를 위해 벤치마킹 개요를 참조하십시오.
다음은 feature-branch
라는 적절한 이름의 기능 브랜치에서 벤치마크를 추적하기 위한 bencher run
CLI 하위 명령어 예시입니다:
bencher run \
--project save-walter-white \
--token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjbGllbnQiLCJleHAiOjE2NzQwNjA3NTAsImlhdCI6MTY3MTQ2ODc1MCwiaXNzIjoiYmVuY2hlci5kZXYiLCJzdWIiOiJzYXVsQGJldHRlcmNhbGxzYXVsLmNvbSIsIm9yZyI6bnVsbH0.CABcvWlPobAHs7wsdR6wX5p0R2jaCd7RmpsnMp5pwEc \
--adapter json \
--if-branch feature-branch \
--else-if-branch main \
--else-branch \
--testbed phoenix \
--err \
"bencher mock"`
- 프로젝트는 이미 존재해야 합니다. 프로젝트 slug나 UUID를 지정하기 위해
--project
플래그나BENCHER_PROJECT
환경 변수를 설정하세요. (예:--project save-walter-white
) - API 토큰이 이미 존재해야 합니다. API 토큰을 지정하기 위해
--token
플래그나BENCHER_API_TOKEN
환경 변수를 설정하세요. (예:--token ...
) - 선택사항: 원하는 어댑터 이름을 지정하기 위해
--adapter
플래그나BENCHER_ADAPTER
환경 변수를 설정하세요. 이 항목이 설정되지 않으면magic
어댑터가 사용됩니다. 벤치마크 하네스 어댑터들에 대한 전체 개요를 확인하세요. (예:--adapter json
) - 프로젝트 브랜치를 설정하는 데에는 몇 가지 옵션이 있습니다. 브랜치 선택에 대한 전체 개요를 확인하세요.
- 현재 브랜치를 사용하시면 이미 존재합니다. (예:
--if-branch feature-branch
) - 타겟 브랜치의 데이터를 복제하면 이미 존재합니다. (예:
--else-if-branch main
) - 그 외의 경우,
--if-branch
에 제공된 이름을 가진 새로운 브랜치를 생성합니다. 이 경우feature-branch
가 됩니다. (예:--else-branch
)
- 현재 브랜치를 사용하시면 이미 존재합니다. (예:
- 선택사항:
--testbed
플래그나BENCHER_TESTBED
환경 변수를 Testbed slug나 UUID로 설정하세요. Testbed는 이미 존재해야 합니다. 이 항목이 설정되지 않으면 기본적으로localhost
Testbed가 사용됩니다. (예:--testbed phoenix
) - 경고가 생성될 경우 명령이 실패하도록 설정하세요. 경고가 생성되기 위해서는 Threshold가 이미 존재해야 합니다. (예:
--err
) - 벤치마크를 실행하고 결과로 보고서를 생성하세요. (예:
"bencher mock"
)
상대 벤치마킹
상대 벤치마킹은 두 커밋의 나란한 비교를 실행합니다.
이는 리소스 사용 가능성이 실행 사이에 크게 변할 수 있는 노이즈가 많은 CI/CD 환경에서 유용할 수 있습니다.
다음은 feature-branch
라는 적절한 이름의 기능 브랜치에서 상대 벤치마킹을 실행하기 위한 bencher run
CLI 하위 명령어 예시입니다:
git checkout feature-branch
export FEATURE_BRANCH=feature-branch-$(git rev-parse --short HEAD)
git checkout main
bencher run \
--if-branch "$FEATURE_BRANCH" \
--else-branch \
--iter 3 \
"bencher mock"
git checkout feature-branch
bencher threshold create \
--metric-kind latency \
--branch "$FEATURE_BRANCH" \
--testbed localhost \
--test t \
--right-side 0.95
bencher run \
--if-branch "$FEATURE_BRANCH" \
--iter 3 \
--fold min \
--err \
"bencher mock"
- 기능 브랜치를 체크아웃하세요. (예:
feature-branch
) - 기능 브랜치 이름과 짧은 git commit ID를 연결한 환경 변수를 생성하세요. 이는 중요합니다! 각 실행마다 새 브랜치가 생성되도록 보장합니다.
- 타겟 브랜치를 체크아웃하세요. (예:
main
) - 타겟 브랜치를 위해
bencher run
을 실행합니다:- 제공된 브랜치는 아직 존재하지 않을 것입니다. (예:
--if-branch "$FEATURE_BRANCH"
) - 그래서 생성될 것입니다. (예:
--else-branch
)
- 제공된 브랜치는 아직 존재하지 않을 것입니다. (예:
🐰 축하합니다! 벤치마크 추적을 위해 Bencher 사용 방법을 배웠습니다! 🎉
GitHub Actions에 Bencher 추가하기 ➡
GitLab CI/CD에 Bencher 추가하기 ➡
🤖 이 문서는 OpenAI GPT-4에 의해 자동으로 생성되었습니다. 정확하지 않을 수도 있고 오류가 있을 수도 있습니다. 오류를 발견하면 GitHub에서 문제를 열어주세요.