00. Project Status
목적
프로젝트의 "현재 상태"(어느 단계이고 무엇이 구현되었는지)를 한 곳에서 관리한다. 이전에는 상태 정보가 README.md 배지, CLAUDE.md/AGENTS.md/CODEX.md의 로드맵, docs/03-mvp-scope.md 등에 흩어져 있어 갱신이 누락되기 쉬웠다 - 이 문서를 단일 출처 (single source of truth)로 삼는다.
범위
저장소 전체(Java Agent / Collector / Storage / REST API / Console / Installer)의 현재 진행 단계와 컴포넌트별 구현 현황.
설계
현재 단계: 개발중 (Active Development)
MVP(최소 기능 프로토타입) 단계는 종료되었다. 이제 프로젝트는 "MVP 완료"라는 고정된 목표가 아니라, 로드맵(CLAUDE.md/AGENTS.md의 Current Priority)을 따라 계속 기능을 확장하는 개발중 단계다.
"MVP 단계 종료"가 실제로 의미하는 변화:
- Console이 read-only 전용에서 벗어나 계정 관리/프로필 설정 등 쓰기 기능을 지원하기 시작함 (2026-07-07 결정,
.claude/decisions.md). - Span 계측이
@ApmxTraceopt-in 단독에서 "자동계측(JDBC/RestTemplate/Redis) + opt-in 병행"으로 확장됨 (2026-07-09 결정,.claude/decisions.md). AGENTS.md14절(Future Extension Ideas)에 "향후 고려"로만 적혀 있던 JVM 리소스 메트릭 수집 등이 실제로 구현되기 시작함.
docs/03-mvp-scope.md는 삭제하지 않고 최초 프로토타입이 다룬 범위의 역사적 기록으로 남겨둔다 - 지금 무엇이 되는지 확인하려면 이 문서(00)를, 처음에 무엇을 목표했는지 확인하려면 그 문서(03)를 본다.
컴포넌트별 구현 현황
| 컴포넌트 | 상태 | 비고 |
|---|---|---|
| Java Agent - HTTP Trace 수집 | ✅ 구현됨 | agent/java-agent, docs/04-agent-design.md |
| Java Agent - JVM 리소스 메트릭 | 🟡 부분 구현 | CPU/Heap/GC/Thread 총개수만. Non-Heap, Thread 상태별 카운트, Thread Pool active/max는 TODO |
| Java Agent - JDBC/RestTemplate/Redis 자동 계측 | 🟡 부분 구현 | executeBatch, WebClient/OkHttp, Lettuce는 TODO |
Java Agent - 커스텀 메서드 계측(@ApmxTrace) | ✅ 구현됨 | opt-in, 자동 계측과 병행 |
| Java Agent - 로그 수집 | ✅ 구현됨 | stdout/stderr |
| Collector - ingest/조회 REST API | ✅ 구현됨 | collector, docs/07-api-design.md |
| Storage | ✅ 구현됨 | H2 기본, PostgreSQL 교체 가능 (docs/06-storage-design.md) |
| Console | ✅ 구현됨 (조회 + 일부 쓰기) | console, docs/08-console-design.md |
| Installer (Docker Compose) | ✅ 구현됨 | installer, docs/09-installer-design.md |
| Python / Node.js Agent | 🚧 미구현 | 로드맵상 향후 확장 |
| Apache / Nginx 수집기 | 🚧 미구현 | 로드맵상 향후 확장 |
| 실제 인증/인가 | 🚧 미구현 | Console 로그인은 프론트 목업뿐 (.claude/decisions.md 2026-07-07) |
resource_metrics 조회 API/Console 화면 | 🚧 미구현 | Collector에 저장까지만 함 (.claude/decisions.md 2026-07-09) |
범례: ✅ 구현됨 · 🟡 부분 구현(TODO 있음) · 🚧 미구현
배포
커스텀 도메인 없이 Cloudflare Pages 기본 *.pages.dev 도메인만 사용한다. docs와 Console을 각각 별도 Pages 프로젝트로 두지 않고, 하나의 Pages 프로젝트에서 npm run build:site(scripts/build-site.sh)로 함께 빌드해 <project>.pages.dev/docs/, <project>.pages.dev/console/로 서빙한다(docs/08-console-design.md 참고). Production 브랜치 push는 상용 배포, 그 외 브랜치/PR은 Cloudflare Pages가 자동으로 Preview 배포 (<hash>.<project>.pages.dev)를 만든다 - 수동 배포 명령은 필요 없다.
이 문서를 최신 상태로 유지하는 방법
- 컴포넌트 상태가 바뀌면(기능 완료, 새 TODO 발생 등) 이 문서의 표를 함께 갱신한다 (
AGENTS.md10절 Documentation Rules: 문서를 최신 상태로 유지). - 각 기능의 상세 설계는 이 문서가 아니라 해당
docs/0N-*.md에 둔다 - 이 문서는 "무엇이 어떤 상태인지"만 요약해 중복을 피한다. - 의사결정 배경/히스토리는
.claude/decisions.md에 남긴다. README.md의 상태 배지/구현 현황 표는 이 문서를 요약 인용한 것이므로, 이 문서를 갱신하면README.md도 함께 확인한다.
예시
(해당 없음 - 상태 요약 문서)
TODO
표의 🚧/🟡 항목 참고: Python/Node.js Agent, Apache/Nginx 수집기, 실제 인증/인가, resource_metrics 조회 API, JVM 리소스 메트릭 완전 수집, JDBC batch/WebClient/OkHttp/ Lettuce 자동 계측.