Repository navigation
Conversation
- 개인 QR 인증 성공/실패 카운터(certification.personal.result) 추가 - 그룹 QR 인증 카운터를 컨트롤러에서 서비스로 이동하고 실패 사유별(reason) 태그 구분 - 컨트롤러는 예상치 못한 예외만 unexpected로 집계해 이중 집계 방지 - 메트릭 검증 테스트 추가 및 MeterRegistry 주입에 따른 기존 테스트 보완
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#️⃣연관된 이슈
📝작업 내용
reason)별로 구분🔎코드 설명(스크린샷(선택))
메트릭 명세
certification.personal.resultsuccessnonefailurestore_not_foundcertification.group.resultsuccess(진행 중 1명 성공),completed(인원 충족)nonefailureno_such_session,doubled,mismatch,store_not_found,unexpectedCertificationServiceImpl:handleCertification의 각 성공/실패 지점에countGroupSuccess,countGroupFailure호출 추가.certificatePersonal에도 카운터 추가GroupCertificationController:result.type()기반 집계를 제거.GeneralException이 아닌 예외만reason=unexpected로 집계 (알려진 실패는 서비스가 이미 집계하므로)result,reason두 태그 키를 모두 사용 (Prometheus는 같은 이름의 메트릭이 동일한 태그 키 집합을 요구함)CertificationServiceTest:@Spy SimpleMeterRegistry추가로 기존 테스트 보완, 개인/그룹 성공·실패 케이스 6개 추가💬고민사항 및 리뷰 요구사항 (Optional)
mismatch집계 방식 변경: 기존엔result=mismatch로 집계됐으나 이제result=failure, reason=mismatch입니다. 기존에 이 메트릭을 쓰는 대시보드/알람은 없음을 Grafana에서 확인했습니다.@Transactional안에서 커밋 전에 증가합니다. 커밋 실패 시 성공으로 잘못 집계될 수 있으나, 개인 인증은save하나뿐이라 가능성이 매우 낮다고 판단해ChatServiceImpl의incrementAfterCommit방식은 적용하지 않았습니다. 의견 부탁드립니다.unexpected집계는 WebSocket 컨트롤러 테스트가 필요해 이번 범위에서 제외했습니다.expireSession(세션 만료)도 집계 대상에 포함하지 않았습니다.certification_검색은 인증을 한 번 수행한 뒤부터 가능합니다.비고 (Optional)
certification.group.duration타이머(WebSocket 메시지 처리시간)는 그대로 유지합니다.