Skip to content

0032-2: 에이전트 1초 util ws 스트림 + gua top 로컬 라이브 뷰 (v1.6.0) - #25

Merged
GHoon-Lee merged 1 commit into
mainfrom
feature/0032-2-agent-live-ws
Jun 29, 2026
Merged

0032-2: 에이전트 1초 util ws 스트림 + gua top 로컬 라이브 뷰 (v1.6.0)#25
GHoon-Lee merged 1 commit into
mainfrom
feature/0032-2-agent-live-ws

Conversation

@GHoon-Lee

Copy link
Copy Markdown
Contributor

work-spec 0032 §6.3 — 에이전트가 1초 util 을 보드로 ws 스트림하고, 보드 없이도 도는 로컬 라이브 뷰 gua top 제공.

핵심 원칙: 같은 1초 수집 코어(Tier.collect_util)가 (a) 보드 ws 스트림 (b) 로컬 터미널 뷰 둘 다에 쓰임 → 오픈소스 standalone 가치 유지(예약·웹 없이 모니터링).

변경

  • model.UtilSample + Tier.collect_util() — 가벼운 util/mem 표본(프로세스 enumerate·온도·전력 생략, 1초 루프용)
  • live_buffer.LiveUtilBuffer — uuid별 deque(maxlen), gua top 로컬 히스토리
  • cloud/ws_client.py — 보드 /agent/v1/stream 으로 1초 util 스트림, 지수 백오프 재연결(1s→30s), agent token Bearer. 와이어 = 보드 UtilStreamMessage 계약(ts=epoch float). 새 dep websockets(stdlib ws 클라 없음)
  • daemon --cloud — 스냅샷 HTTP push 와 별개로 util ws 스레드 기동. ws 안 붙어도 스냅샷 HTTP 계속 → 자연 폴백(라이브만 빠짐). util 고정 1초, 스냅샷은 --interval(30s)
  • gua top — nvtop식 util 스파크라인 + mem + 프로세스 표, 보드 불필요. --fake 데모
  • 버전 1.6.0 + uv.lock 동기화

마이그레이션 (보드 먼저 규칙)

  • 보드(0032-1)는 이미 master 에 머지됨 → 신 에이전트 ws 안전.
  • 1.4.0/1.5.0 유저: gua stopuv tool upgrade gpu-usage-auditgua daemon --cloud. 저장된 cloud config 로 자동 재연결, 재등록 불필요.

게이트

  • ruff ✓ / mypy ✓ / pytest 201 green(신규 22: buffer·collect_util·ws_client·live_view)
  • wheel build 1.6.0 ✓
  • gua top --fake 비대화식 스모크 ✓ (util 스파크라인 + 프로세스 표 렌더)

⚑ 남은 수동(릴리스 전)

  • 실 GPU 호스트에서 gua daemon --cloud → 보드 라이브 점등 + gua top 실동작 확인
  • OK 시 v1.6.0 태그 → release.yml → PyPI

work-spec 0032 §6.3. 같은 1초 수집 코어가 (a) 보드 ws 스트림 (b) 로컬 터미널
뷰 둘 다에 쓰임. 오픈소스 standalone(보드 없이 모니터링) 유지.

- model.UtilSample + Tier.collect_util() — 가벼운 util/mem 표본(프로세스 enumerate 없음)
- live_buffer.LiveUtilBuffer — uuid별 deque(maxlen), gua top 로컬 히스토리
- cloud/ws_client.py — 보드 /agent/v1/stream 으로 1초 util 스트림 + 지수백오프 재연결
  (새 dep websockets; stdlib 에 ws 클라 없음). 와이어 = 보드 UtilStreamMessage 계약.
- daemon --cloud 가 스냅샷 HTTP push 와 *별개로* util ws 스레드 기동. ws 안 붙어도
  스냅샷 HTTP 는 계속(자연 폴백). util 고정 1초, 스냅샷은 --interval.
- gua top — nvtop식 util 스파크라인 + mem + 프로세스 표(보드 불필요). --fake 데모.
- 버전 1.6.0 + uv.lock 동기화. 테스트 22 신규(buffer/collect_util/ws/live_view).

게이트: ruff + mypy + pytest 201 green, wheel build 1.6.0, `gua top --fake` 스모크.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01211CmqYg5jTKpHEuSzduqp
@GHoon-Lee
GHoon-Lee merged commit 3776a5c into main Jun 29, 2026
1 of 2 checks passed
@GHoon-Lee
GHoon-Lee deleted the feature/0032-2-agent-live-ws branch June 29, 2026 11:57
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