본문으로 건너뛰기

트랜잭션 트레이싱

트랜잭션 트레이싱이란?

트랜잭션 성능이 트랜잭션 시작과 종료 사이의 요약 지표들이나 속성들을 의미한다면 트랜잭션 트레이스는 트랜잭션이 수행되는 과정 중인 스텝들을 추적하는 것입니다. 트랜잭션이 느리거나 오류가 있다면 그 원인을 추적하기 위해서 수행 이력을 스텝별로 추적해야 합니다. 이것을 트랜잭션 트레이싱이라고 합니다.

트랜잭션 성능 추적을 위해 수집하는 스텝의 종류는 다음과 같습니다.

  • DB 연결 스텝 START-END

    RDB에 대한 연결에 대한 성능을 포함합니다. 스텝 정보에는 이름, 응답시간, 에러를 포함합니다.

  • SQL 스텝 START-END

    JDBC SQL에 대한 성능을 포함합니다. 스텝 정보에는 연결 정보, SQL문, 에러가 포함되어 있습니다.

  • HTTP Call 스텝 START-END

    외부 http 서비스 호출에 대한 성능을 포함합니다. 스텝 정보에는 url, host, port, 응답시간, 에러가 포함됩니다.

  • Message 스텝 ADD

    트레이스를 수집하는 과정에서 비정형적인 모든 구간에 대한 이력을 수집할 때 메시지 스텝을 사용합니다.

  • SOCKET 스텝 ADD

    Socket 오픈을 표현하는 스텝입니다.

  • METHOD 스텝 START-END

    메소드 응답시간을 추적합니다.

  • ACTIVE STACK 스텝 START-END

    액티브 스택에 대한 정보를 포함합니다. 별도 스레드가 생성하여 트레이스에 추가하는 방식으로 수집합니다.

노트

와탭 모니터링 서비스에서 스텝(Step)은 스팬(Span)과 같은 뜻으로 사용됩니다.

상세 분석

홈 화면 > 프로젝트 선택 > 분석 > 히트맵

히트맵

  1. 숫자 1 시간 선택에서 히트맵을 조회할 기간을 선택하세요.

  2. 숫자 1 구분, 애플리케이션에서 조회 대상을 선택하세요.

  3. 검색 아이콘 버튼을 선택하세요.

  4. 숫자 2 히트맵 트랜잭션에서 원하는 영역을 숫자 3과 같이 드래그하세요.

  5. 숫자 5 TX 트레이스에 목록이 나타나면 분석하기 원하는 트랜잭션 항목을 선택하세요.

트랜잭션의 성능 분석을 위한 클라이언트 정보 등의 속성, 트랜잭션의 처리 성능, 각 구간별 상세 수행 이력 등을 확인할 수 있는 트랜잭션 정보 창이 나타납니다.

노트
  • 히트맵 메뉴의 기능에 대한 자세한 내용은 다음 문서를 참조하세요.

  • 애플리케이션 대시보드의 히트맵 위젯에 대한 자세한 내용은 다음 문서를 참조하세요.

트랜잭션 정보 창 안내

트랜잭션 정보

  • 숫자 1 영역에서는 스텝 정보를 다양한 형식으로 확인할 수 있습니다. 원하는 형식의 탭을 선택하세요.

  • 숫자 2 영역에서는 트랜잭션에 대한 기본 정보를 확인할 수 있습니다.

  • 숫자 3 통계 아이콘: 해당 URL 또는 각 수행 구간의 통계 데이터 창이 나타납니다. 통계 데이터 창에서 상세 > 버튼을 선택하면 통계/보고서 > 통계 메뉴로 이동합니다.

    노트

    통계 메뉴에 대한 자세한 내용은 다음 문서를 참조하세요.

  • 숫자 4 SQL 스텝을 선택하면 SQL 변수와 HTTP 쿼리를 조회할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.

테이블 뷰

테이블 뷰 탭에서는 트랜잭션의 수행 과정을 시간의 순서대로 확인할 수 있습니다.

테이블 뷰

  • 트랜잭션을 수행 구간별로 분류해 다이어그램을 통해 확인할 수 있습니다. 전체 경과 시간 중 각 구간별 소요된 시간, 가장 오래 소요된 구간을 빠르게 파악할 수 있습니다.
  • 다이어그램의 각 구간을 선택하면 해당 스텝이 위치한 테이블 목록으로 이동합니다.

    스텝 선택

  • 컬럼 아이콘 컬럼 선택: 테이블 목록에 컬럼으로 메모리 누적 정보 및 CPU 누적 정보를 추가하거나 감출 수 있습니다. 컬럼 정보는 다음과 같습니다.

    • No: 스텝의 발생 순서

    • 시간: 각 스텝의 시작 시각

    • : 해당 스텝의 시작 시각부터 다음 스텝으로 넘어가기까지 대기 시간, 외부 요인으로 지연될 경우 경과 시간과 차이가 있을 수 있습니다.

    • 경과: 각 메소드 시작부터 종료까지 총 소요 시간

    • 내용: 해당 스텝의 세부 수행 내용

  • 다운로드 아이콘 TXT: 트랜잭션 기본 정보 및 구간별 수행 정보를 txt 형식의 파일로 다운로드할 수 있습니다.

  • 다운로드 아이콘 SQL: 트랜잭션 기본 정보 및 SQL 수행 정보를 txt 형식의 파일로 다운로드할 수 있습니다.

  • 확대 아이콘: 트랜잭션 요약 정보와 다이어그램을 감추고 테이블 목록만 확인할 수 있습니다. 축소 아이콘 버튼을 선택하면 감춰진 정보를 다시 표시합니다. 테이블 목록이 긴 경우 이 기능을 이용하면 유용합니다.

  • SQL 스텝을 선택하면 파라미터를 조회할 수 있는 SQL 창이 나타납니다. 자세한 내용은 다음 문서를 참조하세요.

레코드 요약

레코드 요약

트랜잭션의 기본 정보를 확인하려면 레코드 요약 탭을 선택하세요. 트랜잭션의 기본 정보 및 해당 트랜잭션이 수행된 에이전트 관련 정보, 메모리 할당 사용량, 클라이언트 관련 정보를 확인할 수 있습니다.

트랜잭션 속성

분류속성설명
에이전트에이전트 명(oname)에이전트 오브젝트 이름
에이전트 ID (oid)에이전트 오브젝트 아이디
에이전트 그룹 명okind 옵션으로 설정된 에이전트 그룹 이름
에이전트 그룹 ID에이전트 그룹 아이디
에이전트 서버 명ondoe 옵션으로 설정한 에이전트 서버 이름
에이전트 서버 ID에이전트 서버 아이디
프로젝트 코드와탭 모니터링 서비스에 등록한 프로젝트의 식별 코드
트랜잭션트랜잭션 ID트랜잭션 아이디
시작 시간트랜잭션 시작 시각
종료 시간트랜잭션 종료 시각
경과 시간트랜잭션 수행 시간
HTTP 메소드HTTP 메소드 - GET, POST, PUT, HEAD 등
HTTP 호출 시간외부 Http Call 시간
HTTP 호출 건수외부 HTTP Call 건수
DB 연결 시간DB와 연결된 시간
SQL 시간SQL 수행 시간
SQL 건수SQL 수행 건수
SQL 패치 시간레코드를 조회하는 데 걸린 시간
(중첩이 발생하거나 타 로직이 포함될 수 있음)
SQL 패치 건수SQL에서 데이터를 조회한 레코드 건수
멀티 트랜잭션CallerUrl부모 트랜잭션의 트랜잭션 주소
CallerPcode부모 트랜잭션이 수집된 프로젝트 코드
CallerOid부모 트랜잭션의 에이전트 오브젝트 아이디
CallerOName부모 트랜잭션의 에이전트 이름
CallerOkind부모 트랜잭션의 에이전트 그룹 ID
CallerOkindName부모 트랜잭션의 에이전트 그룹 이름
자원CPU 사용 시간트랜잭션이 사용한 CPU 사용량
메모리 할당량트랜잭션이 사용한 메모리 사용량
클라이언트클라이언트 IP클라이언트의 IP 주소
도메인클라이언트가 접속한 IP 주소에 지정된 인터넷 주소
WClientID클라이언트의 ID
국가클라이언트의 국가 정보
도시클라이언트의 국가 내 도시 정보
운영체제브라우저가 실행되는 운영 체제 환경
클라이언트 타입클라이언트가 이용한 브라우저 종류
클라이언트 명클라이언트가 이용한 기기 이름
상태클라이언트의 요청에 대한 HTTP 상태 코드
Referer클라이언트가 브라우저에서 이전에 이용한 페이지 주소 또는 유입 경로
원본 URL/트랜잭션트랜잭션 이름과 원본 URL의 조합 데이터
원본 URL이 있을 경우 원본 URL 표시, 원본 URL이 없을 경우 트랜잭션 표시
유저 에이전트클라이언트 관련 정보를 추출하는데 이용하는 브라우저 정보
노트
  • 애플리케이션 종류나 설정, 스텝의 종류에 따라 수집하는 정보는 달라질 수 있습니다.

  • 와탭은 클라이언트와 관련한 정보를 기본 저장합니다. 사용자 데이터 수집과 관련한 에이전트 설정에 대한 자세한 내용은 다음 문서를 참조하세요.

트리 뷰

트랜잭션 수행 과정을 트리 형식으로 확인하려면 트리뷰 탭을 선택하세요. 각 트랜잭션과 그에 속한 트레이스의 세부 정보, 트레이스의 시작 시간 및 소요 시간, 호출 관계를 확인할 수 있습니다. 다이어그램의 각 구간을 선택하면 해당 스텝이 위치한 트리뷰로 이동합니다.

트리뷰

  • 한 줄 보기: 각 구간 별 수행 정보에 표시된 텍스트를 한 줄로 표시해 트리 형식을 간격하게 정리할 수 있습니다.

  • 여러 줄 보기: 각 구간 별 수행 정보에 표시된 텍스트를 줄바꿈해 모두 표시합니다.

  • 최장 경로: 가장 긴 경로로 이동할 수 있습니다.

  • 차트 아이콘 시간바 표시: 경과 시간을 막대 형식의 차트로 표시합니다.

  • 시간 아이콘 시간 표시: 각 구간별 타임 스탬프, 갭, 경과 시간을 텍스트 형식으로 표시합니다.

    • 8초 이상: 초과 지연 상태로 빨간색으로 표현합니다.

    • 3초 이상 8초 미만: 지연 상태로 주황색으로 표현합니다.

    • 3초 미만: 정상 상태로 파란색으로 표현합니다.

  • 감추기 아이콘 시간 숨기기: 시간 정보를 숨깁니다.

  • 확대 아이콘: 트랜잭션 요약 정보와 다이어그램을 감추고 트리뷰만 확인할 수 있습니다. 축소 아이콘 버튼을 선택하면 감춰진 정보를 다시 표시합니다. 트리뷰 목록이 긴 경우 이 기능을 이용하면 유용합니다.

  • 팝업 아이콘: SQL 변수와 HTTP 쿼리를 조회할 수 있는 창이 나타납니다. 자세한 내용은 다음 문서를 참조하세요.

노트

시작 및 소요 시간의 경우 트랜잭션 호출 환경에 따라 발생하는 시차를 상위 트랜잭션 내 트레이스와 매핑을 통해 보정하여 표현하기 때문에 실제 수집된 시간 데이터와 차이가 발생할 수 있습니다.

멀티 트랜잭션

멀티 트랜잭션은 다른 에이전트나 프로젝트와의 연관된 트랜잭션을 의미합니다. 멀티 트랜잭션 탭에서는 와탭 모니터링 서비스에 등록한 애플리케이션 간의 호출 관계를 확인할 수 있습니다.

멀티 트랜잭션을 추적하려면 관리 > 에이전트 설정 메뉴에서 mtrace_enabled 옵션을 true로 설정하세요. 에이전트 설정에 대한 자세한 내용은 다음 문서를 참조하세요.

멀티 트랜잭션

  • 차트: 각 트랜잭션의 호출 관계를 플로우 차트 형식으로 제공합니다. 트랜잭션 노드를 선택하면 해당 트랜잭션 노드에 대한 트레이스 분석 정보를 확인할 수 있습니다. 차트 모드에서는 마우스를 이용해 원하는 위치로 이동하거나 스크롤을 통해서 확대, 축소할 수 있습니다.

    • 설정 아이콘 차트 뷰 설정: 차트에 표시할 요소를 표시하거나 숨길 수 있습니다.
  • 테이블: 테이블 형식으로 멀티 트랜잭션 내에 포함된 각 트랜잭션 별 정보를 확인할 수 있습니다. 컬럼 아이콘 컬럼 선택 아이콘을 선택해 테이블 헤더 컬럼을 편집할 수 있습니다. 각 트랜잭션 항목을 선택하면 트레이스 분석 정보를 확인할 수 있습니다.

  • 트리: 트리 형식으로 트랜잭션 간의 호출 관계를 파악할 수 있습니다. 관련한 부가 기능은 트리뷰 탭의 기능과 같습니다.

  • 필터 아이콘 프로젝트 선택: 차트에 표시될 프로젝트를 선택하거나 해제할 수 있습니다.

노트
  • 트랜잭션 목록에서 멀티 트랜잭션 아이콘 아이콘이 표시된 항목에서 확인할 수 있습니다.

  • 멀티 트랜잭션에 대한 자세한 내용은 다음 문서를 참조하세요.

메소드 요약

메소드 요약

메소드 정보만을 확인하려면 메소드 요약 탭을 선택하세요. 에이전트에 추적이 설정된 메소드 이름과 소요 시간을 표시합니다. 불필요한 로직이 반복 실행되는 경우, 낮은 건수에 비해 실행 시간이 오래 걸리는 경우를 파악해 메소드 로직 개선을 위한 분석 정보로 활용할 수 있습니다.

노트

메소드(method)와 관련한 에이전트 설정 옵션에 대한 자세한 내용은 다음 문서를 참조하세요. 이용 중인 상품에 따라 메소드 추적 지원 여부는 다를 수 있습니다.

SQL 요약

SQL 요약

SQL문에 대한 정보를 확인하려면 SQL 요약 탭을 선택하세요. 불필요하게 반복 실행되는 경우, 낮은 건수에 비해 실행 시간이 오래 걸리는 경우를 파악해 쿼리 성능 개선을 위한 분석 정보로 활용할 수 있습니다.

HTTP Call 요약

HTTP Call 요약

HTTP 호출의 호출 건수, 합계 시간, 평균 시간 등을 확인하려면 HTTP Call 요약 탭을 선택하세요. 불필요한 외부 호출이 반복 실행되는 경우, 낮은 건수에 비해 실행 시간이 오래 걸리는 경우를 파악해 트랜잭션 지연 요인이 외부인지 내부인지를 파악하는 분석 정보로 활용할 수 있습니다.

트랜잭션 로그

트랜잭션과 관련한 로그 정보를 확인하려면 트랜잭션 로그 탭을 선택하세요.

트랜잭션 로그

  • 키워드 검색: 키워드 검색란에 검색하려는 텍스트를 입력한 다음 엔터 키를 입력하거나 검색 아이콘 버튼을 선택하세요. 입력한 텍스트와 일치하는 키워드를 하이라이트 표시합니다.

  • 하이라이트 아이콘 키워드 하이라이트: 키워드와 색상을 설정하면 자동으로 로그 목록에서 키워드와 일치하는 텍스트를 하이라이트 표시합니다.

  • 설정 아이콘 테이블 설정: 로그 목록 테이블의 헤더 컬럼을 설정할 수 있습니다.

노트
  • 트랜잭션 로그 탭을 활성화하려면 로그와 관련한 에이전트 설정 옵션을 적용해야 합니다. 로그 설정에 대한 자세한 내용은 다음 문서를 참조하세요.

  • 트랜잭션 로그 탭은 로그 조회 권한이 가진 멤버만 진입할 수 있습니다. 멤버 권한에 대한 자세한 내용은 다음 문서를 참조하세요.

키워드 하이라이트 설정하기

  1. 하이라이트 표시할 키워드를 추가하려면 하이라이트 아이콘 버튼을 선택하세요.

    키워드 하이라이트

  2. 원하는 키워드를 입력하세요.

  3. 색상 아이콘을 선택한 다음 원하는 색상을 선택하세요.

  4. 엔터를 입력하세요.

추가한 키워드가 목록에 생성됩니다.

키워드 하이라이트 삭제하기

하이라이트 목록에서 이용하지 않는 항목을 삭제하려면 삭제 아이콘 버튼을 선택하세요.

부가 기능

HTTP 파라미터 조회

테이블 뷰 탭에서 해당 트랜잭션의 HTTP 파라미터를 조회할 수 있습니다.

  1. 페이지 아래로 스크롤해 트랜잭션 수행의 가장 마지막 단계로 이동하세요.

  2. 잠금 아이콘 HTTP 파라미터 항목을 선택하세요.

  3. HTTP-PARAMETERS 창이 나타나면 비밀번호 버튼을 선택하세요.

  4. 설정한 Param Key를 입력하세요.

가려진 매개 변수를 확인할 수 있습니다.

노트
  • HTTP 파라미터와 관련한 에이전트 설정은 다음 문서를 참조하세요.

  • 비밀번호: 복호화된 파라미터 값을 확인할 수 있습니다. 비밀번호는 WHATAP_HOME/paramkey.txt 파일 내 6자리 문자열입니다. 다른 문자열로 변경 가능합니다. paramkey.txt 내 키는 SQL 변수 조회, HTTP 쿼리 조회, Thread 중지에 필요합니다.

SQL 파라미터 조회

테이블 뷰 탭에서 SQL 스텝을 선택하거나 트리 뷰 탭에서 팝업 아이콘 버튼을 선택하세요. 파라미터를 조회할 수 있는 SQL 창이 나타납니다.

SQL

  • 비밀번호: 복호화된 파라미터 값을 확인할 수 있습니다. 비밀번호는 WHATAP_HOME/paramkey.txt 파일 내 6자리 문자열입니다. 다른 문자열로 변경 가능합니다.

    노트

    paramkey.txt 내 키는 SQL 변수 조회, HTTP 쿼리 조회, Thread 중지에 필요합니다.

  • SQL 포맷팅: SQL 문장을 들여쓰기 및 포맷팅하여 가독성을 높일 수 있습니다.

  • 복사 아이콘: SQL 문장을 클립보드에 복사할 수 있습니다.

  • 통계: 통계/보고서 > 통계 메뉴의 SQL 탭으로 이동합니다.

SQL 변수와 HTTP 쿼리를 조회하려면 다음 옵션을 에이전트 설정에 추가하세요.

  • SQL 파라미터 정보 기록과 관련한 에이전트 설정은 다음 문서를 참조하세요.

  • HTTP 파라미터 정보 기록과 관련한 에이전트 설정은 다음 문서를 참조하세요.

whatap.conf
# SQL 파라미터 조회 옵션: 옵션이 적용되면 SQL 파라미터를 암호화하여 수집합니다.
profile_sql_param_enabled=true

# HTTP 파라미터 조회 옵션: 옵션이 적용되면 HTTP 쿼리 파라미터를 암호화하여 수집합니다.
profile_http_parameter_enabled=true