feat: WebSocket 리플레이 캐시 통합 + 쿼리 메트릭 사용자 ID 수집 #115

병합
htlee feature/ws-cache-integration-and-client-metrics 에서 develop 로 3 commits 를 머지했습니다 2026-03-27 06:36:30 +09:00
소유자

변경 사항

WebSocket 리플레이 L1/L2 캐시 통합

  • HOURLY/FIVE_MINUTE 전략에 L1/L2 캐시 직접 조회 적용
  • currentHourStart 기준 L1/L2 자동 라우팅
  • 뷰포트 필터를 캐시에서 직접 수행 (경량 WKT 파싱)
  • vessel info SQL 컬럼명 오류 수정 (ship_nm -> name)
  • QueryBenchmark에 cacheHourlyRanges/cacheFiveMinRanges 추가

쿼리 메트릭 사용자 ID 수집 + 대시보드 토글

  • GC_SESSION 쿠키 JWT payload에서 email 추출
  • t_query_metrics에 client_id 컬럼 자동 생성
  • timeseries API에 groupBy=ip|id 파라미터 추가
  • Dashboard Top 클라이언트 IP/ID 세그먼트 토글

테스트

  • mvn clean package -DskipTests 빌드 성공
  • 운영 배포 후 캐시 경로 확인
  • Top 클라이언트 ID 토글 동작 확인
## 변경 사항 ### WebSocket 리플레이 L1/L2 캐시 통합 - HOURLY/FIVE_MINUTE 전략에 L1/L2 캐시 직접 조회 적용 - currentHourStart 기준 L1/L2 자동 라우팅 - 뷰포트 필터를 캐시에서 직접 수행 (경량 WKT 파싱) - vessel info SQL 컬럼명 오류 수정 (ship_nm -> name) - QueryBenchmark에 cacheHourlyRanges/cacheFiveMinRanges 추가 ### 쿼리 메트릭 사용자 ID 수집 + 대시보드 토글 - GC_SESSION 쿠키 JWT payload에서 email 추출 - t_query_metrics에 client_id 컬럼 자동 생성 - timeseries API에 groupBy=ip|id 파라미터 추가 - Dashboard Top 클라이언트 IP/ID 세그먼트 토글 ## 테스트 - [x] mvn clean package -DskipTests 빌드 성공 - [ ] 운영 배포 후 캐시 경로 확인 - [ ] Top 클라이언트 ID 토글 동작 확인
htlee added 3 commits 2026-03-27 06:34:56 +09:00
WebSocket 리플레이 쿼리가 캐시 범위 내 조회에도 100% DB 경로를 사용하던 문제 수정.

- HOURLY/FIVE_MINUTE 전략에 L1(FiveMinTrackCache)/L2(HourlyTrackCache) 캐시 직접 조회 적용
- currentHourStart 기준 L1/L2 자동 라우팅 (현재시간 정각 이후→L1, 이전→L2)
- 뷰포트 필터를 캐시 데이터에서 직접 수행 (경량 WKT 파싱, JTS 불필요)
- vessel info SQL 컬럼명 오류 수정 (ship_nm → name)
- QueryBenchmark에 cacheHourlyRanges/cacheFiveMinRanges 추가, determinePath 3레벨 캐시 반영
- collectViewportVesselIds에서 HOURLY/5MIN DB 쿼리 제거 (캐시에서 처리)

당일 3시간 쿼리: DB 100% → CACHE 100%, 14일 쿼리: CACHE 100% (L3 범위 내)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
GC_SESSION JWT 쿠키에서 인증된 사용자 email을 추출하여 쿼리 메트릭에 기록.
대시보드 Top 클라이언트를 IP 기준 또는 사용자 ID 기준으로 전환 가능.

백엔드:
- WebSocket 핸드셰이크에서 GC_SESSION 쿠키 JWT payload → email 추출
- QueryMetric에 clientId 필드 추가, t_query_metrics에 client_id 컬럼 자동 생성
- timeseries API에 groupBy=ip|id 파라미터 추가

프론트엔드:
- Dashboard Top 클라이언트 섹션에 IP/ID 세그먼트 토글 추가
- 토글 전환 시 즉시 재조회

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
claude-bot 이 변경사항을 승인하였습니다. 2026-03-27 06:36:30 +09:00
claude-bot left a comment
멤버

MR 승인 (via /mr skill)

MR 승인 (via /mr skill)
htlee merged commit d31eeef193 into develop 2026-03-27 06:36:30 +09:00
htlee 삭제된 브랜치 feature/ws-cache-integration-and-client-metrics 2026-03-27 06:36:30 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

Reference: gc/signal-batch#115
No description provided.