Skip to content

fix: 모니터링 화면의 측정 불가 상태 처리 정정 - #25

Merged
yessjun merged 2 commits into
mainfrom
fix/monitoring-degraded-states
Aug 10, 2026
Merged

fix: 모니터링 화면의 측정 불가 상태 처리 정정#25
yessjun merged 2 commits into
mainfrom
fix/monitoring-degraded-states

Conversation

@yessjun

@yessjun yessjun commented Aug 10, 2026

Copy link
Copy Markdown
Member

📝 작업내용

  • 측정할 수 없는 상태를 실패가 아니라 자료로 표시: 오프라인 노드는 수집하지 않고, 응답 없는 하이퍼바이저는 중립 안내로 재시도 없이 한 번만 조회
  • 삭제 중인 VM에서 모니터링 탭을 감춤
  • 바이트 축 눈금을 가장 가까운 계단으로 선택해 상단 라벨이 사라지던 것을 고침
  • 양옆이 빈 단일 표본을 점으로 표시해 중지된 구간이 많은 VM에서 자료가 보이지 않던 것을 고침
  • 할당 추이 요약이 구간 전체를 읽어 오르내린 기간을 변화 없음으로 말하지 않게 함
  • Proxmox 타일이 노드 상태를 함께 보아 오프라인 지정 노드를 경보로 켜지 않게 함
  • 디스크 막대를 조언용 표시로 바꿔 백분율을 잠그지 않고 초과를 그대로 알림
  • 지연 로딩 패널에 오류 경계를 두어 청크 실패가 화면 전체를 지우지 않게 함
  • 기관 좁혀 보기를 시스템 티어 전체에 허용
  • 차트 밑 표와 기술 설명 문구를 걷어내고, 두 사용량 화면의 공용 껍데기를 하나로 합침
  • 화면 이름을 할당 추이로 통일

⭐️ 검증

  • 테스트 453개에서 474개로 증가 (62파일), 항목별로 해당 수정을 되돌려 실패를 확인한 뒤 복원
  • 단일 표본 표시는 헤드리스 렌더 픽셀 계수로 증명 (수정 전 0픽셀, 수정 후 48픽셀, 대조군 1030픽셀)
  • 실측 구간 4종의 눈금 라벨 확인 (78GiB 메모리는 20GiB 간격 5개, vCPU는 5 간격)
  • 오류 시 요청이 한 번만 나가는 것을 900밀리초 관찰로 확인
  • 린트, 타입 검사, 빌드, 프로덕션 의존성 감사 통과

💬 리뷰 포인트

  • 하이퍼바이저 무응답을 오류가 아니라 자료로 취급하는 판단과 그 문구
  • 공용 껍데기로 합치면서 VM 화면의 오류 표시가 노드 화면과 같아진 점
  • 눈금 계단 선택 규칙 (올림이 아니라 최근접)

An unreachable hypervisor answered 503 and every usage surface turned it
into a red alert that retried forever, while the admin dashboard already
rendered the same condition as a calm tile. The two screens now agree: an
offline node is never polled, an unreadable hypervisor is stated plainly
and stops re-asking, and a deleting VM no longer offers a usage tab.

Byte axes pick the closest 1-2-5 step instead of always rounding up, so a
78 GiB memory axis is labelled to its top (0 B through 80.0 GiB) rather
than stopping at 50.0 GiB, and isolated samples now draw a point so a
mostly-stopped guest no longer looks like broken monitoring. Verified in
a headless chromium render: a two-sample gappy series painted 0 series
pixels before and 48 after.

Allocation summaries read the whole window, so a there-and-back change is
no longer reported as no change, and the over-provisioned disk pool shows
its true ratio without the hard-limit warning colours.
The collapsible table under every chart is gone, and with it TABLE_ROWS
and sampledIndexes so no dead code is left behind. The technical captions
go too: how a percentage is defined, where a memory figure comes from,
and what an empty stretch means are not things a student needs. What
stays is what it takes to read the screen: axis, legend, value format,
the last-updated time, and the state notices for missing or unreadable
data.

Charts are now the only window on the values, so the chart area carries
its title as its accessible name. Removing the table also takes away the
DOM the screen tests read values from, so the data preparation those
tests covered indirectly is now covered directly as pure functions
(series extraction, gap handling, axis ticks, summary sentences) and the
screen tests assert state branches and accessible labels instead.

Confirmed in a headless chromium render that this leaves no silently
empty chart: a 60 point hour where a mostly stopped guest reported three
isolated samples painted 0 series pixels before the point fix and 69
after, one dot per sample.

The admin node screen's tab and section now read 할당 추이, matching the
org dashboard card, per the operator's terminology decision. The tab id
stays 'trend' so existing links keep opening.
@yessjun
yessjun merged commit eeac3a5 into main Aug 10, 2026
1 check passed
@yessjun
yessjun deleted the fix/monitoring-degraded-states branch August 10, 2026 10: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.

1 participant