4.1. APM 대시보드
eBPF로 수집한 L7 요청을 근거로 애플리케이션 성능을 거의 실시간으로 보여주는 화면입니다.

개요
APM 대시보드는 eBPF로 관측한 L7 요청(스팬) 을 근거로 애플리케이션 성능을 거의 실시간(약 1~5초 지연)으로 보여주는 화면입니다. 지금 이 순간 애플리케이션이 받는 요청량, 응답시간, 오류, 동시 처리량, 자원 사용을 카테고리·네임스페이스 단위로 한 화면에서 모니터링합니다.
운영자·SRE·개발자가 "현재" 상태를 빠르게 파악하는 데 활용합니다. 배포 직후 트래픽 반응을 지켜보거나, 응답시간이 튀는 인스턴스를 즉시 찾아내거나, 오류가 급증한 순간을 포착하는 데 적합합니다. 과거 구간 조회 중심인 애플리케이션 화면과 달리, APM 대시보드는 지연을 최소화한 실시간 데이터 경로를 사용합니다.
좌측 사이드바에서 APM 대시보드(속도계 아이콘) 메뉴를 클릭하면 진입합니다. 이 화면은 항상 "지금"을 기준으로 하는 실시간 전용 화면이므로, 다른 화면과 달리 상단의 시작·종료 시간 선택기를 사용하지 않습니다.
참고: L7은 네트워크 7계층(애플리케이션 계층)을 뜻합니다. eBPF가 커널 수준에서 HTTP·gRPC·데이터베이스 같은 애플리케이션 요청을 관측하므로, 애플리케이션 코드를 수정하거나 별도 라이브러리를 넣지 않아도 성능 데이터가 수집됩니다.
화면 구성
상단 필터 바에서 카테고리와 네임스페이스로 표시 범위를 정하며, 아래 위젯들이 선택한 범위 기준으로 갱신됩니다.
| 위젯 | 설명 |
|---|---|
| 요청 뷰어 | 동시 요청 수(in-flight) 게이지와 활성 사용자 수, 경과시간 3구간 범례 |
| 실시간 요청 모니터링 | 인스턴스별 컬럼과 요청 낙하 애니메이션, 네임스페이스 밴드, 중지 상태 표시 |
| 트랜잭션 히트맵(T-Map) | 응답시간×시간 히트맵. 셀 클릭·드래그로 트레이스·트랜잭션 조회 |
| 정보 | 만족도·TPS·활성 사용자·오류율·응답시간(P50/P95)을 요약한 6개 셀 |
| TPS | 초당 트랜잭션 수 추세(최근 10분) |
| 사용자 만족도(Apdex) | 만족도 추세와 만족·보통·불만 밴드 |
| 응답시간 | P50·P95 응답시간 추세 |
| 오류율 | 오류율(%)과 에러 건수 추세 |
| CPU 사용량 / 메모리 사용량 | 애플리케이션별 상위 자원 사용 추이 |
| 활성 사용자 | 최근 10분 활성 사용자 추세 |
| 트랜잭션 조회 다이얼로그(드릴다운) | 상시 위젯이 아니라, T-Map을 드래그해 선택했을 때 뜨는 트랜잭션 목록 |
참고: 화면 상단에는 실시간 연결 상태 배지가 표시됩니다. 서버와 연결되어 있으면 LIVE 가 표시됩니다. 연결이 끊기면 배지가 재연결 중 (N)... 으로 바뀌고 화면이 스스로 다시 연결합니다. 10회 안에 연결하지 못하면 배지가 연결 끊김 과 마지막 수신 시각을 보여 줍니다. 그 뒤에도 60초마다 다시 연결을 시도하므로 새로고침하지 않아도 됩니다. 자세한 동작은 3.1 대시보드의 "실시간 연결 상태 확인" 절을 참고하세요.
주요 기능
카테고리 · 네임스페이스 필터
상단 필터 바의 두 콤보로 표시 범위를 정합니다.
- 카테고리 필터: 카테고리는 항상 하나가 선택되어 있어야 하며 비울 수 없습니다. 카테고리를 바꾸면 그에 속한 애플리케이션의 데이터만 화면에 표시됩니다.
- 네임스페이스 필터: 선택한 카테고리에 속한 네임스페이스만 목록에 나타나며, 전체(ALL)를 선택할 수 있습니다.
선택을 바꾸면 서버에 다시 구독하여 해당 범위의 데이터만 수신하므로, 관심 있는 서비스 묶음에만 집중할 수 있습니다. 선택 값은 저장되어 다시 접속할 때 복원됩니다.
필터 결과에 해당하는 애플리케이션이 없으면 "선택한 카테고리/네임스페이스에 표시할 앱이 없습니다"라는 안내와 함께 필터 초기화 버튼이 표시됩니다.
팁: 네임스페이스 선택은 커스텀 대시보드·사용자수 추정 등 다른 화면과 공유됩니다. 한 화면에서 네임스페이스를 고르 면 다른 화면에서도 같은 선택이 이어져, 화면을 오가며 같은 대상을 추적하기 편합니다.
필터 바 우측에는 다음 보조 컨트롤이 있습니다.
| 컨트롤 | 설명 |
|---|---|
| 전체화면 토글 | 화면을 전체 화면으로 전환. 팀 공용 모니터에 상시 표시할 때 유용 |
| 환경 설정(기어) | 트래픽 시각 효과 강도 등 화면 표현 옵션 조정 |
| LIVE 배지 | 실시간 연결 상태 표시 |
| 집계 지연 배지 | 서버 집계가 지연되면 표시. 데이터가 잠시 오래된 값일 수 있음 |
| 상위 N개 안내 | 항목이 너무 많아 일부만 표시될 때 "상위 N개 표시 중 · 전체 M개" 안내 |
정보 요약 카드

화면 상단의 정보 카드는 현재 상태를 여섯 개 지표로 요약합니다.
| 셀 | 내용 |
|---|---|
| 사용자 만족도(Apdex) | 응답시간 만족도(%). 값에 따라 색으로 상태 표시 |
| TPS | 초당 트랜잭션(요청) 수 |
| 활성 사용자 | 활성 사용자 수 (최근 5분 기준) |
| 오류율 | 앱이 받은 요청 대비 오류 비율(%). 값에 따라 색으로 상태 표시 |
| 응답시간 P50/P95 | 앱이 받은 요청의 P50 / P95 응답시간(ms) |
| 30분 활 성 사용자 | 최근 30분 기준 활성 사용자 수 |
값은 마지막으로 완결된 10초 구간을 기준으로 한 최근 값입니다. 만족도·오류율은 상태에 따라 색이 바뀌어(양호=초록, 보통=주황, 불량=빨강) 문제를 한눈에 알 수 있습니다. 데이터가 없으면 "—"로 표시됩니다.
오류율·응답시간·만족도가 세는 요청
정보 카드와 추세 차트의 오류율, 응답시간(P50/P95), 사용자 만족도는 앱이 받은 요청(수신)만 셉니다. 앱이 보낸 데이터베이스 쿼리와 메시지 큐 호출은 넣지 않습니다. 그래서 앱이 쿼리를 많이 보내도 오류율과 응답시간이 실제보다 낮게 나오지 않습니다.
- 트랜잭션 히트맵(T-Map)의 기본(전체) 보기는 앱이 보낸 호출도 계속 보여 줍니다. 받은 요청만 보려면 T-Map 의 방향 토글에서 수신을 선택하세요.
- 받는 요청이 없는 앱(배치 작업, 메시지 컨슈머 등)은 값이 "—" 로 나오거나 실시간 L7 값으로 대신 표시됩니다.
참고: 활성 사용자 라벨에는 산정 기준이 함께 표기됩니다. 세션 커버리지가 충분하면 (Session), 그렇지 않으면 (IP+UA) 기준으로 추정합니다. 두 방식의 차이는 사용자수 추정 문서를 참고하세요.
실시간 추세 차트

TPS·응답시간·오류율·사용자 만족도를 각각 최근 10분을 10초 단위로 집계해 추세로 보여줍니다. 각 차트 제목 아래에 "최근 10분"이 표기됩니다.
응답시간 차트
P50과 P95 두 라인으로 앱이 받은 요청의 응답시간을 보여줍니다. 실시간 L7 값이 없는 환경에서는 평균 응답시간 한 라인으로 대체됩니다.
- P50(중앙값): 절반의 요청이 이 시간 안에 처리됩니다. 일반적인 사용자 경험을 나타냅니다.
- P95: 상위 5%의 느린 요청 경계입니다. 꼬리 지연(tail latency)을 파악하는 데 씁니다. P50은 낮은데 P95가 높으면 일부 요청만 느린 상황입니다.
왜 평균이 아니라 P50·P95인가: 응답시간 분포는 대개 오른쪽으로 길게 치우쳐(right-skewed) 있습니다 — 대다수 요청은 빠르고 소수만 매우 느립니다. 이때 평균(Average) 은 이 느린 소수에 끌려 올라가 "실제로 아무도 겪지 않는 값"이 되거나, 반대로 느린 요청을 다수에 희석해 문제를 가리기 쉽습니다. 예를 들어 요 청 1,000건 중 990건이 100ms, 10건이 5,000ms라면 평균은 149ms로 정상처럼 보이지만, 실제로는 10명의 사용자가 5초를 기다린 것입니다.
| 지표 | 위 예의 값 | 무엇을 말해주나 |
|---|---|---|
| 평균(Average) | 149ms | 느린 소수에 끌려간 값 — 대표 경험도, 최악 경험도 아님 |
| P50(중앙값) | 100ms | 요청을 응답시간 순으로 세웠을 때 한가운데 값 = 대표 사용자가 실제 겪는 경험(느린 소수에 흔들리지 않음) |
| P95 | 5,000ms | 가장 느린 5%의 경계 = 꼬리 지연(tail latency). 평균이 감추는 부분 |
사용자 이탈과 SLO/SLA 위반은 평균이 아니라 꼬리(P95·P99) 에서 발생합니다. 그래서 P50("보통 얼마나 빠른가")과 P95("가장 느릴 때 얼마나 느린가")를 함께 보면, 평균 하나로는 놓치는 "빠른 다수"와 "느린 소수"를 분리해 문제가 전체적인지 일부 요청에 국한되는지 즉시 구분할 수 있습니다.
오류율 차트
오류율(%) 라인과 에러 건수 보조 라인을 함께 보여줍니다. 라인 위에 마우스를 올리면 해당 구간의 요청 수가 툴팁으로 표시되어, 오류율이 적은 표본에서 나온 값인지 판단할 수 있습니다.
사용자 만족도(Apdex) 차트
만족·보통·불만 밴드를 배경으로 깐 만족도 라인입니다. 기준 임계값은 3초로 고정되어 있습니다(만족 < 3초, 보통 3~12초, 불만 ≥ 12초).
비교 모드
각 추세 차트에는 번개 아이콘의 비교 모드 드롭다운이 있습니다.
- 실시간: 현재 추세만 표시(기본).
- 어제와 비교: 어제 같은 시간대의 값을 겹쳐 표시.
- 지난주와 비교: 지난주 같은 시간대의 값을 겹쳐 표시.
배포 전후나 요일별 패턴을 비교할 때 활용합니다. 값이 급변하면 차트 제목 옆에 상태 점(초록→주황→빨강)이 나타나 이상 징후를 알립니다.
팁: 차트 헤더나 우상단의 이동(↗) 버튼을 클릭하면 애플리케이션 상세(SLO 탭 등)로 드릴다운합니다. 필터 범위에 애플리케이션이 둘 이상이면 대상 앱을 먼저 선택하는 다이얼로그가 뜹니다.
트랜잭션 히트맵(T-Map)

트랜잭션 히트맵은 응답시간(세로축)과 시간(가로축)을 격자로 나눠, 각 구간에 들어온 트랜잭션 수를 색 농도로 보여줍니다.
히트맵 읽는 법
- 각 셀은 일정 시간×응답시간 구간에 속한 트랜잭션 수를 나타냅니다. 색이 진할수록 그 구간의 요청이 많습니다.
- 빨간 테두리가 있는 셀은 오류가 포함된 구간입니다.
- 위쪽(응답시간이 높은 영역)에 점이 몰려 있으면 느린 요청이 많다는 뜻입니다.
셀 상호작용
- 마우스를 올리면 시각 범위, 응답시간 구간, 응답 수, 5xx 오류 수가 툴팁으로 표시됩니다.
- 셀을 클릭하면 그 구간의 대표 트레이스로 이동해 스팬 단위로 상세를 분석할 수 있습니다.
- 화살표 키로 셀을 이동하고 Enter로 열 수도 있습니다.
- 드래그로 시간 범위를 선택하면 트랜잭션 조회 다이얼로그가 열립니다. 이 목록은 선택한 시점의 데이터로 고정되며 실시간과 무관하게 유지됩니다. 다이얼로그가 보여주는 항목은 아래 드릴다운 화면 절에서 자세히 설명합니다.