분석
분석 메뉴에는 지난 시간의 데이터를 검색해 들여다보는 화면 두 개가 있습니다. 대시보드가 "지금 무슨 일이 일어나는가"를 보여 준다면, 분석 화면은 "그때 무엇이 느렸고 어디서 시간을 썼는가"를 찾는 곳입니다.
| 메뉴 | 용도 |
|---|---|
| X-View | 기간과 조건으로 트랜잭션을 검색해 분포를 보고, 애플리케이션·사용자·GUID 단위로 묶어 봅니다 |
| Stacktrace Flight Recorder | 수집된 스택트레이스 샘플을 모아 어떤 메서드가 시간을 차지했는지 봅니다 |
두 화면 모두 접속 프로파일 계정이 볼 수 있는 첫 번째 도메인 그룹(SFR은 그 첫 번째 도메인)을 대상으로 합니다.
X-View 분석
검색 조건
화면 위쪽 막대에서 조건을 정하고 오른쪽 끝의 돋보기로 검색합니다.
| 항목 | 내용 |
|---|---|
| 트랜잭션 종류 | 모든 트랜잭션 또는 MSA 시작점. MSA 시작점을 고르면 연계 트랜잭션만 찾으며, 고급 검색 조건이 지워지고 버튼이 숨습니다 |
| 시작, 끝 | 날짜와 시·분. 처음에는 최근 10분입니다. 끝이 시작보다 뒤여야 검색할 수 있습니다 |
| 대상선택 | Instance 또는 Business 탭의 트리에서 대상을 체크하고 적용합니다. 시간을 바꾸면 그 기간의 대상으로 목록이 다시 채워집니다 |
| 최소 응답시간 | 이 값(ms)보다 오래 걸린 트랜잭션만 가져옵니다 |
| 고급 검색 조건 | 트랜잭션과 프로파일 내용으로 거르는 조건 창 |
검색하는 동안 돋보기는 진행 링으로 바뀌고, 누르면 검색을 멈춥니다. 차트와 표 위에도 불러오는 중 상자가 뜨며 그 안의 버튼으로 멈출 수 있습니다. 멈추면 그때까지 받은 점만 남습니다.
MB에 이르고 수십 초가 걸릴 수 있습니다. 받은 점이 브라우저 메모리에 따라 정해지는 한도(50만~200만 개)에
닿으면 검색이 멈추고 알림 창이 뜹니다. 기간을 좁히거나 최소 응답시간을 올려 검색하세요.
고급 검색 조건
창에는 탭이 둘 있습니다. 빈 칸은 조건에서 빠지고, 적용하면 다음 검색부터 쓰입니다. 창을 다시 열면
지금 적용된 조건이 들어 있습니다.
| 탭 | 조건 |
|---|---|
| 트랜잭션 검색 | TXID, 애플리케이션 이름, 클라이언트 IP, 클라이언트 ID, 사용자 ID, GUID, HTTP 상태, HTTP User-Agent, ERROR 유형, ERROR가 포함된 트랜잭션만 표시 |
| 프로파일 검색 | Method, Method (매개변수), Method (Return), SQL 매개변수, External Call, 파일, 메세지, Bot 제외, SQL 구문 |
트랜잭션 검색 탭에서는 *로 패턴을 쓸 수 있습니다(예: api.*.service). TXID와 클라이언트 ID가 정수가
아니면 적용이 눌리지 않습니다. 프로파일 검색 조건은 트랜잭션 안의 프로파일까지 뒤지므로 검색이 오래
걸릴 수 있습니다.
인스턴스 바
검색이 끝나면 조건 막대 아래에 검색된 인스턴스(또는 비즈니스)가 칩으로 나옵니다. 칩을 고르면 차트와 표에 그 대상의 점만 남고, 여러 개를 고를 수 있습니다. 왼쪽 초기화 버튼으로 선택을 풉니다.
탭과 보기
탭은 같은 검색 결과를 무엇으로 묶어 볼지를 정합니다. 검색 결과에 그 값이 없는 탭은 비활성입니다. 탭 막대 오른쪽의 드롭다운으로 보기를 바꿉니다.
| 탭 | 보기 |
|---|---|
| 트랜잭션 | 애플리케이션 / 차트 보기, 차트 보기, 테이블 보기 |
| 클라이언트 ID, GUID | 차트 보기 |
| 애플리케이션 | 차트 보기, 테이블 보기 |
| 사용자 ID, 클라이언트 IP | 테이블 보기 |
탭 막대 오른쪽 끝에는 공유 버튼(트랜잭션 차트)과 필터 패널 버튼이 있습니다. 표에서 행을 고르면
팝업으로 보기 버튼이 나타납니다.
X-View 차트
트랜잭션 탭에서는 트랜잭션 하나가 X 표시 하나입니다. 가로축은 시각, 세로축은 고른 시간 값이며, 오류로 끝난 트랜잭션은 붉은 계열로 찍힙니다. 검색이 진행되는 동안에는 지금까지 받은 시각에 주황색 표시가 붙습니다.
클라이언트 ID, 애플리케이션, GUID 탭에서는 묶음 하나가 점 하나입니다. 점은 그 묶음의 마지막 시각에 찍히고, 속한 트랜잭션이 많을수록 진해지며 100건 이상이면 둘레에 원이 그려집니다.
차트 머리 영역은 다음과 같습니다.
- 세로축 드롭다운 - 트랜잭션 탭은
응답 시간,SQL 시간,Fetch 시간,External Call 시간,CPU 시간, Frontend 시간, Network 시간 중에서, 묶음 탭은 평균·최대·최근 응답시간 중에서 고릅니다 - 패턴 배지 - 콘솔에 AI 기능이 켜져 있으면 점 분포의 패턴 판정 결과가 나옵니다. 읽는 법은 대시보드의 X-View와 같습니다
- 점 개수 - 마우스를 올리면 종류별 개수가 나옵니다
- 드래그 모드 (↔) -
드래그로 영역 선택과드래그로 시간 확장을 바꿉니다 - ⋮ -
자동 Max 값스위치, 그리고 AI 기능이 켜져 있으면X-View 패턴 인식,X-View 패턴 등록
세로축 맨 위의 최대값 상자(처음 8000)를 클릭하면 값을 직접 입력할 수 있습니다. 차트에 초점을 주고 ↑ ↓로 최대값을 바꿀 수도 있습니다(Shift는 10배씩).
차트를 드래그하면 드래그 모드에 따라 다음이 일어납니다.
| 모드 | 드래그 결과 |
|---|---|
| 드래그로 영역 선택 | 상자 안의 점(묶음 탭이면 묶음)이 X-View 트랜잭션 창에 열립니다 |
| 드래그로 시간 확장 | 고른 시간 구간으로 차트가 확대됩니다. 위쪽에 구간과 되돌리기·닫기 버튼이 나옵니다 |
Ctrl+B는 탭과 상관없이 모든 점을 X-View 트랜잭션 창으로 엽니다. 열린 창에서 하는 일은
X-View 트랜잭션에 있습니다.
애플리케이션 차트
트랜잭션 탭의 애플리케이션 / 차트 보기에서는 X-View 왼쪽에 애플리케이션 목록이 붙습니다. 각 행은
애플리케이션 이름, 값, 전체 대비 비율 막대입니다. 목록 머리의 드롭다운으로 정렬 기준을 호출 건수,
평균 응답시간 (ms), 최대 응답시간 (ms), 평균 SQL 시간 (ms), 평균 CPU 시간 (ms),
이름으로 오름차순 중에서 고릅니다.
- 애플리케이션을 클릭하면 X-View에 그 애플리케이션의 점만 남고, 다시 클릭하면 모두 보입니다
- 목록의 오른쪽 경계를 끌어 폭을 바꿉니다. 폭은 브라우저에 기억됩니다
- 콘솔에 AI 기능이 켜져 있으면 행 오른쪽의
>버튼으로 비슷한 애플리케이션을 찾습니다. 고른 애플리케이션과 응답 시간 분포가 비슷한 애플리케이션이 유사도와 함께 나열되고, X-View는 애플리케이션마다 다른 색으로 점을 칠합니다
표
테이블 보기의 표는 한 쪽에 50행씩 보여 줍니다. 트랜잭션 표는 처음에 중요도(오류 여부와 응답 시간)
순으로 정렬되며, 열 머리를 누르면 그 열로 정렬합니다. 표 위 도구에서 쪽을 넘기고, 열을 고르고, 지금 보이는
행을 CSV로 내려받습니다.
묶음 탭의 표는 묶음마다 한 행이며 건수, 평균 SQL·Fetch·External Call·CPU 시간, 평균·최대·최근 응답시간을
막대와 함께 보여 줍니다. 행을 체크하고 팝업으로 보기를 누르면 그 묶음의 트랜잭션이 X-View 트랜잭션 창에
열립니다.
필터 패널
탭 막대 오른쪽 끝의 필터 버튼을 누르면 오른쪽에 필터 패널이 열립니다. 필터는 검색을 다시 하지 않고 이미 받은 점을 거릅니다.
- 입력 필터 - 애플리케이션, 제외 애플리케이션, 클라이언트 IP, 클라이언트 ID, 사용자 ID, GUID, Business
ID, HTTP 상태, 또는 시간 값 비교(
>,>=,=,<,<=)를 입력하고 Enter를 누르면 종류별로 쌓입니다. 필터 이름을 누르면 켜고 끄며, ✕로 지웁니다 - 트랜잭션 종류 - ERROR, MSA 시작점, 스택트레이스, 비동기, 동기. 비동기와 동기는 함께 켤 수 없습니다
- Percentile - 세로축 값이 P90, P95, P99 이하인 점만
- 대표 트랜잭션 - AI 기능이 켜져 있을 때. 다른 필터와 함께 쓸 수 없습니다
검색 공유
공유 버튼을 누르면 X-View 검색 공유하기 창에 지금 검색한 도메인과 기간의 주소가 나옵니다. 이 주소는
JENNIFER 콘솔의 X-View 검색 화면을 직접 가리키므로, 받는 사람은 콘솔에 접속할 수 있어야 합니다. 고급 검색
조건과 필터는 공유되지 않습니다.
X-View 패턴 등록
콘솔에 AI 기능이 켜져 있고 트랜잭션 탭의 차트에 패턴 배지가 나와 있으면, ⋮ 메뉴의 X-View 패턴 등록으로
지금 점 분포를 새 패턴으로 등록할 수 있습니다. 창에서 상태(정상/비정상), 이름, 메모(100자까지)를 적고
저장하면, 콘솔의 패턴 설정에서 실시간 메시지가 켜져 있고 차트에 점이 있을 때 콘솔에 패턴이 등록됩니다.
저장 뒤에는 패턴 설정 화면으로 갈지 묻고, 가겠다고 하면 콘솔의 설정 화면이 새 창으로
열립니다. X-View 패턴 인식 항목도 같은 설정 화면을 엽니다.
영향을 줍니다. 콘솔 설정 화면은 브라우저가 JENNIFER 콘솔에 직접 접속하므로 콘솔 로그인이 따로
필요합니다.
시작 화면으로 설정
머리 영역 ⋯ 메뉴의 시작 화면으로 설정을 체크하면 접속 프로파일 계정의 콘솔 시작 화면이 X-View
분석으로 바뀝니다. 콘솔 계정 설정을 바꾸는 동작이므로, 여러 사람이 쓰는 계정이면 주의하세요.
Stacktrace Flight Recorder
Stacktrace Flight Recorder(SFR)는 JENNIFER 에이전트가 주기적으로 수집한 스택트레이스 샘플을 모아, 어떤 메서드에서 시간을 썼는지를 메서드 표와 flame graph로 보여 줍니다. 특정 트랜잭션이 아니라 시스템 전체가 "그 시간에 무엇을 하고 있었는지"를 볼 때 씁니다.
검색 조건
| 항목 | 내용 |
|---|---|
| 기간 | 달력에서 마지막 날을 고르고, 위쪽 조회 기간에서 1일~4일을 고릅니다 |
| 대상선택 | 인스턴스 트리에서 체크하고 완료합니다 |
| 애플리케이션 | 그 기간의 애플리케이션 목록 창이 열립니다. Hash나 이름으로 걸러 체크하고 추가합니다. 열 머리를 누르면 정렬됩니다 |
돋보기를 누르면 검색합니다. 기간을 바꾸면 고른 애플리케이션이 지워지므로 다시 고르세요.
샘플 차트
검색한 기간을 144칸으로 나누고, 칸마다 아래에서 위로 분 단위 칸을 쌓아 진하기로 값을 보여 줍니다. 여러 날을 검색하면 자정마다 점선이 그려집니다.
- 왼쪽 드롭다운에서 지표를 고릅니다.
샘플 개수외에 인스턴스가 보고하는 지표(GC 시간 (ms),ERROR 수,GC 수등)가 나오며, 애플리케이션을 고르면 샘플 개수만 남습니다 - 차트를 드래그하면 그 구간, 클릭하면 그 1분의 스택트레이스를 불러옵니다. 고른 구간은 차트 위에 표시됩니다
- 기간이 지금을 포함하면
최근 1분,최근 5분,최근 60분버튼이 나옵니다
진한 칸이 몰린 구간이 샘플이 많은, 즉 그 시간에 실행 중이던 스레드가 많았던 구간입니다. GC 시간이나 ERROR 수 지표로 바꿔 같은 시각에 다른 일이 있었는지 맞춰 봅니다.
도구 막대
샘플 차트 아래 막대에는 다음이 있습니다.
- 검색 - 메서드 이름을 입력하고 Enter를 누르면 표와 flame graph에서 일치하는 것만 강조됩니다
- Head first / Tail first - flame graph의 긴 이름을 앞쪽부터 보일지 뒤쪽부터 보일지
- 보기 전환 - 표만, 표와 그래프, 그래프만
- 접기 (^) - 검색 막대와 샘플 차트를 접어 아래 영역을 넓힙니다
메서드 표
메서드마다 Self 비율, 곧 그 메서드가 스택 맨 위에 있었던 샘플의 비율을 보여 줍니다. 비율이 높은 메서드가 실제로 CPU를 쓰거나 기다리고 있던 곳입니다. 열 머리를 누르면 정렬하고, 다시 누르면 순서가 뒤집힙니다.
행을 클릭하면 flame graph에서 그 메서드가 강조되고, 다시 클릭하면 풀립니다.
Flame graph
호출 스택을 위에서 아래로 쌓은 그림입니다. 맨 위가 스레드의 시작점이고, 아래로 갈수록 호출된 메서드이며, 상자의 폭은 부모 샘플 중 그 메서드가 차지한 비율입니다. 넓은 상자를 따라 내려가면 시간이 어디로 갔는지 보입니다.
- 상자를 클릭하면 그 상자를 기준으로 확대합니다
- 오른쪽 위 버튼은
이전 선택 노드로 되돌아가기,선택 노드 초기화,CSV 내보내기,이미지 내보내기(PNG) 입니다 - 검색이나 메서드 선택을 하면 나머지가 흐려지고,
Matched비율이 표시됩니다




