01. Overview
목적
APMX 프로젝트의 목표와 이번 프로토타입(MVP)이 커버하는 범위를 한 곳에서 파악할 수 있도록 정리한다. 새로 합류하는 개발자나 AI Agent가 가장 먼저 읽는 문서다.
범위
- APMX가 무엇이고 왜 만드는지
- 이번 프로토타입에서 실제로 동작하는 컴포넌트
- 이후 확장 방향 (Python/Node Agent, Console 등)
이 문서는 개념 소개만 다루며, 세부 설계는 02~07 문서를 참고한다.
설계
APMX란
APMX(Application Performance Monitoring eXtended)는 언어/플랫폼에 종속되지 않는 것을 목표로 하는 경량 APM 플랫폼이다. 초기 MVP는 Java(Spring Boot) 환경의 HTTP 요청을 수집하는 것에 집중한다.
전체 흐름
text
[Target Application] --(-javaagent)--> [Java Agent]
│ 비동기 전송 (Queue + Background Thread)
▼
[Collector] --(REST ingest)--> [Storage]
▲
│ 조회
[REST API] <---- Console (예정)이번 프로토타입에서 동작하는 것
| 컴포넌트 | 상태 | 위치 |
|---|---|---|
| Java Agent | ✅ 동작 | agent/java-agent |
| Collector (ingest + 조회 API) | ✅ 동작 | collector |
| Storage (H2, Postgres 교체 가능) | ✅ 동작 | collector 내 Repository/Adapter |
| 예제 애플리케이션 | ✅ 동작 | examples/example-app |
| Console | 🚧 TODO | 미구현, docs/08-console-design.md 참고 |
예시
로컬에서 전체 흐름을 확인하는 방법은 저장소 루트의 README.md를 참고한다.
TODO
- Python / Node.js Agent
- Console 구현
- Installer (Docker Compose)