Skip to content

feat(stats): Ask Chat 통계 집계와 대시보드 추가 - #239

Merged
1Seob merged 5 commits into
developfrom
feat/stats-ask-chat
Sep 4, 2026
Merged

feat(stats): Ask Chat 통계 집계와 대시보드 추가#239
1Seob merged 5 commits into
developfrom
feat/stats-ask-chat

Conversation

@1Seob

@1Seob 1Seob commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

📝 요약(Summary)

Ask Chat의 사용량·응답 품질·대화권·RAG 처리 현황을 기간별로 집계하고, 운영자가 확인할 수 있는 통계 대시보드 탭을 추가했습니다.

주요 변경사항

  • 통계 화면
    • 공통 stats 탭 fragment에 Ask Chat 링크와 활성 상태 추가
    • /stats/ask-chat Thymeleaf 대시보드 추가
    • KPI, 일별 추이 차트, 대화권·RAG 요약, 오류·source 상세 표 제공
  • 집계 read model
    • 서울 시간 기준 세션·메시지 사용량과 응답 성공률·평균/p95 지연시간 집계
    • 무료·유료 대화권 소비·충전·환불 및 순 증감량 집계
    • RAG 문서 상태·retry·error·source·참조 현황 집계
    • 여러 조회 결과를 @Transactional(readOnly = true) 서비스에서 일관된 기간 기준으로 조합
  • 데이터베이스
    • 전체 기간 집계를 위한 Ask Chat created_at, id 인덱스 Flyway migration 추가
  • 테스트
    • 서비스 단위 테스트, PostgreSQL repository·migration 통합 테스트 추가
    • StatsController 및 Thymeleaf 대시보드 렌더링 테스트 추가

검증

  • git diff --check
  • .\gradlew.bat --no-daemon compileJava
  • .\gradlew.bat --no-daemon test --tests "com.devkor.ifive.nadab.domain.stats.controller.StatsControllerTemplateTest"
  • .\gradlew.bat --no-daemon test --tests "com.devkor.ifive.nadab.domain.stats.application.AskChatStatsServiceTest"
  • .\gradlew.bat --no-daemon test --tests "com.devkor.ifive.nadab.domain.stats.core.repository.AskChatStatsRepositoryTest"
  • .\gradlew.bat --no-daemon test --tests "com.devkor.ifive.nadab.domain.askchat.core.repository.AskChatStatsIndexesMigrationTest"

참고 / 리스크

  • 대시보드 기본 조회 기간은 최근 7일입니다.

🔗 Related Issue

  • Closes:

💬 공유사항

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목을 커밋 메시지 컨벤션에 맞게 작성했습니다.

1Seob added 5 commits August 31, 2026 17:07
중복된 통계 탭 마크업을 공통 Thymeleaf fragment로 통합함. 8개 통계 템플릿 연결과 기존 activeTab 렌더링을 테스트함
Ask Chat 세션·메시지·메시지 참조·RAG 문서에 전역 기간 집계용 created_at, id 인덱스를 추가함. Flyway 적용과 PostgreSQL 통합 테스트로 인덱스
생성을 검증함
서울 시간 기준 Ask Chat 사용량을 일별 집계하고 성공률·평균 및 p95 응답 지연시간·오류 코드 분포를 제공하는 stats read model과 테스트를 추가함
ask_chat_wallet_logs의 status·reason·delta를 기준으로 유·무료 대화권 소비·충전·환불과 순 증감량을 기간별 집계하고,
ask_chat_rag_documents와 ask_chat_message_references의 임베딩 상태·retry·error·source·참조 현황을
AskChatStatsViewModel에 연결해 운영 통계 read model을 확장함
기존 AskChatStatsService read model을 /stats/ask-chat Thymeleaf 화면에 연결하고, 사용량·품질·대화권·RAG KPI와 일별
추이·오류·source 현황을 제공하는 Ask Chat 탭을 추가함
@coldsunn

coldsunn commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

LGTM!

@1Seob
1Seob merged commit 7ac106d into develop Sep 4, 2026
1 check passed
@1Seob
1Seob deleted the feat/stats-ask-chat branch September 4, 2026 11:45
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.

2 participants