Commit Graph

1 Commits

Author SHA1 Message Date
Godopu 3db48c3bae feat: 성능 비교 테스트베드 데모 UI 구현 (src/, Bubble Tea + Lipgloss)
Phase 0 산출물 — 실제 측정 없이 데모 모드로 동작하는 Terminal UI.
시연 시 최종 목표 화면을 가시화하고, 파라미터 조정에 반응하는
그럴듯한 추세를 시뮬레이션한다.

비교 대상 시스템:
- REST + HTTP/2 (TCP+TLS) + JSON
- gRPC + HTTP/2 (TCP+TLS) + Protobuf
- gRPC + HTTP/3 (QUIC+TLS1.3) + Protobuf  ★ 본 연구 제안

조절 가능한 파라미터:
- 워크로드 시나리오 (Small-Many 1KB×10000 / Large-Few 1MB×50)
- 링크 지연 (0~500ms), 패킷 손실 (0~5%)
- 대역폭 (1~1000Mbps), 디바이스 수 (1~100)

화면 구성:
- 메인 메뉴 / 설정 / 실시간 진행 / 결과 비교 / 정보 5개 화면
- 진행률 막대, latency sparkline, 비교 차트(P50/P95/P99/RPS/연결시간)

구현:
- src/cmd/benchcli/main.go        진입점
- src/internal/ui/app.go          Bubble Tea Model + 화면 dispatcher
- src/internal/ui/types.go        Config / Result / RunState 정의
- src/internal/ui/styles.go       Lipgloss 스타일·색상
- src/internal/ui/components.go   progressBar / sparkline / slider
- src/internal/ui/simulator.go    mock 시뮬레이터 (Phase 5에서 실측으로 교체)
- src/internal/ui/screen_*.go     각 화면 (menu/config/running/results/about)

의존성: bubbletea v1.2.4, lipgloss v1.0.0
빌드: `cd src && go run ./cmd/benchcli`

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 01:32:15 +00:00