Skip to content

[Chore] 대시보드 평균 응답시간, 외부 API 성공률, Redis 히트율 패널의 값과 색을 고친다 - #339

Merged
KiSeungMin merged 1 commit into
developfrom
chore/dashboard-panel-values
Sep 21, 2026
Merged

KiSeungMin merged 1 commit into
developfrom
chore/dashboard-panel-values

Conversation

@KiSeungMin

Copy link
Copy Markdown
Contributor

✔️ 연관 이슈

📝 작업 내용

#336 에서 고친 대시보드 중 세 패널이 여전히 틀린 값이나 색을 보여줘서, prod 반영 전에 고쳤습니다.

패널 문제 바꾼 것
API 평균 응답시간 (URI Top20) 재시작 뒤 DELETE /api/practiceNotes 가 약 1,250만 ms 로 나옴 분모를 clamp_min(…, 1e-9) 에서 > 0 으로 바꿔 요청이 없으면 값을 비움
외부 API 성공률 호출이 없을 때 "최근 1시간 호출 없음" 이 빨간 배경 null 매핑으로 회색
Redis 히트율 평소 5% 안팎이라 늘 빨강 경고색을 없애고 description 에 이유를 적음
  • 평균 응답시간이 튀는 이유: 앱이 재시작되면 같은 라벨의 요청 수는 그대로인데 시간 합만 늘어나는 경우가 있습니다. 이때 요청 수 증가량이 0 인데 1e-9 로 바꿔 나누면서 값이 커졌습니다. prod 는 배포할 때마다 이런 상황이 생길 수 있습니다.
  • Redis 히트율이 낮은 이유: 인증 요청마다 로그아웃 토큰과 탈퇴 사용자 블랙리스트를 조회하는데(RedisTokenService.java:76, 102), 두 키 모두 대부분 없는 것이 정상이라 miss 가 많습니다.
  • 다른 clamp_min(…, 1e-9) 패널은 그대로 뒀습니다. 5xx 비율, 행동 에러율, Redis 히트율은 분자가 분모의 일부라 분모가 0 이면 분자도 0 이어서 같은 문제가 생기지 않습니다.

👤 사용자 영향

  • 없습니다. 대시보드 JSON 두 개만 바뀌고 앱과 알림 규칙은 그대로입니다.

🔌 API 호환성

  • 요청/응답 DTO 변경 없음
  • 기존 Flutter 앱 버전과 호환 확인
  • breaking change 있음

🗄️ DB migration

  • 없음

🔐 인증/권한

  • 영향 없음

✅ 검증 결과

  • 평균 응답시간: 로컬 Prometheus 에 "요청 수 1 그대로, 시간 합 0.117초 → 0.162초" 인 재시작 상황을 넣어 봤습니다. 기존 식은 12,711,864ms, 바꾼 식은 값 없음이 나왔습니다.
  • 외부 API 성공률, Redis 히트율: 로컬 Grafana(13.2.2)에 대시보드를 올려 전후 화면을 확인했습니다. 호출 없음은 빨강에서 회색으로, Redis 히트율은 파랑 단색으로 나옵니다.
  • 대시보드 JSON 4개 모두 json.tool 로 문법을 확인했습니다.
  • 평균 응답시간 패널을 Grafana 화면으로는 보지 않았고, 실데이터 값은 dev 반영 뒤 확인하겠습니다.

🚀 배포 리스크

  • 없습니다. Grafana 가 프로비저닝된 대시보드를 다시 읽으면 반영됩니다.

↩️ 롤백/대응 방법

  • 이 PR 을 revert 하면 됩니다.

- 평균 응답시간은 분모를 clamp_min(…, 1e-9) 에서 > 0 으로 바꾼다. 앱이 재시작되면 같은 라벨의 요청 수는 그대로인데 시간 합만 늘어나는 경우가 있어서, 요청 수 증가량 0 을 1e-9 로 바꿔 나누면 1,250만 ms 같은 값이 나왔다. 이제 그 URI 는 값을 비운다
- 외부 API 성공률은 호출이 없을 때 "최근 1시간 호출 없음" 이 임계값 기준색(빨강) 위에 떴다. null 매핑으로 회색을 준다
- Redis 히트율은 인증 요청마다 로그아웃 토큰과 탈퇴 사용자 블랙리스트를 조회하고 두 키 모두 대부분 없는 것이 정상이라 5% 안팎이 평소 값이다. 경고색을 없애고 패널 설명에 이유를 적는다

Closes #338
@KiSeungMin KiSeungMin self-assigned this Sep 21, 2026
@KiSeungMin
KiSeungMin merged commit c66ffc4 into develop Sep 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant