관리자 대시보드 통계 표시 정규화

This commit is contained in:
2026-07-08 14:48:11 +09:00
parent 14c7245f06
commit e27ae1ea72
10 changed files with 282 additions and 121 deletions

View File

@@ -1,3 +1,15 @@
## 2026-07-08 v1.10.66 — 현재 접속자는 세션보다 사람에 가깝게 묶어 보여준다
실시간 세션 ID는 같은 방문자라도 탭이나 브라우저 저장소 단위가 달라지면 서로 다른 값으로 보일 수 있다. 관리자 화면에서 SID를 그대로 노출하면 사람 식별 보조 정보처럼 보이지만, 실제로는 같은 사람이 여러 페이지를 열었을 때 여러 명처럼 보이는 혼란을 만든다.
따라서 현재 접속자 화면에서는 SID를 제거하고 IP만 보조 정보로 표시한다. 집계는 로그인 사용자는 회원 ID 기준, 익명 방문자는 IP 기준으로 묶어 한 사람이 여러 페이지를 열어도 1명처럼 보이게 하고, 같은 묶음 안의 활성 페이지 수는 `열린 페이지 N개`로 표시한다. IP 기반 묶음은 공유망의 여러 사용자를 완벽히 구분하지 못하지만, 운영 화면에서는 같은 사람의 여러 탭을 여러 방문자로 오해하는 문제를 줄이는 쪽을 우선한다.
## 2026-07-08 v1.10.65 — 관리자 통계 표시는 해석 가능한 범위로 정규화한다
읽음 이벤트와 스크롤 heartbeat는 페이지뷰와 별도 요청으로 수집되므로 네트워크 타이밍, 탭 이동, 과거 집계 방식에 따라 원시 카운터가 `읽음 > 조회`, `75% 스크롤 > 50% 스크롤`처럼 해석하기 어려운 조합이 될 수 있다. 운영 화면에서 이런 원시값을 그대로 보여 주면 실제 방문 흐름보다 집계 오류처럼 먼저 인식된다.
따라서 원본 통계 행은 보존하되 관리자 조회 응답에서는 `읽음 <= 조회`, `100% 스크롤 <= 75% 스크롤 <= 50% 스크롤 <= 조회`로 정규화해 표시한다. 수집 단계의 세션 세분화는 별도 개선 과제로 남겨, 표시 안정성과 원인 분석 가능성을 함께 유지한다.
## 2026-07-08 v1.10.62 — 대시보드 자동 갱신은 사용자의 선택을 덮어쓰지 않는다
대시보드는 30초마다 통계를 다시 조회하지만, 조회 결과가 바뀔 때마다 기본 날짜 선택 로직을 다시 실행하면 사용자가 과거 날짜를 보고 있는 중에도 오늘 통계로 되돌아간다. 차트 막대 클릭은 사용자의 명시 선택이므로 자동 갱신보다 우선해야 한다. 따라서 기본 선택은 초기 진입과 기간 탭 변경 때만 수행하고, 자동 갱신은 현재 선택 범위를 유지한 채 값만 새로 받아오도록 정리한다.