release: 2026-03-27 (5건 커밋) #116

병합
htlee develop 에서 main 로 5 commits 를 머지했습니다 2026-03-27 06:40:38 +09:00
소유자

[2026-03-27]

추가

  • WebSocket 리플레이 쿼리 L1/L2 캐시 통합 — HOURLY/5MIN 구간 DB 의존 제거, 당일 쿼리 100% 캐시
  • 쿼리 메트릭 사용자 ID 수집 — GC_SESSION JWT에서 인증된 사용자 email 추출
  • 대시보드 Top 클라이언트 IP/ID 토글 — groupBy 파라미터로 IP/ID 기준 전환

수정

  • vessel info SQL 컬럼명 오류 수정 (ship_nm -> name) — 선박 정보 조회 실패 해결
## [2026-03-27] ### 추가 - WebSocket 리플레이 쿼리 L1/L2 캐시 통합 — HOURLY/5MIN 구간 DB 의존 제거, 당일 쿼리 100% 캐시 - 쿼리 메트릭 사용자 ID 수집 — GC_SESSION JWT에서 인증된 사용자 email 추출 - 대시보드 Top 클라이언트 IP/ID 토글 — groupBy 파라미터로 IP/ID 기준 전환 ### 수정 - vessel info SQL 컬럼명 오류 수정 (ship_nm -> name) — 선박 정보 조회 실패 해결
htlee added 5 commits 2026-03-27 06:38:42 +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:40:38 +09:00
claude-bot left a comment
멤버

릴리즈 승인 (via /release skill)

릴리즈 승인 (via /release skill)
htlee merged commit 99a7f607f7 into main 2026-03-27 06:40:38 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

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

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