트랜잭션
트랜잭션이란 사용자 브라우저의 요청을 처리하기 위한 서버 사이드의 Logical Unit of Work(LUW)를 말합니다. 개별 웹서비스(URL) 요청에 대한 처리 과정이 바로 트랜잭션입니다. 웹 애플리케이션에서 트랜잭션은 웹서비스(URL)에 대한 HTTP Request를 받아 Response를 반환하는 과정입니다.
애플리케이션의 성능은 이 트랜잭션들의 성능으로 요약할 수 있습니다. 트랜잭션 성능은 트랜잭션 시작에서부터 종료 시점, 응답시간 및 자원 사용량 혹은 트랜잭션 호출자 속성 등의 정보를 포함합니다.
기본적으로 트랜잭션 응답 분포와 트랜잭션 통계를 통해서 트랜잭션 성능을 분석할 수 있습니다.
에이전트에서 트랜잭션 성능을 추적해 설정할 수 있는 옵션을 다음과 같이 제공합니다.
트랜잭션 트레이싱
-
profile_http_header_enabled Boolean
기본값
false
트레이스 내역에 http 헤더 정보를 기록하려면
true
로 설정하세요. -
profile_http_parameter_enabled Boolean
기본값
false
트레이스 내역에 http 파라미터 정보를 기록하려면
true
로 설정하세요. 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다.노트보안 키는 WAS 서버
%PROGRAMFILES%
\WhaTap .NET\paramkey.txt 파일 내에 6자리로 설정합니다. paramkey.txt 파일이 존재하지 않는 경우 랜덤 값으로 자동 생성합니다. -
profile_http_parameter_url_prefix String
트레이스 내역에 http 파라미터 정보를 기록할 대상 URL의 prefix를 정의할 때 사용합니다.
-
profile_http_host_enabled Boolean
기본값
false
트랜잭션의 호스트 정보를 출력합니다. 값이
false
이면 트랜잭션의 URL에 URI만 표기하고,true
이면 /xxx.aaa.com/URL 형식으로 출력합니다. -
profile_http_body_url_prefix String
트레이스 내역에 http body 정보를 기록할 대상 URL의 prefix를 정의할 때 사용합니다.
-
biz_exceptions String
기본값
Empty
특정 Error 또는 Exception을 Business Exception으로 설정합니다. 히트맵에서는 에러로 표기되지 않고 통계정보에만 수집합니다. 수집하는 Error Class 이름과 동일하게 적용합니다. 쉼표(,)를 구분자로 이용해 여러 개를 등록할 수 있습니다.
-
ignore_exceptions String
기본값
NONE
등록한 Exception의 에러 자체를 무시합니다.
Exception의 경우 Custom Exception Class를 정의하지 않으면 기본 'Exception'으로 수집합니다. 특정 Exception을 구분하기 위해서는 Custom Exception Class를 정의하고 해당 이름을 설정하면 제외할 수 있습니다.
-
trace_normalize_enabled Boolean
기본값
true
트랜잭션 URL을 파싱해 정규화하는 기능을 활성화합니다.
노트false
로 값을 변경하면 패스 파라미터 파싱을 비활성화합니다. 이 경우 통계 데이터의 의미가 약화됨으로 디버그 용도로만 잠시 사용하는 것을 권장합니다. -
trace_normalize_urls String
기본값
NONE
정규화할 트랜잭션 URL 패턴을 설정합니다. 호출 URL 패턴을 파싱해 패스 파라미터를 제거합니다.
노트예시,
/a/{v}/b
라고 선언하면a/123/b
→a/{v}/b
로 치환합니다. 여러 개를 등록할 때는 쉼표(,)를 구분자로 이용하세요. 치환 패턴 정리 후 보완이 필요합니다.
-
transaction_status_error_enable Boolean
기본값
true
HTTP 401, 403과 같이 정상 응답이 아닌 HTTP 상태 코드를 반환하는 경우 에러로 처리할지 여부를 설정합니다.
-
status_ignore String
무시하려는 HTTP 상태 코드를 설정할 수 있습니다. 여러 값을 대상으로 할 경우 쉼표(,)를 구분자로 사용하세요.
whatap.conf# example
status_ignore=408,500 -
status_ignore_set String
whatap.error.STATUS_ERROR
를 무시합니다. 여러 값을 대상으로 할 경우 쉼표(,)를 구분자로 이용하세요.whatap.conf# example
status_ignore_set=/api/test/timeout/{time}:408,/api/test/timeout:200,/error:500 -
httpc_status_error_enable Boolean
기본값
true
HTTP 상태 코드가 에러인 경우 수집 여부를 설정합니다. 클라이언트 에러 응답(
400
이상), 서버 에 러 응답(500
이상)이 해당됩니다.노트HTTP 상태 코드에 대한 자세한 내용은 다음 링크를 참조하세요.
-
httpc_status_ignore String
HTTP 상태 코드가 에러(
HTTPC_ERROR
)인 경우 무시할 수 있습니다. 여러 값을 대상으로 할 경우 쉼표(,)를 구분자로 사용하세요. -
httpc_status_ignore_set String
whatap.error.HTTPC_ERROR
를 무시합니다. 여러 값을 대상으로 할 경우 쉼표(,)를 구분자로 이용하세요.노트httpc_status_ignore_set=/a/b/c:400,/a/ab/c:404
와 같이 설정하세요. 이때 url은 통계/에러 분석에서HTTPC_URL
값을 입력합니다. -
profile_http_parameter_keys String
설정된 키에 해당하는 파라미터 정보만 기록합니다. 여러 개를 등록할 때는 쉼표(,)를 구분자로 이용하세요.
-
trace_active_transaction_slow_time Millisecond
기본값
3000
수집 정보를 확인하는 대시보드의 엑티브 트랜잭션 아크이퀄라이저 그래프에서 slow 구간으로 표기할 수 있는 트랜잭션 응답 시간의 기준을 설정합니다. 트랜잭션의 응답 시간이 설정 시간을 초과할 경우 slow 액티브 트랜잭션의 개수에 포함합니다.
-
trace_active_transaction_very_slow_time Millisecond
기본값
8000
수집 정보를 확인하는 대시보드의 엑티브 트랜잭션 아크이퀄라이저 그래프에서 very slow 구간으로 표기할 수 있는 트랜잭션 응답 시간의 기준을 설정합니다. 트랜잭션의 응답 시간이 설정 시간을 초과할 경우 very slow 액티브 트랜잭션의 개수에 포함합니다.
-
trace_active_transaction_lost_time Millisecond
기본값
30000
트랜잭션 종료를 기다리는 제한 시간입니다. 5분 안에 트랜잭션이 끝나지 않는 경우 트랜잭션을 정보를 더 이상 수집하지 않습 니다. 트랜잭션의 트레이스 정보에서 'Lost Connection'를 확인할 수 있습니다.
-
prepend_app_pool_name Boolean
기본값
false
옵션값을
true
로 설정하면 트랜잭션의 URL 앞에 애플리케이션의 전체 이름을 표시합니다.