개발 단계 이 사이트는 개발 중입니다. 평가 기준·대상·점수가 검토 중이라 예고 없이 바뀔 수 있고, 로그인·요청 기능은 시험 운영입니다. 구매·도입 판단의 근거로 쓰지 마세요.

개요

QPM(Query Performance Monitor)은 프론트엔드(브라우저)부터 백엔드 서비스, 데이터베이스, 인프라까지 전체 서비스 스택의 성능을 통합 모니터링하는 End-to-End 성능 모니터링 시스템입니다. 사용자의 호출 한 건이 브라우저 → 네트워크 → 서버 → DB 중 어느 구간에서 얼마나 걸렸는지를 traceId 하나로 관통해서 보여줍니다.

주요 기능

End-to-End 추적

프론트엔드와 백엔드의 트레이스를 자동으로 병합하고, 브라우저 실사용 데이터(RUM)와 서버 트레이스를 조인해 네트워크 구간까지 추정합니다. DB 구간의 실행 SQL·바인드 값과 실패 구간의 예외 상세를 손실 없이 보존합니다.

통합 수집 — Push + Pull

SDK 기반 분산 트레이싱(Push)과 Prometheus 기반 인프라 메트릭(Pull)을 하나의 화면에서 통합합니다. 클라이언트 체감 시간·Web Vitals, 서버 구간 분해, CPU·메모리·DB 커넥션까지 세 층의 데이터를 함께 봅니다.

토폴로지 중심 시각화

client → service → data → infra 4계층 서비스 구성도 위에 성능 데이터를 얹어 표시합니다. 노드별 상태·메트릭 요약과 성능 타임라인을 제공합니다.

원격 수집 제어 · 적응형 샘플링

서버에서 SDK의 샘플링·수집 파라미터를 실시간으로 제어합니다. 서버 부하 (CPU/메모리/유입량)에 따라 샘플링 비율을 자동 조절해 모니터링이 서비스에 주는 부담을 최소화합니다.

분석 대시보드 (9개 탭)

트랜잭션 워터폴·Span Tree, 엔드포인트별 구간 분해(self/DB/외부), 쿼리 단위 Top-N 집계(실행 SQL 표시), 브라우저 RUM, 토폴로지, 인프라, 데이터베이스, 데이터 관리, 설정 탭을 제공합니다.

SDK 4종

  • Spring Boot Starter — 설정만으로 HTTP·DB(MyBatis/JdbcTemplate) 자동 계측, 실행 SQL·에러 상세 수집
  • Node.js Backend — Express 미들웨어 트레이싱, W3C traceparent 전파
  • Node.js Frontend / 브라우저 RUM — 페이지 로드·API 호출·Web Vitals·JS 에러 수집

계층형 보존

메모리 24시간 핫패스 → SQLite 장기 보존(성공 30일·에러 90일) → 시간별 집계의 3계층 구조로, 실시간 조회 성능과 장기 추세 분석을 함께 잡습니다.

요청 내용은 관리자와 다음 평가의 근거 조사에 참고로 쓰입니다. 점수에 바로 반영되지 않고, 공개 자료로 확인된 내용만 평가 근거가 됩니다.