generated from ttipo/project-base
test(backend): CPU 시간 단언을 지금 스레드의 user 시간으로 — CI 흔들림 고침
CI / Backend (lint · type-check · test · e2e · build) (pull_request) Successful in 13m21s
CI / Frontend (lint · type-check · test · build) (pull_request) Successful in 12m37s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (pull_request) Successful in 2m18s
CI / 에러 코드 SSOT 동기화 검사 (pull_request) Successful in 11m10s
CI / Backend (lint · type-check · test · e2e · build) (push) Successful in 14m41s
CI / Frontend (lint · type-check · test · build) (push) Successful in 14m29s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (push) Successful in 2m26s
CI / 에러 코드 SSOT 동기화 검사 (push) Successful in 12m27s
CI / Backend (lint · type-check · test · e2e · build) (pull_request) Successful in 13m21s
CI / Frontend (lint · type-check · test · build) (pull_request) Successful in 12m37s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (pull_request) Successful in 2m18s
CI / 에러 코드 SSOT 동기화 검사 (pull_request) Successful in 11m10s
CI / Backend (lint · type-check · test · e2e · build) (push) Successful in 14m41s
CI / Frontend (lint · type-check · test · build) (push) Successful in 14m29s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (push) Successful in 2m26s
CI / 에러 코드 SSOT 동기화 검사 (push) Successful in 12m27s
문서만 바꾼 PR(#8, run 138)의 CI 에서 할당이 많은 성능 단언 셋이 넘쳤다(받는 사람 맞추기 3.29초 · JSON 모양 1.35초 · DTO 2.94초). 프로세스 user + system 시간에는 V8 의 GC · JIT 도우미 스레드와 페이지 폴트 몫이 들어가 기계 사정을 따라 크게 흔들린다. 같은 Linux 컨테이너에서 전체 테스트 16회: 프로세스 user + system 은 4회 넘침, 스레드 user 는 0회. 막으려는 옛 경로(제곱)는 거의 user 시간이라 그대로 잡힌다(받는 사람 맞추기 옛 방법 51~70초). 받는 사람 맞추기 한도는 CI 쪽 값(0.17~0.25초)의 10배쯤인 2.5초로 올렸다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit was merged in pull request #12.
This commit is contained in:
@@ -384,7 +384,7 @@ dc exec backend npm uninstall <패키지>
|
||||
- [ ] **Swagger**: 새 엔드포인트에 `@ApiTags`/`@ApiOperation` + `@ApiStandardResponse`/`@ApiErrorResponse`.
|
||||
- [ ] **경로 alias**: `@/` 사용 (`tsconfig.json` paths + jest `moduleNameMapper` 설정 완료). 깊은 상대경로 금지.
|
||||
- [ ] **lint/test**: 커밋 전 `npm run lint` (`--max-warnings 0`) + `npm run test` 통과. 자동 수정은 `npm run lint:fix`.
|
||||
성능 단언은 `backend/test/cpu-time.ts` 의 `startCpuTimer()`(프로세스 CPU 시간)로 잰다 — 벽시계 한도는 부하에서 흔들린다 ([[testing]]).
|
||||
성능 단언은 `backend/test/cpu-time.ts` 의 `startCpuTimer()`(지금 스레드의 user CPU 시간 — GC · JIT 도우미 스레드와 system 시간은 뺀다)로 잰다 — 벽시계 한도는 부하에서 흔들린다 ([[testing]]).
|
||||
- [ ] **의존성 변경 시**: 호스트가 아니라 **컨테이너 안에서** `npm install/uninstall` (위 주의 항목 참조). 변경 후 Docker 빌드 확인.
|
||||
- [ ] **에러 던지기**: `HttpException` 직접 생성은 린트로 차단된다 — `BusinessException(code)` 사용.
|
||||
- [ ] **새 필수 env 추가 시**: `shared/config/env.validation.ts` 에 검증 규칙과 테스트를 함께 추가 ([[env-structure]]).
|
||||
|
||||
Reference in New Issue
Block a user