랜딩페이지 시각화: TPS 저널 차트 + Live Snapshot 대시보드 - #23
Merged
Conversation
- GET /api/sensors/filtered 테스트 3개 추가 (빈 결과, 데이터 있을 때, 파라미터 누락) - conftest: TEST_DATABASE_URL 환경변수로 SQLite/PostgreSQL 전환 가능하도록 수정 - conftest: PostgreSQL NullPool 적용으로 이벤트 루프 충돌 방지 - pyproject.toml: branch coverage 및 concurrency 설정 추가 - 전체 커버리지 74% → 75%, 테스트 68개 → 71개 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Dockerfile non-root 유저 적용
cursor 페이지네이션 → offset 방식으로 변경 + 시간 범위 필터 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ci.yml: TEST_DATABASE_URL, TEST_REDIS_HOST/PORT 추가로 실제 PG·Redis 통합 테스트 - conftest.py: TEST_REDIS_HOST 있으면 실제 Redis, 없으면 FakeRedis (로컬 기본) - sensor_routes.py: naive datetime 입력을 UTC로 정규화 (TIMESTAMPTZ 비교 버그 수정)
- landingpage.html 삭제 (782줄) - 일회성 테스트 스크립트 삭제: test/puttest.py, test/test_single_request.py - app/routes/admin_routes.py, sensor_routes.py 소폭 수정 - scripts/mock_data.py, test/locustfile.py 갱신 - profiles/flame.svg 추가 (프로파일링 결과) - README 갱신 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
test: CI 실제 PostgreSQL·Redis 전환 + 타임존 버그 수정
feat: nginx upstream keepalive 10 → 16 튜닝
chore: 랜딩페이지·일회성 테스트 제거 + 라우트/스크립트 정리
6/16 Node20 강제전환 대비: - actions/checkout v4 → v6 - docker/login-action v3 → v4 (deploy) - actions/setup-python v5 → v6 (ci) appleboy/ssh-action(v1)은 Docker 액션이라 Node 무관, 유지. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chore: GitHub Actions Node 24 대응 (checkout v6 / login-action v4 / setup-python v6)
컨테이너당 풀 2종 × 5 인스턴스로 DB 총합이 과다(상시 100)했던 것을 상시 20 / 최대 40으로 축소. max는 PG 기본 max_connections(100) 이내. ※ TPS 재측정 필요 (기존 1,001은 옛 10/50 측정값)
- Performance 섹션에 TPS 변화(26→1,069, read_replica 반증 포함) SVG 라인차트 - Architecture 섹션 뒤에 Live Snapshot 카드 4개(활성로봇/배터리/null rate/수집률), 기존 /demo 엔드포인트로 5초 폴링 - 백엔드 변경 없음, index.html 단일 파일. 차트는 외부 라이브러리 없이 직접 SVG로 그림
- 인증 안내 배너에 X-API-Key 입력 필드 추가, api() 헬퍼가 값 있으면 헤더에 자동 첨부 - 익명 방문자 기본 동작(키 없으면 401)은 그대로 — 순수 프론트, 백엔드 인증 로직 미변경 - 키를 넣으면 Auto Mode가 실제로 센서 데이터를 쓰고 Live Snapshot이 그에 맞춰 갱신됨
- Auto Mode 컨트롤을 POST /api/sensors 카드(접힌 아코디언 안)에서 Live Snapshot 상단으로 이동 - Auto Mode 5틱마다 로봇 배터리 1~3% 소모하는 PUT 호출 추가 → 평균 배터리 카드가 실제로 움직임 - 실시간 수집률 카드에 캡션 추가 — 브라우저 세션 기준 분당 지표이며 Locust TPS(초당·동시접속)와 다른 지표임을 명시
- autoStatus 기본 텍스트를 긴 안내문에서 "대기 중"으로 축소 (2줄 wrap 방지) - Playground POST /api/sensors 카드에 남아있던 "Auto Mode는 상단으로 옮겼습니다" 안내문 제거
- API Key 입력을 Server Online 배지 아래(최상단)로 이동, 명시적 "적용" 버튼 클릭 시에만 반영 - 적용 시 GET /api/robots로 실제 검증 — 401이면 반영 안 하고 에러 표시(틀린 키로 조용히 401 나는 상황 방지) - Auto Mode interval 셀렉트 변경 시 껐다 켤 필요 없이 즉시 새 주기 적용 - Hero에 "간단 테스트" 버튼 추가 — Live Snapshot의 Auto Mode 컨트롤(#quicktest)로 바로 스크롤
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/demo/*엔드포인트로 5초 폴링백엔드 로직 변경 없음 —
index.html단일 파일, 기존/demo/*읽기 전용 엔드포인트만 재사용.Test plan
.py변경 없음)