Skip to content

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 계측이 @ApmxTrace opt-in 단독에서 "자동계측(JDBC/RestTemplate/Redis) + opt-in 병행"으로 확장됨 (2026-07-09 결정, .claude/decisions.md).
  • AGENTS.md 14절(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.md 10절 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 자동 계측.