XLOG 차트 분석
액티브 서비스가 종료되면 XLOG 차트에 하나의 점으로 나타내는 스캐터 차트로 분석합니다.
마우스로 구간 선택
분석이 필요한 구간을 마우스로 드래그하여 생기는 영역이 프로파일 대상입니다. 선택된 대상들은 종료된 시간 순서대로 목록이 만들어지며 응답시간이 길거나 에러로 판별된 XLOG를 확인하기에 용이합니다.
종료된 트랜잭션 마우스 드래그로 선택
- 분석 영역 드래그로 선택
선택된 트랜잭션의 프로파일 리스트
- 프로파일 목록: 트랜잭션의 응답 시간, SQL 처리 시간, 클라이언트 IP의 요약 정보입니다. 최대 5,000개까지 선택할 수 있습니다.
- 프로파일 요약: 트랜잭션의 성능을 분석하기 위해 이름과 클라이언트 정보 등의 속성, 트랜잭션의 처리 성능과 각 구간별 상세 수행 이력을 표출합니다.
- 프로파일 스텝: 프로파일이 수행된 과정을 순서대로 보여줍니다.
프로파일 목록
프로파일 목록에서 분석 대상을 선택하면 프로파일 상세 내용을 확인할 수 있습니다.
XLOG 선택 목록
- TOP N: 수행 시간(ms)이 오래 걸린 순서로 정렬됩니다. 다시 클릭하면 이전 화면으로 변경됩니다.
- 에러: 에러만 필터하여 보여줍니다. 다시 클릭하면 이전 화면으로 변경됩니다.
기본적으로 프로파일링 되는 정보는 SQL, ResultSet Fetch, DB Connection 오픈, Socket 접속, HTTP 호출 등이 있습니다. 프로파일링을 통해 각각의 단계에서 수행시간을 확인할 수 있고 추가 설정으로 메소드 단위의 프로파일링도 가능합니다.
프로파일 컬럼
컬럼명 | 설명 |
---|---|
오브젝트 | 트랜잭션이 발생한 서버의 오브젝트 이름 |
URL | 서비스 URL |
종료시간 | 서비스 종료시간 |
수행시간 | 서비스 소요시간 |
SQL수행시간(ms) | 서비스에서 수행된 SQL 시간의 합 |
클라이언트 IP | 서비스를 요청한 IP |
프로파일 정보
프로파일 목록에서 선택한 종료된 트랜잭션의 요약 정보입니다.
프로파일 정보
- 요약: 프로파일 정보 요약보기/상세보기 체크 박스
- 파이 차트: 프로파일 구간별 응답속도
프로파일 정보 설명
컬럼명 | 설명 |
---|---|
오브젝트 | 트랜잭션이 발생한 서버의 오브젝트 이름 |
트랜잭션ID | 서비스 트랜잭션ID |
URL | 서비스 URL |
클라이언트 IP | 서비스를 요청한 IP |
수행시간 | 서비스 소요시간(ms) |
종료시간 | 서비스 종료 시간 |
외부 HttpCall 건수 | 외부 HttpCall 수행 총 건수 |
외부 HttpCall 시간 | 외부 HttpCall 수행 총 시간 |
SQL 수행 건수 | SQL 수행 총 건수 |
SQL 수행 시간 | SQL 수행 총 시간 |
에러 | 에러 메세지 |
URL 그룹 | URL 패턴 그룹 |
사용자 ID | 플로우캣에서 부여한 사용자 고유 식별 ID |
이전 URL 주소 | 현재 페이지에 요청한 이전 페이지의 URL 정보 |
스레드 ID | 트랜잭션이 수행됐던 스레드 ID |
사용자 에이전트 | 웹 클라이언트 정보 |
프로파일 타입 | WEB_SERVICE(웹), APP_SERVICE(응용 프로그램), BACK_THREAD(스레드) |
프로파일 스텝
트랜잭션 프로파일이 트랜잭션의 시작과 종료 사이의 요약 지표들이나 속성들을 의미한다면 트랜잭션 트레이스는 트랜잭션이 수행되는 스텝들을 추적하는 것입니다. 트랜잭션이 느리거나 오류가 있다면 그 원인을 추적하기 위해서 수행 이력을 스텝 단위로 추적해야 합니다.
플로우캣에서 수집하는 스텝의 종류에는 SQL, API CALL, 메시지, SOCKET 오픈, 메소드 등이 있습니다.
프로파일 스텝 플레임 차트
- 프로파일 스텝 간 누적시간
- 프로파일 스텝 타입
- 스텝 수행시간
- 프로파일 내용, 막대(스텝 수행시간 가시화)
unlabeled?
unlabeled란? 플로우캣 에이전트가 설치된 Java 애플리케이션(WAS, SpringBoot 등등)의 서비스 호출 시점에 HTTP 호출 이름이 수집 서버 딕셔너리 등록에 실패하여 발생하는 것을 의미합니다.
unlabeled 발생
데이터 전송이 실패할 수 있는 상황은 다양합니다. 수집 서버가 다운되었거나 네트워크 간 MTU값이 작을 경우, 에이전트/서비스의 폭주 혹은 서비스 재기동 등등의 조건에서 플로우캣 에이전트가 모니터링 대상(서비스)에 영향을 주지 않는 최적의 방법은 재전송 없이 데이터를 포기하는 것이라고 판단하고 있습니다.
플로우캣은 서비스 성능 모니터링이 주된 목적인 프로그램이긴 하지만, 서비스에 영향을 주지 않는 범위 내에서 작동해야 하므로 네트워크 오류, 대용량 프로파일링, 대용량 텍스트가 발생하는 경우 재전송 없이 unlabeled로 처리하고 있습니다.