애플리케이션

설정 관리

설정 파일

Java

Whatap Java Agent의 설정을 읽어드리는 기본값은 ${WHATAP_HOME}/whatap.conf입니다.
경우에 따라 한 서버에서 여러 애플리케이션이 동작합니다. 이들에 대한 설정을 별도로 관리하고 싶으면 시작 스크립트에 JVM 옵션을 추가하여 지정합니다.

설정파일은 반드시 ${WHATAP_HOME}에 위치해야 합니다.
지정한 설정 파일을 사용
# A 서비스
-Dwhatap.config=whatap_Aservice.conf
# B 서비스
-Dwhatap.config=whatap_Bservice.conf

설정 추가/변경

설정의 추가/변경은 서버 메뉴의 설정 탭에서 사용 가능합니다.

서버 메뉴
Figure 1. 서버 메뉴

또는 설정 파일을 대상 서버에서 직접 편집해 사용할 수 있습니다.

편집
$ vi /whatap/whatap.conf

상황에 따라 시작 스크립트에 JVM -D 옵션을 통해 적용할 수도 있습니다.

JVM 옵션
export WHATAP_OPTS="$WHATAP_OPTS -Dwhatap.name={type}-{ip4}-{port}"
export WHATAP_OPTS="$WHATAP_OPTS -Dwhatap.okind=Aservice"
export JAVA_OPTS="$JAVA_OPTS $WHATAP_OPTS"

네이밍

와탭은 모니터링 정보 수집 대상인 애플리케이션 서버 식별을 위한 정보로 기본적으로 애플리케이션 서버로부터 수집한 정보를 활용합니다. 기본적으로 활용하는 정보는 애플리케이션 서버 종류, 애플리케이션 서버의 IP, 서비스 포트를 조합하여 애플리케이션 서버를 고유 식별자로 사용하게 되며 필요에 따라 사용자가 지정한 명칭을 사용하거나 패턴을 변경하여 사용하는 것도 가능합니다. 이때에는 꼭 고유한 값이어야 합니다.

Java

모니터링 대상을 식별하기 위해서는 이를 구분해야 할 필요가 있습니다. 와탭은 오브젝트 이름과 아이디를 통해서 대상을 구분합니다.

오브젝트(에이전트) 이름은 프로젝트 단위로 고유해야 합니다.
오브젝트 아이디/이름이 바뀌면 이전 데이터와 연결되지 않습니다.

와탭 모니터링 서비스에서는 모니터링 대상을 오브젝트 또는 에이전트로 혼용해서 사용합니다.

whatap.name

Default : {type}-{ip2}-{ip3}-{port}
Type : String
에이전트 이름을 패턴으로 정의합니다.

whatap.oname

Default : NONE
Type : String
에이전트 이름을 문자열로 정의합니다.

whatap.okind

Default : NONE
Type : String
에이전트가 속한 그룹 단위를 정의합니다.

whatap.onode

Default : NONE
Type : String
에이전트가 속한 노드 단위를 정의합니다.

auto_oname_enabled

Default : false
Type : Boolean
서버에 등록될 에이전트 이름(oname)을 서버로부터 자동 부여받는 기능을 활성화합니다. 적용 시, -Dwhatap.name, -Dwhatap.oname 옵션은 무시됩니다. 수집 서버와의 통신을 통해 oname을 부여받은 이후, 에이전트의 일반적인 동작을 시작합니다.

auto_oname_prefix

Default : agent
Type : String
에이전트 이름을 서버로부터 자동 부여할 때 에이전트 이름의 prefix, 보통 업무명을 사용합니다. prefix 일련번호 1~) 부여됩니다.

auto_oname_reset

Default : 0
Type : Int
서버로부터 새로운 에이전트 이름을 부여받기 위해서 수정합니다. 에이전트 이름을 자동 부여하면 what.oname이라는 시스템 환경 변수에 설정됩니다. 한번 정해지면 자바 인스턴스가 다시 시작할 때까지 유지됩니다. 리셋을 원할 때 auto_oname_reset 값을 수정합니다.(현재 설정값과 다른 값으로 변경하면 적용됩니다.)

PHP

whatap.object_name

Default : {type}-{ip2}-{ip3}-{process}
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계입니다. ONAME을 토대로 OID가 생성됩니다.

whatap service 다시 시작 후 적용됩니다.(service whatap-php restart)

명칭

설명

{type}

whatap.app_name에 설정된 값을 사용합니다.

{ip#}

IP를 나누었을 때 #번째 자리를 사용합니다.

{process}

whatap.app_process_name에 설정된 값을 사용합니다.

{hostname}

서버 호스트명을 사용합니다.

whatap.app_name

Default : NONE
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계에 사용되는 애플리케이션 명. object_name의 {type}에 해당하는 값입니다.

whatap service 다시 시작 후 적용됩니다.(service whatap-php restart)
whatap.app_process_name

Default : NONE
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계에 사용되는 애플리케이션 프로세스 명. 애플리케이션 서버의 CPU, Heap Memory 등을 수집할 대상 프로세스를 설정합니다. object_name의 {process}에 해당하는 값입니다.

whatap service 다시 시작 후 적용됩니다.(service whatap-php restart)

.NET

object_name

Default : {type}-{ip2}-{ip3}-{process}
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계입니다. ONAME을 토대로 OID가 생성됩니다.

Whatap .NET 서비스 다시 시작 후 적용됩니다.

명칭

설명

{type}

app_name에 설정된 값을 사용합니다.

{ip#}

IP를 나누었을 때 #번째 자리를 사용합니다.

{process}

app_process_name에 설정된 값을 사용합니다.

{hostname}

서버 호스트명을 사용합니다.

app_name

Default : NONE
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계에 사용되는 애플리케이션 명. object_name의 {type}에 해당하는 값입니다.

Whatap .NET 서비스 다시 시작 후 적용됩니다.
app_process_name

Default : NONE
Type : String
애플리케이션을 식별하는 에이전트 이름(ONAME) 체계에 사용되는 애플리케이션 프로세스 명. 애플리케이션 서버의 CPU, Heap Memory 등을 수집할 대상 프로세스를 설정합니다. object_name의 {process}에 해당하는 값입니다.

Whatap .NET 서비스 다시 시작 후 적용됩니다.

기능 제어

Java

shutdown

Default : false
Type : Boolean
true인 경우 에이전트의 모든 동작을 중지하고 서버와의 연결을 종료합니다.

enabled

Default : true
Type : Boolean
전체 기능을 활성화합니다. false인 경우에도 서버와 최소한의 통신을 유지하기 위한 정보는 전송됩니다.

transaction_enabled

Default : true
Type : Boolean (enabled=false인 경우 false)
트랜잭션 추적 기능을 활성화합니다. Hitmap에 기록되는 트랜잭션 정보가 해당합니다.

counter_enabled

Default : true
Type : Boolean (enabled=false인 경우 false)
성능 카운터 추적 기능을 활성화합니다. 액티브 트랜잭션 수, 사용자 수, JVM 자원 사용량, Process CPU 사용량 및 DB Pool 사용량 정보 등이 해당됩니다.

stat_enabled

Default : true
Type : Boolean (enabled=false인 경우 false)
통계정보 추적 기능을 활성화합니다. 5분 단위로 수집되는 트랜잭션, SQL, HTTPCALL, UserAgent, Client IP 등의 통계 데이터 등이 해당됩니다.

sigar_enabled

Default : true
Type : Boolean (enabled=false인 경우 false)
sigar library를 통한 OS 정보 수집을 활성화합니다. 5초 단위로 sigar library를 통해 수집되는 CPU, Memory, Disk 등의 OS 자원 데이터가 해당됩니다.

active_stack_enabled

Default : true
Type : Boolean (enabled=false 또는 counter_enabled=false인 경우 false)
액티브 스택 추적을 활성화합니다. 스텍 메뉴의 탑 스택, 유니크 스택 그리고 액티브 스택이 해당됩니다.

license

Default : NONE
Type : String
에이전트 설치 시 서버로부터 부여받은 라이센스를 지정합니다. 라이센스에는 에이전트가 속한 프로젝트와 보안 통신을 위한 암호 키를 포함하고 있습니다.

cypher_level

Default : 128
Type : aes_bit [128|256]
AES 보안 알고리즘에 대한 암호 레벨을 지정합니다.

encrypt_level

Default : 2
Type : encrypt_level [1|2|3]
와탭 에이전트는 서버로 데이터를 전송할 때 데이터 속성에 따라 선택적으로 암호화합니다. 높은 보안을 유지하면서도 성능상 이점을 가지고 있습니다. 데이터 유형에 상관없이 일괄적인 암호화 정책을 적용하려는 경우 해당 옵션을 사용합니다.

1 - 암호화 전송 기능 사용 안 함
2 - SQL 파라미터, Plain Text와 같은 민감한 속성에 대하여 암호화 전송
3 - 모든 항목에 대하여 암호화 전송
stat_ip_enabled

Default : true
Type : Boolean
"통계 | 클라이언트 IP" 항목의 IP 통계 사용 여부를 활성화합니다.

realtime_user_enabled

Default : true
Type : Boolean
"대시보드" 사용자 항목에서 사용되는 실시간 사용자 지표 수집 여부를 선택합니다.

hook_direct_patch_classes

Default : NONE
Type : ClassFile_FullPath
직접적으로 특정 클래스를 로딩 타임에 바꿔치기하고자 할 때 사용합니다. 클래스를 컴파일한 후에 별도 파일로 만들고 그 파일의 풀 패스를 지정합니다.

active_stack_second

Default : 10
Type : Seconds
액티브 스택을 추적하는 간격을 지정합니다.

값을 바꾸는 것을 권장하지 않습니다.
boot_redefine_size

Default : 100
Type : Int
Attach 방식이나 Watcher 방식으로 설치했을 때 이미 로딩된 클래스 중에 추적을 위해 BCI를 새로 수행하게 됩니다. 이때 동시 redefine 하는 클래스 수를 정의합니다.

trace_component_enabled

Default : true
Type : Boolean
서버 | 더 보기 | 컴포넌트 버전 기능을 활성화합니다.

realtime_user_thinktime_max

Default : 300000
Type : MiliSeconds
실시간 사용자 측정 시 동일 사용자로 인정되는 최대 호출 간격을 지정합니다.

time_sync_interval_ms

Default : 300000
Type : MiliSeconds
에이전트와 서버 간 시간 동기화 주기를 지정합니다. 동기화하지 않을 경우 0으로 지정합니다.

detect_deadlock_enabled

Default : false
Type : Boolean
Java 스레드의 DeadLock 여부를 체크하여 감지 시 이벤트를 발생시킵니다. 발생 주기는 5초 단위입니다. 같은 DeadLock 건에 대한 이벤트는 한 시간에 한 번만 발생시킵니다.

text_reset

Default : 0
Type : Int
와탭 에이전트는 한번 보낸 텍스트 유형 데이터는 hash 처리되므로 다음날까지 다시 전송하지 않습니다. 이전 설정값과 다른 값을 설정하는 경우 다시 전송합니다.

트랜잭션 URL, SQL String 등이 텍스트 유형 데이터에 해당합니다.

PHP

whatap.stat_enabled

Default : true
Type : Boolean
통계정보 추적 기능을 활성화합니다. 5분 단위로 수집되는 트랜잭션, SQL, HTTPCALL, UserAgent, Client IP 등의 통계 데이터 등이 해당됩니다.

whatap.license

Default : NONE
Type : String
에이전트를 설치할 때 서버로부터 부여받은 라이센스를 지정합니다. 라이센스에는 에이전트가 속한 프로젝트와 보안 통신을 위한 암호 키를 포함하고 있습니다.

whatap.realtime_user_thinktime_max

Default : 300000
Type : Milliseconds
실시간 사용자를 측정할 때 동일 사용자로 인정되는 최대 호출 간격을 지정합니다.

whatap.time_sync_interval_ms

Default : 300000
Type : Milliseconds
에이전트와 서버 간 시간 동기화 주기를 지정합니다. 동기화하지 않을 경우 0으로 지정합니다.

whatap.text_reset

Default : 0
Type : Int
와탭 에이전트는 한번 보낸 텍스트 유형 데이터는 hash 처리되므로 다음날까지 다시 전송하지 않습니다. 이전 설정값과 다른 값을 설정하는 경우 다시 전송합니다.

트랜잭션 URL, SQL String 등이 텍스트 유형 데이터에 해당합니다.
whatap.ext.error_enabled

Default : true
Type : Boolean
PHP 확장 모듈(PHP Extension module)에서 오류(Error) 정보를 수집하는 기능을 활성화 합니다. PHP 컴파일 설치로 php.ini에 ‘[whatap]’ 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.ext.exception_enabled

Default : true
Type : Boolean
PHP 확장 모듈(PHP Extension module)에서 예외 처리(Exception) 정보를 수집하는 기능을 활성화합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.debug_gc_percent

Default : 200
Type : Int
whatap-php 서비스 데몬의 gc 호출 간격을 늘려서 CPU 부하를 줄일 수 있습니다.
CPU 부하가 줄어드는 대신 메모리 사용량이 늘어납니다. 최대 1000까지 적용됩니다.

Node.js

whatap.enabled

default: true
전체 기능을 활성화합니다. 단 false가 되어도 서버와 최소한의 통신을 유지하기 위한 정보는 전송됩니다.

transaction_enabled

default: true
whatap.enabled==false 이면 무시됩니다 (false)
트랜잭션 추적 기능을 활성화합니다.

counter_enabled

default: true
whatap.enabled==false 이면 무시됩니다 (false)
성능 카운터(트랜잭션, 리소스 등) 추적을 활성화합니다.

stat_enabled

default: true
whatap.enabled==false이면 무시됩니다 (false)
통계 정보 추적을 활성화합니다. 5분마다 트랜잭션, SQL, HTTPCALL, UserAgent, Client IP 등의 통계 데이터가 수집되는데 이들 정보의 수집이 중단됩니다.

license

default:
에이전트가 속한 프로젝트의 PCODE 서버와 보안 통신을 위한 암호 키를 포함하고 있는 보안 문자열을 설정합니다.

encrypt_level

default: 2
값의 범위는 1, 2, 3중에 하나를 지정할 수 있습니다. 와탭은 데이터에 따라 다른 암호화 알고리즘을 적용합니다. 주로 Text는 보안레벨을 높게 적용하고 단순 숫자 데이터는 보안레벨을 낮게 적용합니다. 이러한 보안레벨을 적용할 때 일괄적으로 전체적인 보안 레벨을 보다 높게 혹은 보다 낮게 적용할 수 있는데 그것을 지정하는 옵션입니다.

realtime_user_thinktime_max

default: 300000
실시간 사용자를 측정할 때 사용자로 인정되는 호출 간격을 지정합니다.

time_sync_interval_ms

default: 300000
에이전트는 이 옵션에서 지정한 시간에 한 번씩 서버와 통신하면서 시간을 맞춥니다.

Python

enabled

Default : true
Type : Boolean
전체 기능을 활성화합니다. false인 경우에도 서버와 최소한의 통신을 유지하기 위한 정보는 전송됩니다.

counter_enabled

Default : true
Type : Boolean
성능 카운터 추적을 활성화합니다. 성능 카운터는 액티브 트랜잭션, 사용자, CPU, Memory, SQL, 외부 HTTP 호출 등의 데이터를 포함합니다. 단, enable이 false 면 무시됩니다.

stat_enabled

Default : true
Type : Boolean
통계 정보 추적을 활성화합니다. 5분마다 트랜잭션, SQL Query, 외부 HTTP 호출, User Agent, Client IP 등의 통계 데이터가 수집되는데 이들 정보의 수집이 중단됩니다. 단, enable이 false면 무시됩니다.

active_stack_enabled

Default : true
Type : Boolean
액티브 스택 추적을 활성화합니다. 참고로, counter_enabled 값이 비활성화 된 경우 액티브 트랜잭션 데이터가 수집되지 않으므로 액티브 스택 또한 수집되지 않습니다.

active_stack_second

Default : 10
Type : Seconds
액티브 스택을 추적하는 간격을 설정합니다.

값을 바꾸는 것을 권장하지 않습니다.
realtime_user_thinktime_max

Default : 300000
Type : MiliSeconds
실시간 사용자를 측정할 때 동일 사용자로 인정되는 최대 호출 간격을 지정합니다.

time_sync_interval_ms

Default : 300000
Type : MiliSeconds
에이전트와 서버 간 시간 동기화 주기를 지정합니다. 동기화하지 않을 경우 0으로 지정합니다.

text_reset

Default : 0
Type : Int
와탭 에이전트는 한번 보낸 텍스트 유형 데이터는 hash 처리되므로 다음날까지 다시 전송하지 않습니다. 이전 설정값과 다른 값을 설정하는 경우 다시 전송합니다.

트랜잭션 URL, SQL String 등이 텍스트 유형 데이터에 해당합니다.

.NET

whatap.stat_enabled

Default : true
Type : Boolean
통계정보 추적 기능을 활성화합니다. 5분 단위로 수집되는 트랜잭션, SQL, HTTPCALL, UserAgent, Client IP 등의 통계 데이터 등이 해당됩니다.

whatap.license

Default : NONE
Type : String
에이전트를 설치할 때 서버로부터 부여받은 라이센스를 지정합니다. 라이센스에는 에이전트가 속한 프로젝트와 보안 통신을 위한 암호 키를 포함하고 있습니다.

whatap.realtime_user_thinktime_max

Default : 300000
Type : Milliseconds
실시간 사용자를 측정할 때 동일 사용자로 인정되는 최대 호출 간격을 지정합니다.

whatap.time_sync_interval_ms

Default : 300000
Type : Milliseconds
에이전트와 서버 간 시간 동기화 주기를 지정합니다. 동기화하지 않을 경우 0으로 지정합니다.

whatap.text_reset

Default : 0
Type : Int
와탭 에이전트는 한번 보낸 텍스트 유형 데이터는 hash 처리되므로 다음날까지 다시 전송하지 않습니다. 이전 설정값과 다른 값을 설정하는 경우 다시 전송합니다.

트랜잭션 URL, SQL String 등이 텍스트 유형 데이터에 해당합니다.
whatap.profile_method_enabled

Default : true
Type : Boolean
실행 시간이 1초(whatap.profile_method_time)를 초과하는 사용자 함수의 정보를 트랜잭션 상세 정보에서 확인할 수 있습니다.

IIS 다시 시작 후 적용됩니다.
whatap.profile_method_time

Default : 1000
Type : Milliseconds
whatap.profile_method_enabled 설정 수집되는 함수의 실행 시간을 설정할 수 있습니다. NOTE: IIS 다시 시작 후 적용됩니다.

whatap.profile_method_stack_enabled

Default : false
Type : Boolean
사용자 함수의 스택 정보를 트랜잭션 상세 정보에서 확인할 수 있습니다.

IIS 다시 시작 후 적용됩니다.

CPU, 메모리, 디스크 사용량 수집

Java

CPU, 메모리, 디스크 사용량 수집 설정을 추가하지 않는 경우 Java의 jmx 라이브러리를 통해서 성능 지표를 수집합니다.

whatap.agent.2.1.0 이전

linux_proc_stat_enabled

Default : false
Type : Boolean
CPU, 메모리, 디스크 사용량을 Linux의 proc 디렉토리에서 수집할지 여부를 결정합니다. 초기설정은 false 입니다.

sigar_enabled

Default : true
Type : Boolean
CPU, 메모리, 디스크 사용량을 sigar 라이브러리를 사용하여 측정할지 여부를 결정합니다. whatap.agent.2.1.0 이전 버전에서는 기본값이 true로 설정되어 있어 설정 변경 없이 sigar 라이브러리를 사용하여 성능 지표를 수집하고 있습니다.

whatap.agent.2.1.0 이후

linux_proc_stat_enabled

Default : false
Type : Boolean
CPU, 메모리, 디스크 사용량을 Linux의 proc 디렉토리에서 수집할지 여부를 결정합니다. 초기설정은 false 입니다.

oshi_enabled

Default : false
Type : Boolean
CPU, 메모리, 디스크 사용량을 측정할 때 oshi 라이브러리 사용 여부를 결정합니다. whatap.agent.2.1.0 버전에서 oshi 라이브러리를 추가하였습니다.

sigar_enabled

Default : false
Type : Boolean
CPU, 메모리, 디스크 사용량을 측정할 때 sigar 라이브러리 사용 여부를 결정합니다. whatap.agent.2.1.0 이후 버전에서는 기본값이 false입니다.

통신

Java

whatap_server_host

Default : 127.0.0.1,127.0.0.1
Type : ip_address
에이전트가 수집한 데이터를 전송할 서버를 지정합니다. 수집 서버 이중화로 2개 이상의 IP를 가진 경우 콤마(,)로 분리하여 지정할 수 있습니다. 지정된 IP에는 수집 서버 proxy 데몬이 리스닝 상태로 서비스되어야 합니다.

whatap_server_port

Default : 6600
Type : tcp_port
수집 서버 PORT를 지정합니다. 포트는 하나만 지정할 수 있으므로 whatap_server_host에 지정된 수집 서버들은 동일 PORT를 사용해야 합니다.

tcp_so_timeout

Default : 60000
Type : MiliSecond
수집 서버와 통신하는 TCP 세션의 Socket Timeout 값을 지정합니다.

tcp_connection_timeout

Default : 5000
Type : MiliSecond
수집 서버와 통신하는 TCP 세션의 Connection Timeout 값을 지정합니다.

net_send_max_bytes

Default : 5242880
Type : Byte
수집 서버로 데이터를 전송할 때 한 번에 전송되는 최대 크기를 지정합니다.

net_send_queue1_size

Default : 256
Type : Int
프로파일 정보와 액티브 스택을 제외한 나머지 데이터 전송에 사용될 Queue의 크기를 지정합니다. 설정된 크기가 10 이하인 경우 10으로 지정됩니다.

net_send_queue2_size

Default : 512
Type : Int
프로파일 정보와 액티브 스택 데이터 전송에 사용될 Queue의 크기를 지정합니다. 설정된 크기가 10 이하인 경우 10으로 지정됩니다.

PHP

whatap.server.host

Default : 127.0.0.1,127.0.0.1
Type : ip_address
에이전트가 수집한 데이터를 전송할 서버를 지정합니다. 수집 서버 이중화로 2개 이상의 IP를 가진 경우 콤마(,)로 분리하여 지정할 수 있습니다. 지정된 IP에는 수집 서버 proxy 데몬이 리스닝 상태로 서비스되어야 합니다.

whatap.server.port

Default : 6600
Type : tcp_port
수집 서버 PORT를 지정합니다. 포트는 하나만 지정할 수 있으므로 whatap_server_host에 지정된 수집 서버들은 동일 PORT를 사용해야 합니다.

whatap.tcp_so_timeout

Default : 60000
Type : Millisecond
수집 서버와 통신하는 TCP 세션의 Socket Timeout 값을 지정합니다.

whatap.tcp_connection_timeout

Default : 5000
Type : Millisecond
수집 서버와 통신하는 TCP 세션의 Connection Timeout 값을 지정합니다.

whatap.net_send_max_bytes

Default : 5242880
Type : Byte
수집 서버로 데이터를 전송할 때 한 번에 전송되는 최대 크기를 지정합니다.

whatap.net_udp_port

Default : 6600
Type : tcp_port
와탭 에이전트는 트레이서에서 UDP를 통해 수집한 데이터를 수집 서버로 전송합니다. 처음 UDP 서버의 포트를 지정할 수 있습니다. 기본값으로 제공되는 6600포트가 사용 중일 때 이 옵션을 사용합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.

Node.js

whatap_server_host

default: 127.0.0.1, 127.0.0.1
수집 서버 아이피를 지정합니다. 콤마(,)로 분리하여 하나 혹은 2개를 지정할 수 있습니다. 단 여기서 지정하는 서버에는 proxy서버가 리스닝하고 있어야 합니다.

whatap_server_port

default: 6600
수집 서버 PORT를 지정합니다. 포트는 하나만 지정할 수 있습니다. 따라서 whatap_server_host에 지정된 수집 서버들은 동일한 PORT를 사용해야 합니다.

tcp_so_timeout

default: 60000
수집 서버와 통신할 때 TCP 세션의 idle 타임아웃 값을 지정합니다.

tcp_connection_timeout

default: 3000
수집 서버와 통신 세션을 연결할 때 연결 지연 가능 시간을 지정합니다.

net_send_max_bytes

default: 5242880 (5*1024*1024=5M)
에이전트가 데이터를 수집하고 네트워크로 한 번에 전송할 수 있는 최대 byte 크기입니다.

net_send_queue1_size

default: 512
에이전트는 두 개의 네트워크 큐를 사용합니다. 1번 큐는 프로파일을 제외한 모든 데이터 전송할 때 사용됩니다.

net_send_queue2_size

default: 1024
에이전트는 두 개의 네트워크 큐를 사용합니다. 2번 큐는 프로파일을 전송하는데 사용됩니다.

Python

license

Default : NONE
Type : String
에이전트를 설치할 때 서버로부터 부여받은 라이센스를 지정합니다. 라이센스에는 에이전트가 속한 프로젝트와 보안 통신을 위한 암호 키를 포함하고 있습니다.

whatap.server.host

Default : 127.0.0.1,127.0.0.1
Type : String
에이전트가 수집한 데이터를 전송할 서버를 지정합니다. 수집 서버 이중화로 2개 이상의 IP를 가진 경우 콤마(,)로 분리하여 지정할 수 있습니다. 지정된 IP에는 수집 서버 proxy 데몬이 리스닝 상태로 서비스되어야 합니다.

whatap.server.port

Default : 6600
Type : String
수집 서버 PORT를 지정합니다. 포트는 하나만 지정할 수 있습니다. whatap_server_host에 지정된 수집 서버들은 동일한 PORT를 사용해야 합니다.

net_udp_port

Default : 6600
Type : String
와탭 에이전트는 수집한 데이터를 UDP를 거쳐 TCP를 통해 서버로 전송을 하는데, 처음 UDP 서버의 포트를 지정할 수 있습니다. 기본값으로 제공되는 6600포트가 사용 중일 때 이 옵션을 사용합니다.

tcp_so_timeout

Default : 60000
Type : MiliSecond
수집 서버와 통신하는 TCP 세션의 Socket Timeout 값을 지정합니다.

tcp_connection_timeout

Default : 5000
Type : MiliSecond
수집 서버와 통신하는 TCP 세션의 Connection Timeout 값을 지정합니다.

net_send_max_bytes

Default : 5242880
Type : Byte
에이전트가 데이터를 수집하고 네트워크로 한 번에 전송할 수 있는 최대 바이트 크기입니다.

net_send_buffer_size

Default: 1024
Type: byte
데이터 전송을 하기 위해 가지고 있는 최대 바이트 크기입니다.

.NET

whatap.server.host

Default : 127.0.0.1,127.0.0.1
Type : ip_address
에이전트가 수집한 데이터를 전송할 서버를 지정합니다. 수집 서버 이중화로 2개 이상의 IP를 가진 경우 콤마(,)로 분리하여 지정할 수 있습니다. 지정된 IP에는 수집 서버 proxy 데몬이 리스닝 상태로 서비스되어야 합니다.

whatap.server.port

Default : 6600
Type : tcp_port
수집 서버 PORT를 지정합니다. 포트는 하나만 지정할 수 있습니다. whatap_server_host에 지정된 수집 서버들은 동일한 PORT를 사용해야 합니다.

whatap.tcp_so_timeout

Default : 60000
Type : Millisecond
수집 서버와 통신하는 TCP 세션의 Socket Timeout 값을 지정합니다.

whatap.tcp_connection_timeout

Default : 5000
Type : Millisecond
수집 서버와 통신하는 TCP 세션의 Connection Timeout 값을 지정합니다.

whatap.net_send_max_bytes

Default : 5242880
Type : Byte
수집 서버로 데이터를 전송할 때 한번에 전송되는 최대 크기를 지정합니다.

whatap.net_udp_port

Default : 6600
Type : tcp_port
와탭 에이전트는 트레이서에서 UDP를 통해 수집한 데이터를 수집 서버로 전송합니다. 처음 UDP 서버의 포트를 지정할 수 있습니다. 기본값으로 제공되는 6600포트가 사용 중일 때 이 옵션을 사용합니다.

IIS 다시 시작 후 적용됩니다.
whatap.net_send_queue1_size

Default : 256
Type : Int
Tcp 데이터 처리를 위한 Queue 버퍼를 설정합니다. 우선순위가 높은 데이터를 위한 Queue입니다.

whatap.net_send_queue2_size

Default : 5000
Type : Int
Tcp 데이터 처리를 위한 Queue 버퍼를 설정합니다. 프로파일 데이터를 위한 Queue입니다.

에이전트 성능

JAVA

whatap.agent.2.1.0 이전

whatap.tx_max_count

Default : 5000
Type : Int
트랜잭션을 최대 저장하는 개수입니다. 동시에 처리되는 트랜잭션이 많을 경우 해당 크기를 더 늘려줍니다.

whatap.tx_default_capacity

Default : 101
Type : Int
트랜잭션을 저장하는 버퍼의 시작 크기입니다.

whatap.agent.2.1.0 이후

PHP, .NET

에이전트 성능 옵션은 설정 후에 whatap .NET 윈도우 서비스를 반드시 다시 시작해야 합니다.
에이전트 성능을 확대할 경우 CPU, Memory 사용률이 증가할 수 있습니다.
whatap.tx_max_count

Default : 5000
Type : Int
트랜잭션을 최대 저장하는 개수입니다. 동시에 처리되는 트랜잭션이 많을 경우 해당 크기를 더 늘려줍니다.

whatap.tx_default_capacity

Default : 101
Type : Int
트랜잭션을 저장하는 버퍼의 시작 크기입니다.

whatap.tx_load_factor

Default : "0.75"
Type : String(Float)
트랜잭션을 저장하는 버퍼의 크기를 점차적으로 증가시키기 위한 기준입니다. 101개에서 75% 이상 저장되면 버퍼의 크기를 두 배로 증가시킵니다.

whatap.queue_log_enabled

Default : false
Type : Boolean
queue 관련 로그를 출력합니다.

whatap.queue_tcp_enabled

Default : true
Type : Boolean
Tcp 데이터 송신 처리에 사용하는 Channel을 대신해서 별도의 Queue를 사용합니다. (데이터 우선순위 Queue를 사용합니다.)

whatap.queue_tcp_sender_thread_count

Default : 2
Type : Int
Tcp 데이터 송신을 처리하는 스레드의 개수를 지정합니다. 개수를 늘리면 데이터 송신을 좀 더 빠르게 처리할 수 있습니다.

whatap.net_send_buffer_size

Default : 1024
Type : Int
Tcp 데이터 처리를 위한 Channel 버퍼를 설정합니다.

whatap.queue_udp_enabled

Default : false
Type : Boolean
Udp 데이터 수신 처리에 Channel을 대신해서 별도의 Queue를 사용합니다.

whatap.queue_udp_size

Default : 2048
Type : Int
Udp 데이터 수신 버퍼를 설정합니다. Channel, Queue 버퍼를 설정합니다.

whatap.queue_udp_read_thread_count

Default : 3
Type : Int
Udp 데이터 수신을 처리하는 스레드의 개수를 지정합니다. 개수를 늘리면 UDP 버퍼에서 좀 더 빠르게 데이터를 읽을 수 있습니다.

whatap.queue_udp_overflowed_size

Default : 4096
Type : Int
Udp 데이터 수신에 Queue를 사용하는 경우, overflowed Queue 버퍼 크기를 설정합니다.

whatap.queue_udp_process_thread_count

Default : 1
Type : Int
Udp 데이터를 처리하는 스레드의 개수를 지정합니다. 개수를 늘리면 UDP에서 읽은 데이터를 좀 더 빠르게 처리할 수 있습니다.

whatap.queue_profile_enabled

Default : false
Type : Boolean
Profile 정보 처리에 Channel을 대신해서 별도의 Queue를 사용합니다.

whatap.queue_profile_size

Default : 512
Type : Int
Profile 정보 처리를 위한 버퍼를 설정합니다.

whatap.queue_profile_process_thread_count

Default : 1
Type : Int
Profile 정보를 처리하는 스레드의 개수를 지정합니다. 개수를 늘리면 좀 더 빠르게 처리할 수 있습니다.

whatap.queue_text_enabled

Default : false
Type : Boolean
Text 데이터 처리를 위해 Channel 대신에 Queue를 사용합니다.

whatap.queue_text_size

Default : 512
Type : Int
Text 데이터 처리를 위한 버퍼를 설정합니다.

로그

Java

watchlog_enabled

Default : false
Type : Boolean
로그 모니터링을 활성화합니다.

watchlog_check_interval

Default : 2000
Type : Int
로그를 감시하는 주기입니다. 매 간격으로 로그 파일에 기록이 추가되었는지 확인합니다.

watchlog_read_count

Default : 8
Type : Int
로그를 읽어들이는 최대 횟수입니다. 한 번에 watchlog_buffer_size 만큼 읽습니다.

watchlog_buffer_size

Default : 131072(128k)
Type : Int
한 번에 읽어들이는 로그 사이즈입니다.

watchlog.LOGKEY

watchlog.LOGKEY.enabled=false
watchlog.LOGKEY.file=
watchlog.LOGKEY.words=
watchlog.LOGKEY.silent=10000
watchlog.LOGKEY.check_interval=1000
하나의 로그 파일을 감시하기 위한 설정입니다. file을 지정하고 감시한 word 여러 개를 ','를 이용하여 설정합니다. check_interval 간격으로 로그를 감시하다가 키워드가 발견되면 경고합니다. 한번 경고가 나가면 silent 만큼 경고를 멈춥니다.

log_root

Default : ${WHATAP_HOME}/logs
Type : String
에이전트 로그 경로를 지정할 수 있습니다.

log_datasource_lookup_enabled

Default : true
Type : Boolean
InitialContext Lookup 시 DataSource인 경우 로그를 기록하는 기능을 활성화합니다.

log_rotation_enabled

Default : true
Type : Boolean
에이전트 로그파일을 일자별로 관리하는 기능을 활성화합니다.

log_keep_days

Default : 7
Type : Day
로그파일 보관 기간을 지정합니다.

PHP

whatap.log_keep_days

Default : 7
Type : Day
로그파일 보관기간을 설정합니다

Node.js

log_rotation_enabled

default: true
에이전트 로그파일을 매일 변경합니다.

log_keep_days

default: 7
로그파일 보관기간을 설정합니다.

Python

log_rotation_enabled

Default : true
Type : Boolean
에이전트 로그파일을 매일 변경합니다. (로그파일 기본 경로: $WHATAP_HOME/logs/whatap-xxx.log)

log_keep_days

Default : 7
Type : Day
로그파일 보관기간을 설정합니다.

.NET

whatap.log_keep_days

Default : 7
Type : Day
로그파일 보관기간을 설정합니다.

LogSink

Java

LogSink 활성화

logsink_enabled=false
logsink_stdout_enabled=true
logsink_stderr_enabled=true
logsink_logback_enabled=true
logsink_tomcat_enabled=true
logsink_custom_enabled=true

LogSink 전송큐 및 최대 길이

logsink_queue_size=1000
logsink_line_size=512

LogSink 디버깅

debug_logsink_enabled=false
debug_logsink_line_limit=0

LogSink BCI 설정

hooklog_enabled=false
hooklog_logback_enabled=true
hooklog_tomcat_enabled=true
hooklog_custom_methods=0

압축 전송 활성화/디버깅

logsink_zip_enabled=false
debug_logsink_zip_enabled=false

압축 전송 묶음 크기/시간

max_buffer_size=65536
max_wait_time=2000

압축 전송 최소 사이즈

logsink_zip_min_size=100

압축 알고리즘 선택(기본 GZIP)

logsink_zip_libpath=/whatap/whatap-logsink-lz4-1.7.0.jar

설정 예시)

logsink_enabled=true
hooklog_enabled=true
logsink_zip_enabled=true logsink_zip_libpath=/data/agent/whatap-logsink-lz4-1.7.0-v1.jar

PHP

로그 데이터를 수집합니다.

기본 설정

whatap.logsink_enabled

Default : false
Type : Boolean

true : 로그 데이터를 수집합니다.

whatap.logsink_zip_enabled

Default : false
Type : Boolean

true : 로그 데이터를 압축해서 전송합니다. (기본은 Gzip 입니다.)

whatap.watchlog_enabled

Default : false
Type : Boolean

true : 로그 파일을 지정해서 로그 데이터를 수집합니다.

로그 파일 설정

whatap.watchlog.[로그파일 고유 아이디 지정].enabled

Default : None
Type : Boolean

true : 로그파일의 고유 아이디를 임의로 지정하고, 해당 아이디로 로그 데이터를 수집합니다.

whatap.watchlog.[로그파일 고유 아이디 지정].file

Default : None
Type : String

로그파일의 고유 아이디를 임의로 지정하고, 파일 경로와 파일명을 설정합니다.

예시)

기본 설정

    whatap.logsink_enabled=true
    whatap.logsink_zip_enabled=true
    whatap.watchlog_enabled=true

Apache error log 및 access log 설정

    whatap.watchlog.apache_error_log.enabled=true
    whatap.watchlog.apache_error_log.file=/etc/httpd/logs/error_log

    whatap.watchlog.apache_access_log.enabled=true
    whatap.watchlog.apache_access_log.file=/etc/httpd/logs/access_log

GC 로그 모니터링

Java

gclog_enabled

Default : false
Type : Boolean
GC 로그 모니터링을 활성화합니다.

gclog_file

Default : Null
Type : File Name
GC 로그 파일 경로를 지정합니다.

gclog_check_interval

Default : 2000
Type : Int
GC 로그를 감시하는 주기입니다. 매 간격으로 로그 파일에 기록이 추가되었는지 확인합니다.

gclog_word

Default : Full GC
Type : word
감시할 키워드를 등록합니다. 기본은 Full GC가 발생하면 정보를 서버에 전송하고 저장합니다.

트랜잭션

트랜잭션 프로파일링

Java

profile_step_normal_count

Default: 1000
Type : Int
트랜잭션 프로파일의 최대 스텝 수를 지정합니다.

profile_step_heavy_count

Default: 1020
Type : Int
Heavy 한 스텝의 경우 프로파일 기본 스텝 수를 초과하더라도 정해진 값만큼은 기록됩니다.

profile_step_heavy_time

Default: 100
Type : MiliSecond
Heavy 한 스텝의 기준을 지정합니다. 지정된 값보다 수행 시간이 긴 경우 profile_step_normal_count를 초과하는 경우라도 profile_step_heavy_count 내에서 기록됩니다.

profile_basetime

Default: 500
Type : MiliSecond
트랜잭션이 설정된 값 이하의 시간 내에 종료된 경우 프로파일 정보를 수집하지 않습니다. 단, 5분 단위로 최초 호출된 URL, 에러가 발생한 트랜잭션에 대한 프로파일 정보는 수집됩니다.

active_stack_count

Default : 100
Type : Int
트랜잭션 내에서 수집하는 액티브 스택의 최대 수를 지정합니다.

profile_method_resource_enabled

Default : false
Type : Boolean
프로파일에서 method 스텝이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

profile_position_method

Default : NONE
Type : String
지정한 메소드가 수행되는 시점의 StackTrace를 기록합니다.

profile_position_depth

Default : 50
Type : Int
position 추적을 위해 StackTrace를 기록할 때 최대 라인 수를 지정합니다.

trace_error_callstack_depth

Default: 50
Type : Int
Error 발생 시 수집하는 StackTrace의 최대 라인 수를 지정합니다.

trace_active_callstack_depth

Default: 50
Type : Int
액티브 스택에서 수집하는 StackTrace의 최대 라인수를 지정합니다.

trace_active_transaction_yellow_time

Default: 3000
Type : MiliSecond
액티브 트랜잭션의 아크이퀄라이저에서 노란색으로 표현할 기준을 지정합니다.

trace_active_transaction_red_time

Default: 8000
Type : MiliSecond
액티브 트랜잭션의 아크이퀄라이저에서 빨간색으로 표현할 기준을 지정합니다.

hook_method_patterns

Default : NONE
Type : String
응답시간을 측정할 메소드를 지정합니다. 마지막 (.)을 구분자로 클래스 FullName과 메소드로 구분되며 (*)로 WildCard를 사용할 수 있습니다. 대상이 여러 개인 경우 콤마(,)로 구분합니다.

  • Ex : hook_method_patterns=a.b.C1.*

hook_method_supers

Default : NONE
Type : String
특정 클래스를 상속받은 메소드의 응답시간을 측정하고자 할 때 Super Class를 지정합니다. 클래스 FullName을 지정하며 대상이 여러 개인 경우 콤마(,)로 구분합니다.

  • Ex : hook_method_supers=a.b.C1

hook_method_interfaces

Default : NONE
Type : String
특정 인터페이스를 구현한 메소드의 응답시간을 측정하고자 할 때 Interface를 지정합니다. 인터페이스 FullName을 지정하며 대상이 여러 개인 경우 콤마(,)로 구분합니다.

hook_method_ignore_classes

Default : NONE
Type : String
메소드 프로파일을 설정할 때 프로파일에서 제외하고 싶은 클래스들을 지정합니다.

hook_method_access_public_enabled

Default : true
Type : Boolean
메소드 프로파일을 설정할 때 public 메소드에 대해서만 별도 대상으로 할지 결정합니다.

hook_method_access_private_enabled

Default : false
Type : Boolean
메소드 프로파일을 설정할 때 private 메소드에 대해서만 별도 대상으로 할지 결정합니다.

hook_method_access_protected_enabled

Default : true
Type : Boolean
메소드 프로파일을 설정할 때 protected 메소드에 대해서만 별도 대상으로 할지 결정합니다.

hook_method_access_none_enabled

Default : true
Type : Boolean
메소드 프로파일을 설정할 때 no access indicated 메소드에 대해서만 별도 대상으로 할지 결정합니다.

stacklog_socket_port

Default : 0
Type : TCP_PortNumber
목적지의 TCP 포트를 지정하면 Socket.connect() 시점 StackTrace를 에이전트 로그로 기록합니다. 기본 설정으로 확인되지 않는 DB 연결, HTTPC 연결 등을 추적할 때 사용할 수 있습니다.

설정된 목적지로 연결 시마다 매번 StackTrace를 기록합니다. 성능 저하를 유발할 수 있습니다. 디버깅 용도로 선별된 에이전트에 한시적으로만 사용해야 합니다. * Ex : stacklog_socket_port=1521 #DB 연결 상태 추적
biz_exceptions

Default : NONE
Type : String
비즈니스 Exception을 등록합니다. 여기에 등록되면 에러 통계에서 제외됩니다. 프로파일 상세에서는 나타납니다.

ignore_exceptions

Default : NONE
Type : String
무시할 Exception을 등록합니다. 여기에 등록되면 에러 자체가 무시됩니다.

transaction_status_error_enable

Default : true
Type : Boolean
HTTP 401, 403과 같이 정상 응답이 아닌 HTTP 상태 코드를 반환하는 경우 에러로 처리합니다.

status_ignore

Default : NONE
Type : String
무시할 STATUS_ERROR 코드를 지정합니다. 여러 값을 대상으로 할 경우 ,(콤마)를 구분자로 사용합니다.

status_ignore_set

Default : NONE
Type : String
whatap.error.STATUS_ERROR를 무시합니다. 여러 값을 대상으로 할 경우 ,(콤마)를 구분자로 사용합니다.

httpc_status_error_enable

Default : true
Type : Boolean
HTTPC_ERROR 반환 여부를 결정합니다.

httpc_status_ignore

Default : NONE
Type : String
무시할 HTTPC_ERROR 코드를 지정합니다. 여러 값을 대상으로 할 경우 ,(콤마)를 구분자로 사용합니다.

httpc_status_ignore_set

Default : NONE
Type : String
whatap.error.HTTPC_ERROR를 무시합니다. 여러 값을 대상으로 할 경우 ,(콤마)를 구분자로 사용합니다.

httpc_status_ignore_set=/a/b/c:400,/a/ab/c:404와 같이 설정합니다. 이때 url은 통계/에러 분석에서 HTTPC_URL 값을 입력합니다.
PHP
whatap.profile_step_normal_count

Default: 1000
Type : Int
트랜잭션 프로파일의 최대 스텝 수를 지정합니다.

whatap.profile_step_max_count

Default: 1024
Type : Int
수집 가능한 프로파일 스텝의 최대 개수를 설정합니다. 수집된 프로파일 스텝 수가 이 값을 초과하면 이후 수집되는 스텝들은 모두 버려집니다.

whatap.profile_step_heavy_count

Default: 1000
Type : Int
기본 스텝의 수집 개수가 초과되면, 실행 시간이 profile_step_heavy_time을 초과하는 스텝만 수집합니다. 해당 스텝의 수집 가능한 개수를 설정합니다. Default 설정일 경우 profile_step_normal_count가 800 이면 최대 200개의 스텝이 수집됩니다.

whatap.profile_step_heavy_time

Default: 100
Type : Millisecond
Heavy 한 스텝의 기준을 지정합니다. 지정된 값보다 수행시간이 긴 경우 profile_step_normal_count를 초과하는 경우라도 profile_step_heavy_count 이내에서 기록됩니다.

whatap.profile_basetime

Default: 500
Type : Millisecond
트랜잭션이 설정된 값 이하의 시간 내에 종료된 경우 프로파일 정보를 수집하지 않습니다. 단, 5분 단위로 최초 호출된 URL, 에러가 발생한 트랜잭션에 대한 프로파일 정보는 수집됩니다.

whatap.query_string_enabled

Default: false
Type : Boolean
트랜잭션 URL의 쿼리 스트링을 함께 수집하는 기능을 활성화합니다. whatap.query_string_urls에 등록된 URL만 적용됩니다.

whatap.query_string_urls

Default : NONE
Type : String
트랜잭션에서 쿼리 스트링을 수집할 URL들을 등록합니다.

whatap.whatap.profile_compile_file_enabled

Default :false
Type : Boolean
compile_file, compile_string 함수의 추적 여부를 설정합니다.
PHP 내부 함수인 compile_file, compile_string 함수는 스크립트 실행 전에 컴파일하는 함수로 Main, include, require 및 autoload 스크립트의 컴파일 시점을 확인할 수 있습니다. 스크립트 파일 경로와 실행 시간을 확인할 수 있습니다

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_compile_file_basetime

Default : 200
Type : Millisecond
실행 시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다.

whatap.profile_compile_file_basetime을 너무 작게 설정할 경우 너무 많이 수집하게 되어 서버에 부하를 줄 수 있습니다.
Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_method_enabled

Default : true
Type : Boolean
실행 시간이 1초(whatap.profile_method_time)를 초과하는 사용자 함수의 정보를 트랜잭션 상세 정보에서 확인할 수 있습니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_method_time

Default : 1000
Type : Milliseconds
whatap.profile_method_enabled 설정 수집되는 함수의 실행 시간을 설정할 수 있습니다. NOTE: Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.

whatap.profile_method_stack_enabled

Default : false
Type : Boolean
사용자 함수의 스택 정보를 트랜잭션 상세 정보에서 확인할 수 있습니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_internal_method_enabled

Default : true
Type : Boolean
PHP 내부 함수의 추적 여부를 설정합니다. 실행 시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_internal_method_time

Default : 1000
Type : Milliseconds
whatap.profile_method_enabled 설정 수집되는 함수의 실행 시간을 설정할 수 있습니다. NOTE: Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.

whatap.profile_internal_method_param_enabled

Default : 1000
Type : Milliseconds
whatap.profile_method_enabled 설정 수집되는 함수의 실행 시간을 설정할 수 있습니다. NOTE: Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.

whatap.net_udp_flush_start

Default : true
Type : Boolean

False : 트랜잭션 시작 시점을 수집하지 않습니다.

시작 시점을 수집하지 않아 진행 중인 트랜잭션 수를 계산하는 액티브 트랜잭션 정보에 조금 늦게 반영될 수 있습니다.
액티브 스테이터스는 정상적으로 표기됩니다.
whatap.net_udp_profile_basetime_enabled

Default : False
Type : Boolean

True : 설정된 응답시간보다 빠른 트랜잭션의 프로파일 정보를 수집하지 않습니다.

whatap.net_udp_profile_basetime

Default : 200
Type : Miliseconds

프로파일 정보 수집을 제외하는 트랜잭션의 응답시간을 설정합니다.

프로파일 정보를 수집하지 않기 때문에 SQL, HTTPC 등의 통계에는 반영되지 않습니다.
whatap.net_udp_trace_ignoretime_enabled

Default : False
Type : Boolean

True : 설정된 응답시간이 소요되는 트랜잭션 및 프로파일 정보를 수집하지 않습니다.

whatap.net_udp_trace_ignoretime

Default : 30
Type : Miliseconds

트랜잭션 및 프로파일 정보 수집을 제외하는 트랜잭션의 응답시간을 설정합니다.

whatap.shm_tx_counter_enable

Default : False
Type : Boolean

True : whatap.net_udp_trace_ignoretime_enabled 설정으로 트랜잭션의 정보 수집이 제외되는 경우 TPS, 평균 응답시간, Apdex 지표를 공유 메모리에서 수집하면 제외된 트랜잭션의 정보가 통계에 반영됩니다.

수집 안된 트랜잭션의 경우 TPS, 평균 응답시간, Apdex 지표에는 정상적으로 반영되지만, 그 외 통계 데이터에는 반영되지 않습니다.

Node.js

trace_active_transaction_yellow_time

default: 3000
액티브 트랜잭션의 아크이퀄라이저에서 노란색 구간의 응답 기준

trace_active_transaction_red_time

default: 8000
액티브 트랜잭션의 아크이퀄라이저에서 빨간색 구간의 응답 기준

Python

트랜잭션 성능이 트랜잭션 시작과 종료 사이의 요약 지표들이나 속성들을 의미한다면 트랜잭션 프로파일은 트랜잭션이 수행되는 과정 중인 스텝들을 추적하는 것입니다.

트랜잭션이 느리거나 오류가 있다면 그 원인을 추적하기 위해서 수행 이력을 스텝별로 추적할 필요가 있는데 이것을 트랜잭션 프로파일링이라고 합니다.

와탭이 수집하는 스텝의 종류에는 크게 SQL 스텝, HTTP CALL 스텝, 메시지 스텝, SOCKET 오픈 스텝, DB 연결 스텝, 메소드 스텝 등이 있습니다.

DB 연결 스텝

수집 방식: START-END
RDB에 대한 연결에 대한 성능을 포함합니다. 스텝 정보에는 이름, 응답시간, 에러를 포함합니다.

SQL 스텝

수집 방식: START-END
JDBC SQL에 대한 성능을 포함합니다. 스텝 정보에는 연결 정보, SQL문, 에러가 포함되어 있습니다.

HTTP Call 스텝

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

Message 스텝

수집 방식: ADD
메시지 스텝을 프로파일을 수집하는 과정에서 비정형적인 모든 구간에 대한 이력을 수집할 때 사용됩니다. file 오픈 혹은 사용자도 임의의 위치를 지정하는 데 사용할 수 있습니다.

SOCKET 스텝

수집 방식: ADD
Socket 오픈을 표현하는 스텝입니다.

METHOD 스텝

수집 방식: START-END
메소드 응답시간을 추적합니다.

ACTIVE STATCK 스텝

수집 방식: ADD
액티브 스텝에 대한 정보를 포함합니다. 별도 스레드가 생성하여 프로파일에 추가하는 방식으로 수집합니다.

profile_step_normal_count

Default: 1000
Type : Int
트랜잭션 프로파일의 기본 스텝 수를 지정합니다.

profile_step_heavy_count

Default: 1020
Type : Int
프로파일 기본 스텝을 초과한 경우, 최대 heavy 스텝 수를 제한합니다. profile_step_normal_count에서 profile_step_heavy_time을 초과하는 스텝을 카운팅 합니다. 따라서, 응답시간이 없는 스텝들은 수집되지 않습니다.

profile_step_max_count

Default: 1024
Type : Int
프로파일 스텝의 최대 수를 설정합니다. 수집된 프로파일 스텝 수가 이 값을 초과하면 이후 수집되는 스텝들은 모두 버려집니다. profile_step_heavy_count을 최대 1000으로 설정한다면 profile_step_max_count 만큼 액티브 스택이 수집됩니다.

profile_step_heavy_time

Default: 100
Type : MiliSecond
Heavy 한 스텝의 기준을 지정합니다. 지정된 값보다 수행 시간이 긴 경우 profile_step_normal_count를 초과하는 경우라도 profile_step_heavy_count 이내에서 기록됩니다.

profile_basetime

Default: 0
Type : MiliSecond
트랜잭션이 설정된 값 이하의 시간 내에 종료된 경우 프로파일 정보를 수집하지 않습니다. 단, 5분 단위로 최초 호출된 URL, 에러가 발생한 트랜잭션에 대한 프로파일 정보는 수집됩니다.

query_string_enabled

Default : false
Type : Boolean
트랜잭션 URL의 쿼리 스트링을 함께 수집하는 기능을 활성화합니다.

query_string_urls

Default : NONE
Type : String
트랜잭션에서 쿼리 스트링을 수집할 URL들을 등록합니다. 여러 개를 등록할 때는 콤마(,)를 사용합니다.

hook_method_patterns

Default : None
Type : String
특정 메소드의 응답시간을 측정하고 싶을 때 사용합니다. [MODULE_NAME]:[CLASS_NAME].[FUNCTION_NAME] 혹은 [MODULE_NAME]:[FUNCTION_NAME] 형식으로 값을 사용합니다. , 구분자를 통하여 여러 메소드 패턴을 지정할 수 있으며 모듈에 대한 전체 클래스나, 클래스에 대한 전체 모듈은 asterisk(*)를 사용하여 추적이 가능합니다.

단, 전체 모듈에 대한 추적은 오버헤드가 발생할 수 있으니 운영환경 시에는 가급적 정확한 모듈명과 메소드명에 대한 사용을 권장합니다.

trace_error_callstack_depth

Default: 50
Type : Int
트랜잭션에서 에러 콜 스택을 수집할 때, 콜스택 최대 라인수를 지정합니다. 이 데이터는 에러 통계 데이터에서 조회할 수 있습니다.

trace_active_callstack_depth

Default: 50
Type : Int
트랜잭션에서 액티브 스택을 수집할 때, 콜스택 최대 라인수를 지정합니다.

trace_active_transaction_slow_time

Default: 3000
Type : MiliSecond
엑티브 트랜잭션의 아크이퀄라이저에서 slow 구간의 응답 기준을 지정합니다.

trace_active_transaction_very_slow_time

Default: 8000
Type : MiliSecond
엑티브 트랜잭션의 아크이퀄라이저에서 very slow 구간의 응답 기준을 지정합니다.

trace_active_transaction_lost_time

Default: 300000
Type : MiliSecond
트랜잭션의 종료를 기다리는 제한 시간. 5분 안에 트랜잭션이 끝나지 않는 경우 트랜잭션을 정보를 더 이상 수집하지 않습니다.

.NET
whatap.profile_step_normal_count

Default: 1000
Type : Int
트랜잭션 프로파일의 최대 스텝 수를 지정합니다.

whatap.profile_step_max_count

Default: 1024
Type : Int
수집 가능한 프로파일 스텝의 최대 개수를 설정합니다. 수집된 프로파일 스텝 수가 이 값을 초과하면 이후 수집되는 스텝들은 모두 버려집니다.

whatap.profile_step_heavy_count

Default: 1000
Type : Int
기본 스텝의 수집 개수가 초과되면, 실행 시간이 profile_step_heavy_time을 초과하는 스텝만 수집합니다. 해당 스텝의 수집 가능한 개수를 설정합니다. Default 설정일 경우 profile_step_normal_count가 800 이면 최대 200개의 스텝이 수집됩니다.

whatap.profile_step_heavy_time

Default: 100
Type : Millisecond
Heavy 한 스텝의 기준을 지정합니다. 지정된 값보다 수행 시간이 긴 경우 profile_step_normal_count를 초과하는 경우라도 profile_step_heavy_count 이내에서 기록됩니다.

whatap.profile_basetime

Default: 500
Type : Millisecond
트랜잭션이 설정된 값 이하의 시간 내에 종료된 경우 프로파일 정보를 수집하지 않습니다. 단, 5분 단위로 최초 호출된 URL, 에러가 발생한 트랜잭션에 대한 프로파일 정보는 수집됩니다.

whatap.query_string_enabled

Default: false
Type : Boolean
트랜잭션 URL의 쿼리 스트링을 함께 수집하는 기능을 활성화합니다. whatap.query_string_urls에 등록된 URL만 적용됩니다.

whatap.query_string_urls

Default : NONE
Type : String
트랜잭션에서 쿼리 스트링을 수집할 URL들을 등록합니다.

whatap.whatap.profile_compile_file_enabled

Default :false
Type : Boolean
compile_file, compile_string 함수의 추적 여부를 설정합니다.
스크립트 파일 경로와 실행 시간을 확인할 수 있습니다. NOTE: IIS 다시 시작 후 적용됩니다.

whatap.profile_compile_file_basetime

Default : 200
Type : Millisecond
실행 시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다.

whatap.profile_compile_file_basetime을 너무 작게 설정할 경우 너무 많이 수집하게 되어 서버에 부하를 줄 수 있습니다.
IIS 다시 시작 후 적용됩니다.
HTTP 트랜잭션 추적
Java
profile_http_header_enabled

Default : false
Type : Boolean
프로파일 내역에 http 헤더 정보를 기록하고자 할 때 사용합니다.

profile_http_header_url_prefix

Default : /
Type : String
프로파일 내역에 http 헤더 정보를 기록할 대상 URL의 prefix를 정의할 때 사용합니다.

profile_http_parameter_enabled

Default : false
Type : Boolean
프로파일 내역에 http 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다.

보안 키는 WAS 서버 ${WHATAP_AGENT_HOME}/paramkey.txt 파일 내에 6자리로 지정합니다.
paramkey.txt 파일이 존재하지 않는 경우 랜덤 값으로 자동 생성됩니다.
profile_http_parameter_url_prefix

Default : /
Type : String
프로파일 내역에 http 파라미터 정보를 기록할 대상 URL의 prefix를 정의할 때 사용합니다.

trace_transaction_name_header_key

Default : NONE
Type : String
트랜잭션의 이름 끝부분에 지정한 http header key에서 추출한 값을 추가합니다.

trace_transaction_name_key

Default : NONE
Type : String
트랜잭션의 이름 끝부분에 지정한 http request parameter에서 추출한 값을 추가합니다.

trace_normalize_enabled

Default : true
Type : Boolean
트랜잭션 URL을 파싱 하여 정규화하는 기능을 활성화합니다.

false로 변경 시 패스 파라미터 파싱이 비활성화됩니다. 이 경우 통계 데이터의 의미가 약화됨으로 디버그 용도로만 잠시 사용하는 것이 좋습니다.
trace_auto_normalize_enabled

Default : true
Type : Boolean
트랜잭션 URL 정규화할 때 패턴 값을 어노테이션에서 추출하여 자동으로 파싱 하는 기능을 활성화합니다.

trace_normalize_urls

Default : NONE
Type : String
정규화할 트랜잭션 URL 패턴을 정의합니다. 호출 URL 패턴을 파싱 하여 패스 파라미터를 제거합니다.

ex) /a/{v}/b라고 선언하면 a/123/b ⇒ a/{v}/b로 치환합니다.
여러 개를 등록할 때는 콤마(,)를 사용합니다. 치환 패턴 정리 후 보완이 필요합니다.
web_static_content_extensions

Default : js, htm, html, gif, png, jpg, css, swf, ico
Type : String
스태틱 콘텐츠임을 판단하는 확장자를 지정합니다. 여기에 설정된 확장자를 가진 트랜잭션들은 프로파일 추적과 카운팅이 제외됩니다.

recursive_max

Default : 1000000
Type : Int
트랜잭션의 재귀 호출 여부 검출을 위한 옵션입니다. 단일 트랜잭션으로부터 파생되는 재귀 호출 횟수를 카운트하여 이벤트 알림을 발행하기 위한 기준을 지정합니다.

HTTP URL 재귀 호출을 대상으로 합니다.
jsp:forward를 통해 재호출되는 케이스도 카운트에 포함됩니다.
hook_httpservlet_classes

Default : NONE
Type : String
HTTP 트랜잭션의 END POINT를 추가로 지정합니다. 메소드의 첫 번째 2개의 파라미터는 HttpServletRequest와 HttpServletResponse만 지정 가능합니다.

hook_jsp_patterns

Default : org.apache.jasper.servlet.JspServlet.serviceJspFile
Type : String
JSP 파일을 로딩하는 메소드를 지정합니다. 트랜잭션 호출 결과로 반환되는 JSP 정보를 프로파일에 표시합니다. 본 옵션을 통해 추가한 설정에 default 설정이 자동으로 추가됩니다.

trace_ignore_url_set

Default : NONE
Type : String
트랜잭션 추적에서 제외할 URL을 지정합니다.

trace_ignore_url_prefix

Default : NONE
Type : String
트랜잭션 추적에서 제외할 URL prefix를 지정합니다.

PHP
whatap.trace_normalize_enabled

Default : true
Type : Boolean
트랜잭션 URL을 변환하여 일반화하는 기능을 활성화 합니다.

whatap.trace_normalize_urls

Default : NONE
Type : String
트랜잭션 URL을 변환하고 일반화할 대상 URL을 지정합니다. 호출 URL패턴을 변환하여 패스 파라미터를 제거합니다. 예를 들어 “/a/{v}/b” 라고 설정하면 해당 형식으로 호출되는 트랜잭션 URL은 “/a/{v}/b” 형식으로 변환됩니다. 여러 개를 등록 할 때는 콤마(,)를 사용합니다.

whatap.trace_ignore_url_set

Default : 0
Type : String
특정 URL을 설정하면 트랜잭션 추적 대상에서 제외됩니다. 설정된 URL은 트랜잭션 정보를 수집하지 않아, 트랜잭션 목록에서 확인되지 않습니다. 트랜잭션 추적 대상에서 제외할 URL을 지정합니다. 여러개를 지정할경우 콤마(,)로 구분합니다.

whatap.trace_ignore_url_prefix

Default : 0
Type : String
트랜잭션 추적 대상에서 제외할 URL prefix를 지정합니다.

whatap.profile_http_header_enabled

Default : false
Type : Boolean
프로파일 내역에 http 헤더 정보를 기록하고자 할 때 사용합니다.

whatap.profile_http_header_ignore_keys

Default : "host,accept,user-agent,referer, accept-language, connection"
Type : string

HTTP Header 이름을 지정해서 수집 정보에서 제외 시키는 기능을 추가했습니다. 지정된 HTTP Header 이름의 값은 수집에서 제외 되며, "#"으로 표기 됩니다.

whatap.profile_http_parameter_enabled

Default : false
Type : Boolean
프로파일 내역에 http 파라미터 정보를 기록하고자 할 때 사용합니다.
파라미터는 별도 보안키를 입력해야 조회 할 수 있습니다.

Get, Post 파라메터 중 text 타입의 이름 과 값을 수집합니다.
최대 40개 (Get 20개, Post 20개) 를 수집하며 파라메터 이름과 값은 최대 256 byte 까지 수집됩니다.

파라메터 정보는 별도 암호화되어 전송되며, 해당 애플리케이션 서버의 /usr/whatap/php/paramkey.txt 에 있는 키로 복호화하여 볼 수 있습니다.

whatap.profile_http_parameter_url_prefix

Default : /
Type : String
프로파일 내역에 http 파라미터 정보를 기록할 대상 URL의 prefix를 정의 할 때 사용합니다.

whatap.profile_http_host_enabled

Default : false
Type : Boolean
트랜잭션의 Host 정보를 출력합니다. False일 경우 트랜잭션의 URL에 URI 만 표기하고 True 일 경우 /xxx.aaa.com/URL 형식으로 출력됩니다.

whatap.biz_exceptions

Default : Empty
Type : String
특정 Error 또는 Exception 을 Business Exception으로 지정합니다. 히트맵에서는 에러로 표기되지 않고 통계정보에만 수집됩니다.
수집되는 Error Class 명과 동일하게 적용합니다. 콤마를 구분자로 하여 여러개를 등록할 수 있습니다.

whatap.ignore_exceptions

Default : NONE
Type : String
무시할 Exception을 등록합니다. 여기에 등록되면 에러 자체가 무시됩니다.

whatap.ignore_exceptions

Exception 의 경우 Custom Exception Class 가 정의되어 있지 않으면, 기본으로 "Exception" 으로 수집됩니다.
특정 Exception을 구분하기 위해서는 Custom Exception Class를 정의하고 해당 이름을 지정하면 제외 시킬 수 있습니다.

Node.js
trace_normalize_urls

default:
트랜잭션 URL을 파싱하여 정규화한다. 호출URL 패턴을 파싱하여 패스파라미터를 제거한다. ex) /a/:v/b 라고 선언하면 a/123/b ⇒ a/:v/b로 치환합니다 여러 개를 등록할 때는 콤마(,)를 사용합니다.

trace_normalize_enabled

default: true
트랜잭션 URL을 파싱하여 정규화하는 기능을 활성화합니다

trace_auto_normalize_enabled

default: true
트랜잭션 URL 정규화할때 패턴값을 어노테이션에서 추출하여 자동으로 파싱하는 기능을 활성화합니다.

web_static_content_extensions

default: js, htm, html, gif, png, jpg, css, swf, ico
스태틱 컨텐츠를 판단하는 확장자를 설정합니다. 여기에 설정된 확장자를 가진 트랜잭션들은 프로파일 추적과 카운팅이 제외됩니다.

profile_http_header_enabled

default: false
http헤더 정보를 프로파일에 출력하고자 할 때

profile_http_header_url_prefix

default: /
http헤더를 프로파일에 출력할 때 대상 URL에 대한 prefix

profile_http_parameter_enabled

default: false
http 파라미터를 프로파일링을 활성화한다. 단 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다.

profile_http_parameter_url_prefix

default: /
http파라미터를 프로파일링 활성화할 때 적용될 URL prefix를 설정한다.

trace_transaction_name_header_key

default: null
트랜잭션의 이름을 header에서 전달되는 값을 URL에 추가합니다

profile_basetime

default: 1000
트랜잭션의 처리 시간이 이 값에 미치지 못하는 경우 프로파일 정보는 수집되지 않습니다. 단 5분당 최초 호출된 URL, 에러 트랜잭션은 수집됩니다.

Python
profile_http_header_enabled

Default : false
Type : Boolean
프로파일에 HTTP 헤더 정보를 출력합니다. 헤더 수집의 여부와 무관하게 헤더를 프로파일에 노출할 것인가에 대한 설정입니다.

profile_http_parameter_enabled

Default : false
Type : Boolean
http 파라미터를 프로파일링을 활성화합니다. 단 파라미터는 별도 보안키를 입력해야 조회할 수 있습니다. 보안 키는 에이전트 설치 경로의 paramkey.txt 파일에 6 자리로 지정합니다. paramkey.txt 가 존재하지 않는 경우 자동 생성되며 random 키가 설정됩니다.

trace_normalize_enabled

Default : true
Type : Boolean
트랜잭션 URL 을 파싱하여 정규화하는 기능을 활성화합니다.

false 로 변경시 패스파라미터 파싱이 비활성화됩니다. 이 경우 통계데이터의 의미가 약화됨으로 디버그 용도로만 잠시 사용하는 것이 좋습니다.
trace_auto_normalize_enabled(*)

Default : true
Type : Boolean
트랜잭션 URL 정규화할때 패턴값을 어노테이션에서 추출하여 자동으로 파싱하는 기능을 활성화합니다.

trace_normalize_urls

Default : NONE
Type : String
트랜잭션 URL을 파싱하여 정규화 합니다. 호출 URL패턴을 파싱하여 패스 파라미터를 제거합니다. 예를 들어, /a/{v}/b라고 선언하면 /a/123/b → /a/{v}/b로 치환합니다. 여러 개를 등록 할 때는 콤마(,)를 사용합니다. /a/*/b 로 사용하여 특정 형식의 패스 파라미터를 제거하여 수집할 수 있습니다.

web_static_content_extensions(*)

Default : js, htm, html, gif, png, jpg, css, swf, ico
Type : String
스태틱 컨텐츠임을 판단하는 확장자를 지정합니다. 여기에 설정된 확장자를 가진 트랜잭션들은 프로파일 추적과 카운팅이 제외됩니다.

trace_ignore_url_prefix

Default : NONE
Type : String
트랜잭션 수집 예외 url prefix를 지정합니다. 지정한 값과 앞부분이 일치하는 url은 트랜잭션 성능을 수집하지 않습니다.

.NET
whatap.profile_http_header_enabled

Default : false
Type : Boolean
프로파일 내역에 http 헤더 정보를 기록하고자 할 때 사용합니다.

whatap.profile_http_parameter_enabled

Default : false
Type : Boolean
프로파일 내역에 http 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안키를 입력해야 조회 할 수 있습니다.

whatap.profile_http_parameter_url_prefix

Default : /
Type : String
프로파일 내역에 http 파라미터 정보를 기록할 대상 URL의 prefix를 정의 할 때 사용합니다.

whatap.profile_http_host_enabled

Default : false
Type : Boolean
트랜잭션의 Host 정보를 출력합니다. False일 경우 트랜잭션의 URL에 URI 만 표기하고 True 일 경우 /xxx.aaa.com/URL 형식으로 출력됩니다.

whatap.biz_exceptions

Default : Empty
Type : String
특정 Error 또는 Exception 을 Business Exception으로 지정합니다. 히트맵에서는 에러로 표기되지 않고 통계정보에만 수집됩니다.
수집되는 Error Class 명과 동일하게 적용합니다. 콤마를 구분자로 하여 여러개를 등록할 수 있습니다.

whatap.ignore_exceptions

Default : NONE
Type : String
무시할 Exception을 등록합니다. 여기에 등록되면 에러 자체가 무시됩니다.

whatap.ignore_exceptions

Exception 의 경우 Custom Exception Class 가 정의되어 있지 않으면, 기본으로 "Exception" 으로 수집됩니다.
특정 Exception을 구분하기 위해서는 Custom Exception Class를 정의하고 해당 이름을 지정하면 제외 시킬 수 있습니다.

whatap.trace_normalize_enabled

Default : true
Type : Boolean
트랜잭션 URL을 변환하여 일반화하는 기능을 활성화합니다.

whatap.trace_normalize_urls

Default : NONE
Type : String
트랜잭션 URL을 변환하고 일반화할 대상 URL을 지정합니다. 호출 URL 패턴을 변환하여 패스 파라미터를 제거합니다. 예를 들어 “/a/{v}/b”라고 설정하면 해당 형식으로 호출되는 트랜잭션 URL은 “/a/{v}/b” 형식으로 변환됩니다. 여러 개를 등록할 때는 콤마(,)를 사용합니다.

NON HTTP 트랜잭션 추적
Java
trace_auto_transaction_enabled

Default : false
Type : Boolean
프로파일 대상 메소드가 트랜잭션 시작점(Javax.http.httpservlet, hook_service_*) 내에서 수행되는 경우가 아니라면 수집이 되지 않습니다. 이 경우 프로파일 대상 메소드가 트랜잭션 시작점이 되도록 지정합니다.

주로 개발 환경에서 백그라운드 트랜잭션의 END POINT를 찾아낼 때 사용합니다.
trace_auto_transaction_backstack_enabled

Default : true
Type : Boolean
trace_auto_transaction_enabled=true가 설정된 경우에 트랜잭션 시작 시 StackTrace를 기록합니다. 이를 통해 트랜잭션의 시작점을 찾아낼 수 있습니다.

trace_background_socket_enabled

Default : true
Type : Boolean
트랜잭션이 아닌 백그라운드 쓰레드에 의한 소켓이 오픈될 때도 이를 기록합니다.

async_stack_enabled

Default : false
Type : Boolean
백그라운드 쓰레드에 대한 Active Stack 기능 사용 여부를 선택합니다.

async_thread_match

Default : NONE
Type : String
액티브 스택을 덤프 할 백그라운드 쓰레드 이름을 지정합니다. ","로 여러 개를 지정할 수 있습니다. 이름을 지정할 때는 "Thread-"처럼 ""를 사용해서 비교 패턴을 사용할 수 있습니다.

async_thread_parking_class

Default : sun.misc.Unsafe
Type : String
스택의 Top 메소드가 async_thread_parking에 등록된 클래스/메소드일때 쓰레드가 파킹 상태에 있다고 판단하고 덤프를 생성하지 않습니다.

hook_service_patterns

Default : NONE
Type : String
NON-Http 트랜잭션 추적을 위한 시작점 패턴을 설정합니다.

hook_serivce_ignore_methods

Default : NONE
Type : String
hook_service_patterns에서 설정된 내역 중 시작점으로 불필요한 메소드를 추가할 수 있습니다.

hook_service_supers

Default : NONE
Type : String
NON-Http 트랜잭션 추적을 위한 시작점의 공통분모가 특정 클래스의 메소드를 상속받은 경우라면 이를 설정합니다.

hook_service_interfaces

Default : NONE
Type : String
NON-Http 트랜잭션 추적을 위한 시작점의 공통분모가 특정 인터페이스를 구현한 경우라면 이를 설정합니다.

hook_service_access_public_enabled

Default : true
Type : Boolean
Non Http Demon 프로세스의 트랜잭션을 지정할 때 public 메소드에 대해서만 Access 권한을 기준으로 on/off를 지정합니다.

hook_service_access_private_enabled

Default : true
Type : Boolean
Non Http Demon 프로세스의 트랜잭션을 지정할 때 private 메소드에 대해서만 Access 권한을 기준으로 on/off를 지정합니다.

hook_service_access_protected_enabled

Default : true
Type : Boolean
Non Http Demon 프로세스의 트랜잭션을 지정할 때 protected 메소드에 대해서만 Access 권한을 기준으로 on/off를 지정합니다.

service_name_mode

Default : full
Type : String
트랜잭션 명을 지정하기 위해 full, class, method, string, arg 5가지 옵션을 사용할 수 있습니다.

full : Full Class 이름 사용
class : Class 이름 서비스 명으로 사용
method : Method 이름을 서비스 명으로 사용
string : 문자열 중에서 첫 번째 파라미터를 서비스 명으로 사용
arg : 파라미터 중에서 service_name_index 옵션에 지정한 인덱스에 파라미터를 서비스 명으로 사용
Node.js
trace_background_socket_enabled

default: true
소켓(TCP) 연결이 오픈될 때 트랜잭션이 시작된 상황에서만 오픈을 추적하는데 트랜잭션이 아닌 백그라운드 쓰레드에 의한 소켓이 오픈될 때도 추적합니다.

Python
  • 트랜잭션 end-point
    트랜잭션 end-point는 트랜잭션의 시작 메소드입니다. HTTP 트랜잭션의 경우에는 HttpServlet.service() 혹은 Filter.doFilter()가 트랜잭션의 시작점이고 이곳을 트랜잭션 엔드 포인트라고 부릅니다.

  • NON HTTP 추적
    트랜잭션 end-point로 지정된 메소드가 시작해서 종료될 때까지의 성능을 트랜잭션 성능이라고 합니다. non http 트랜잭션을 추적하기 위해서는 end point를 지정해야 합니다.

    여기서는 알 수 없는 end-point를 찾는 과정은 다음과 같습니다.
    1. 트랜잭션이 호출될 것으로 추정되는 모든 메소드에 대해 프로파일 추적을 설정합니다.

    2. 다시 시작 후 트랜잭션을 일으켜서 모니터링합니다.

    3. back stack 옵션을 켜서 진입 메소드를 정확히 파악합니다.

  • STEP 1, 먼저 메소드 프로파일 설정
    일단 메소드 프로파일을 설정합니다. 하지만 해당 클래스들이 잠재적인 트랜잭션 end point보다는 확실하게 트랜잭션에서 호출되는 클래스를 지정합니다. 그래서 DB를 사용하는 프로그램에서는 JDBC 드라이버가 일반적으로 유용합니다.

    .jdbc 드라이버에 프로파일을 설정합니다.(whatap.conf)
    ----
    hook_method_patterns=jdbc.*.*
    hook_method_access_public_enabled=true
    hook_method_access_protected_enabled=true
    hook_method_access_none_enabled=true
    ----
    .어느 메소드이건 호출되면 트랜잭션을 시작시킵니다. 옵션과 트랜잭션이 시작할 때 스택을 덤프 하는 옵션을 켭니다.(whatap.conf)
    ----
    trace_auto_transaction_enabled=true
    trace_auto_transaction_backstack_enabled=true
    ----
  • STEP 2, 다시 시작 후 프로파일 분석
    다시 시작하고 서비스를 호출하면 트랜잭션이 추적되는 것을 볼 수 있습니다. 트랜잭션들을 조회해 보면 모든 jdbc.*로 시작하는 클래스의 메소드를 이 트랜잭션으로 나타남을 알 수 있습니다. 트랜잭션 프로파일을 조회하면 <TRANSACTION BACKSTACK>라는 메시지 스텝을 확인할 수 있습니다.

    .TRANSACTION BACKSTACK
    ----
    jdbc.FakePreparedStatement.executeQuery(FakePreparedStatement.java),
    com.virtual.dao.SelectDAO.execute2(SelectDAO.java:29),
    com.virtual.web.SimulaNonHttp.execute(SimulaNonHttp.java:147),
    com.virtual.web.SimulaNonHttp.process(SimulaNonHttp.java:76),
    com.virtual.web.SimulaNonHttp.run(SimulaNonHttp.java:100)
    ----

스택 내용을 보면 어떤 메소드로부터 출발하고 있는지 얼추 추정할 수 있습니다.

.예제
----
com.virtual.web.SimulaNonHttp.execute(SimulaNonHttp.java:147),
com.virtual.web.SimulaNonHttp.process(SimulaNonHttp.java:76),
com.virtual.web.SimulaNonHttp.run(SimulaNonHttp.java:100)
----

위 3개의 메소드 중에 하나를 트랜잭션 시작점으로 판단하면 됩니다. 이 정도 상황에서는 역 컴파일을 수행해서 적절한 트랜잭션 end point를 결정해야 합니다.

로직을 간단히 보면 SimulaNonHttp.run 내에서 while()가 돌면서 SimulaNonHttp.process()을 호출하고 SimulaNonHttp.execute()가 수행됩니다. process()가 적당하다는 것을 알 수 있습니다. (이 부분은 어쩔 수 없이 소스를 보고 판단해야 합니다.)
end point의 가장 중요한 기준은 종료되어야 한다는 것입니다. 정상적인 상황에서 지연되지 않고 곧바로 종료되어야 성능적인 판단을 할 수 있습니다.
  • STEP 3, 트랜잭션 END POINT 지정하기
    트랜잭션 시작 지점을 아래와 같이 설정합니다.

    ----
    hook_service_patterns=com.virtual.web.SimulaNonHttp.process
    ----

다시 시작하면 process() 메소드가 새로운 트랜잭션의 end point가 됩니다.

  • STEP4, 트랜잭션 이름 추적하기 보통의 경우에는 메소드 명칭으로 충분히 트랜잭션을 구분할 수 있습니다.

    .whatap.conf
    ----
     service_name_mode=[full,class,method,string,arg]
     service_name_index=0
    ----
    service_name_mode::
    full,class,method,string,arg
    5가지 옵션을 지정할 수 있습니다.
    - full : Full Class 이름 사용
    - class : Class 이름 서비스 명으로 사용
    - method : Method 이름을 서비스명으로 사용
    - string : 문자열 중에서 첫 번째 파라미터를 서비스 명으로 사용
    - arg : 파라미터중에서 **service_name_index**옵션에 지정한 인덱스를 파라미터를 서비스 명으로 사용
플러그인 사용은 전문가 영역이기 때문에 충분히 이해한 경우에만 사용하길 권장합니다.
  • STEP 5, 에이전트 플러그인 사용하기
    WHATAP_HOME 디렉토리 아래에 plugin 디렉토리를 만듭니다. 그리고 vi를 통해 AppServiceStart.x 파일을 만듭니다.

app start plug

println(“test”);라고 타이핑하고 저장하면 화면에 “test”라는 문자열이 출력되는 것을 확인할 수 있습니다. 그러면 파라미터에서 정보를 추출해 봅니다.

본 예제에는 파라미터에 HashMap에 전달되고 거기에는 url 파라미터가 전달되고 있습니다.
 ----
 Object url =((java.util.HashMap)$point.getArgs()[0]).get("url");
 $ctx.service((String)url);
 //println(“url=“+url);
 ----

이렇게 플러그인을 만들면 트랜잭션 이름이 변경됩니다.

트랜잭션 추적
PHP
whatap.trace_active_transaction_slow_time

Default : 3000
Type : Millisecond
수집 정보를 확인하는 대시보드의 엑티브 트랜잭션 아크이퀄라이저 그래프에서 Slow 구간으로 표기될 수 있는 트랜잭션 응답 시간의 기준을 지정합니다. 트랜잭션의 응답시간이 지정 시간을 초과할 경우 Slow 액티브 트랜잭션의 개수에 포함됩니다.

whatap.trace_active_transaction_very_slow_time

Default : 8000
Type : Millisecond

whatap.trace_active_transaction_lost_time

Default : 30000
Type : Millisecond
트랜잭션의 종료를 기다리는 제한 시간. 5분 안에 트랜잭션이 끝나지 않는 경우 트랜잭션을 정보를 더 이상 수집하지 않습니다. 트랜잭션의 프로파일 정보에서 “Lost Connection”를 확인할 수 있습니다.

whatap.trace_useragent_enabled

Default : False
Type : Boolean
True : 트랜잭션의 유저 에이전트 정보를 수집합니다.

whatap.trace_referer_enabled

Default : False
Type : Boolean
True : 트랜잭션의 Refere 정보를 수집합니다.

Node.js
trace_service_port_enabled

default: false
트랜잭션의 이름에 port 번호를 추가합니다.

.NET
whatap.trace_active_transaction_slow_time

Default : 3000
Type : Millisecond
수집 정보를 확인하는 대시보드의 엑티브 트랜잭션 아크이퀄라이저 그래프에서 Slow 구간으로 표기될 수 있는 트랜잭션 응답 시간의 기준을 지정합니다. 트랜잭션의 응답시간이 지정 시간을 초과할 경우 Slow 액티브 트랜잭션의 개수에 포함됩니다.

whatap.trace_active_transaction_very_slow_time

Default : 8000
Type : Millisecond

whatap.trace_active_transaction_lost_time

Default : 30000
Type : Millisecond
트랜잭션의 종료를 기다리는 제한 시간. 5분 안에 트랜잭션이 끝나지 않는 경우 트랜잭션을 정보를 더 이상 수집하지 않습니다. 트랜잭션의 프로파일 정보에서 “Lost Connection”를 확인할 수 있습니다.

트랜잭션 연계 추적
Java
mtrace_enabled

Default : false
Type : Boolean
트랜잭션 연계 추적 기능(MTID) 사용 여부를 설정합니다. MTID를 추적하면 등록된 모든 애플리케이션 간의 호출을 확인할 수 있습니다.

mtrace_rate

Default : 10
Type : Percentage
최초 트랜잭션이 발생할 때 발급받는 MTID(Multi Transaction ID)의 발급비율을 설정하는 옵션입니다.

mtrace_caller_key

Default : x-wtap-mst
Type : String
MTID 추적에 사용할 Caller Key Name을 정합니다.

mtrace_callee_key

Default : x-wtap-tx
Type : String
MTID 추적에 사용할 Callee Key Name을 정합니다.

mtrace_send_url_length

Default : 80
Type : Int
Http Caller는 Callee에게 자신의 URL을 넘겨줍니다. 이때 URL 길이를 제한하고 있습니다. 이 길이를 지정합니다.

mtrace_callee_id_send_enabled

Default : false
Type : Boolean
MTID 추적 시 HTTPC 호출과 함께 발행된 Callee ID를 프로파일에 표현합니다.

mtrace_callee_id_recv_enabled

Default : false
Type : Boolean
MTID 추적 시 수신한 Callee ID를 프로파일에 표현합니다.

mtrace_alltx_enabled

Default : false
Type : Boolean
log4j와 같은 로깅 시스템과 연계하기 위해서 모든 트랜잭션의 mtid를 추적할 수 있습니다.

mtrace_basetime

Default : 100
Type : Miliseconds
mtrace_alltx_enabled=true 하면 너무 많은 로그가 남을 수 있습니다. 이때는 프로파일 로깅량을 줄일 필요가 있습니다.

stat_mtrace_enabled

Default : false
Type : Boolean
Caller와 Callee의 상관관계 통계를 수집합니다.
Caller에 적용하면 Caller의 상세 정보를 보내주고 Callee에 적용되면 url 단위 Caller-Callee 호출 통계를 수집 서버로 전송합니다.

PHP
whatap.mtrace_enabled

Default : false
Type : Boolean
트랜잭션 연계 추적 기능(MTID) 사용 여부를 설정합니다. MTID를 추적하면 등록된 모든 애플리케이션 간의 호출을 확인할 수 있습니다.

whatap.mtrace_rate

Default : 10
Type : Percentage
최초 트랜잭션이 발생할 때 발급받는 MTID(Multi Transaction ID)의 발급비율을 설정하는 옵션입니다.

whatap.mtrace_poid_key

Default : x-wtap-po
Type : String
MTID 추적에 사용할 Caller 프로젝트 정보를 전달할 Key Name을 설정합니다.

whatap.mtrace_caller_key

Default : x-wtap-mst
Type : String
MTID 추적에 사용할 Caller Key Name을 정합니다.

whatap.mtrace_callee_key

Default : x-wtap-tx
Type : String
MTID 추적에 사용할 Callee Key Name을 정합니다.

whatap.mtrace_send_url_length

Default : 80
Type : Int
Http Caller는 Callee에게 자신의 URL을 넘겨줍니다. 이때 URL 길이를 제한하고 있습니다. 이 길이를 지정합니다.

Node.js
mtrace_rate

default: 0
최초 트랜잭션이 발생할 때 발급받는 MTID(Multi Transaction ID)의 발급 비율을 설정하는 옵션입니다. 0에서 100까지 지정할 수 있습니다. MTID를 추적하면 등록된 모든 애플리케이션 간의 호출을 확인 할 수 있습니다. 같은 프로젝트에 속한 애플리케이션은 Caller & Callee기능을 통해 트랜잭션의 프로파일을 바로 확인 가능합니다.

mtrace_spec

default: v1
현 인스턴스의 애플리케이션 버전을 지정합니다. 임의의 문자열을 지정할 수 있습니다. 이 데이터는 호출 통계를 위해 사용됩니다.

Python
mtrace_rate

Default : 0
Type : %
최초 트랜잭션이 발생할 때 발급받는 MTID(Multi Transaction ID)의 발급 비율을 설정하는 옵션입니다. MTID를 추적하면 등록된 모든 애플리케이션 간의 호출을 확인할 수 있습니다. 같은 프로젝트에 속한 애플리케이션은 Caller & Callee 기능을 통해 트랜잭션 프로파일을 바로 확인할 수 있습니다.

mtrace_spec

Default: v1
Type : String
현 인스턴스의 애플리케이션 버전을 지정합니다. 임의의 문자열을 지정할 수 있습니다. 이 데이터는 호출 통계를 위해 사용됩니다.

mtrace_send_url_length

Default : 80
Type : Integer

.NET
whatap.mtrace_spec

Default: v1
Type : String
현 인스턴스의 애플리케이션 버전을 지정합니다. 임의의 문자열을 지정할 수 있습니다. 이 데이터는 호출 통계를 위해 사용됩니다.

IIS 다시 시작 후 적용됩니다.

DB, SQL

Java

dbcp_pool_enabled

Default : true
Type : Boolean
JMX를 사용하지 않고 DBCP의 DB Connection 정보를 추적하기 위해 사용됩니다.

hikari_pool_enabled

Default : false
Type : Boolean
JMX를 사용하지 않고 hikari pool의 DB Connection 정보를 추적하기 위해 사용됩니다.

tomcat_ds_enabled

Default : false
Type : Boolean
JMX를 사용하여 Tomcat DB Connection Pool 정보를 추적하는 기능을 활성화합니다.

tomcat_pool_enabled

Default : true
Type : Boolean
JMX를 사용하지 않고 Tomcat DB Connection Pool 정보를 추적하는 기능을 활성화합니다.

weblogic_ds_enabled

Default : false
Type : Boolean
JMX를 사용하여 Weblogic DB Connection Pool 정보를 추적하는 기능을 활성화합니다.

weblogic_pool_enabled

Default : true
Type : Boolean
JMX를 사용하지 않고 Weblogic DB Connection Pool 정보를 추적하는 기능을 활성화합니다.

jeus_pool_enabled

Default : true
Type : Boolean
JMX를 사용하지 않고 JEUS DB Connection Pool 정보를 추적하는 기능을 활성화합니다.

profile_connection_open_enabled

Default : true
Type : Boolean
프로파일 내역에 DBConnection 오픈 정보를 기록합니다.

profile_dbc_close

Default : false
Type : Boolean (profile_connection_open_enabled=true 에서만 동작)
프로파일 내역에 DBConnection 클로즈 정보를 기록합니다.

profile_sql_param_enabled

Default : false
Type : Boolean
프로파일 내역에 SQL 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안 키를 입력해야 조회할 수 있습니다.

보안 키는 WAS 서버 ${WHATAP_AGENT_HOME}/paramkey.txt 파일 내에 6자리로 지정합니다.
paramkey.txt 파일이 존재하지 않는 경우 랜덤 값으로 자동 생성됩니다.
profile_sql_resource_enabled

Default : false
Type : Boolean
프로파일에서 SQL이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

profile_update_count

Default : false
Type : Boolean
excuteUpdate() 메소드를 통해 SQL UPDATE 문이 수행된 경우 UPDATE 건수를 수집합니다.

custom_pool_classes

Default : NONE
Type : String
pre-define 되지 않는 별도의 Connection Pool을 사용하는 경우 해당 클래스 명을 지정합니다.

ds_update_interval

Default : 5000
Type : MiliSeconds
DB Connection 정보 Count 주기를 설정합니다.

profile_position_sql

Default : false
Type : Boolean
SQL이 수행되는 시점의 StackTrace를 기록합니다.

profile_sql_param_length

Default : 40
Type : Int
SQL 파라미터의 길이를 설정합니다.

최대값은 128이며 그 이상의 값을 입력하더라도 파라미터는 128까지 저장합니다.
trace_dbc_leak_enabled

Default : false
Type : Boolean
DBConnection Leak을 추적하는 기능을 활성화합니다.

Connection Wrapper를 사용해 Leak을 추적하기에 운영 서비스에 영향을 미칠 수 있으므로 반드시 테스트 후 적용해야 합니다.
trace_dbc_leak_fullstack_enabled

Default : false
Type : Boolean
DBConnection Leak이 감지되는 경우 해당 시점 StackTrace를 수집합니다.

PeakTime에는 가급적 적용하지 마세요.
옵션을 적용하면 CPU 사용량이 다소 증가할 수 있습니다.
문제 해결 용도로만 한시적으로 적용할 것을 권고합니다.
trace_sql_normalize_enabled

Default : true
Type : Boolean
SQL 문에서 리터럴 부분을 축출하여 SQL 문을 정규화하는 기능을 활성화합니다.

profile_error_jdbc_fetch_max

Default : 10000
Type : Int
SQL Fetch Count(ResultSet.next() 호출 건 수)가 지정한 값을 초과하면 TOO MANY Fetch 에러로 처리됩니다. 0으로 설정하는 경우 에러 처리를 하지 않습니다.

profile_error_sql_time_max

Default : 30000
Type : MiliSecond
SQL 수행 시간이 지정한 값을 초과하면 TOO SLOW 에러로 처리됩니다. 0으로 설정하는 경우 에러 처리를 하지 않습니다.

hook_connection_open_patterns

Default : NONE
Type : String
DB Connection Open 시 호출되는 메소드를 등록합니다. 미리 지정되지 않은 Connection Pool의 getConnection을 등록하는 것이 일반적입니다.

  • Ex : hook_connection_open_patterns=mypool.ConPool.getConnection

hook_jdbc_con_classes

Default : NONE
Type : String
미등록 되었던 JDBC Connection 클래스를 지정합니다.

  • Ex : hook_jdbc_con_classes=mypool.ConPool

hook_jdbc_pstmt_classes

Default : NONE
Type : String
미등록 되었던 jdbc PreparedStatement 클래스를 지정합니다. 주의할 점은 생성자 파라미터에 SQL 문자열이 전달되는 구조여야 합니다.

  • Ex : org.apache.derby.impl.jdbc.EmbedPreparedStatement

hook_jdbc_cstmt_classes

Default : NONE
Type : String
미등록 되었던 jdbc CallableStatement 클래스를 지정합니다.

  • Ex : org.apache.derby.impl.jdbc.EmbedCallableStatement

hook_jdbc_stmt_classes

Default : NONE
Type : String
미등록 되었던 JDBC Statement 클래스를 지정합니다.

  • Ex : org.apache.derby.impl.jdbc.EmbedStatement

hook_jdbc_rs_classes

Default : NONE
Type : String
미등록되었던 JDBC ResultSet 클래스를 지정합니다.

  • Ex : org.apache.derby.impl.jdbc.EmbedResultSet

hook_jdbc_wrapping_driver_patterns

Default : NONE
Type : String
DB2 드라이버처럼 난독 처리된 JDBC 드라이버는 hook_jdbc_xxx 옵션으로 직접 BCI가 어렵습니다. 이런 경우 Wrapper 방식으로 SQL를 추적할 수 있습니다. 이때 Driver.connect를 지정하여 추적합니다.

debug_dbc_stack_enabled

Default : false
Type : Boolean
DB Connection 시점의 StackTrace를 프로파일에 저장합니다. 애플리케이션에서 사용하는 Connection Pool 정보를 얻기 위해 사용됩니다.

PHP

whatap.trace_sql_normalize_enabled

Default : true
Type : Boolean
SQL 문에서 리터럴 부분을 추출하여 SQL 문을 정규화 하는 기능을 활성화합니다. 리터럴 부분은 "#"으로 표기됩니다.

whatap.profile_sql_resource_enabled

Default : false
Type : Boolean
프로파일에서 SQL이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

whatap.profile_sql_param_enabled

Default : false
Type : Boolean
프로파일 내역에 SQL 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안 키를 입력해야 조회할 수 있습니다.

보안 키는 WAS 서버 /usr/whatap/php/paramkey.txt 파일 내에 6자리로 지정합니다.
paramkey.txt 파일이 존재하지 않는 경우 랜덤 값으로 자동 생성됩니다.
whatap.profile_sql_comment_enabled

Default : false
Type : Boolean
수집하는 SQL 문의 주석을 삭제합니다. false일 경우 주석을 제외한 SQL 문을 수집합니다.
설정을 통해 주석을 포함하거나 삭제할 수 있습니다.

whatap.profile_db_connection_map_size

Default : 20
Type : Int
동시에 연결이 유지되는 DB Connection 정보를 최대로 저장할 수 있는 크기입니다.
초과하는 DB Connection 연결 시 오래된 정보부터 삭제됩니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.profile_mysql_return_enabled

Default : True
Type : Boolean

True : Mysql 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_mysql_error_info_enabled

Default : True
Type : Boolean

True : Mysql 라이브러리 함수의 결과값이 False 일 때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_mysql_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_mysql_error_ignore_empty

Default : True
Type : Boolean

False : 오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_mysql_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_mysqli_return_enabled

Default : True
Type : Boolean

True : Mysqli 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_mysqli_error_info_enabled

Default : True
Type : Boolean

True : Mysqli 라이브러리 함수의 결과값이 False 일때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_mysqli_return_enabled 설정이 false 인 경우는 적용되지 않습니다.

whatap.profile_mysqli_error_ignore_empty

Default : True
Type : Boolean

False : 오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_mysqli_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_pdo_return_enabled

Default : True
Type : Boolean

True : pdo 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_pdo_error_info_enabled

Default : True
Type : Boolean

True : Mysql 라이브러리 함수의 결과값이 False 일 때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_pdo_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_pdo_error_ignore_empty

Default : True
Type : Boolean

False : 오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_pdo_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_pdo_return_enabled

Default : True
Type : Boolean

True : pdo 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_pgsql_error_info_enabled

Default : True
Type : Boolean

True : pgsql(Posgressql) 라이브러리 함수의 결과값이 False 일 때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_pgsql_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_pgsql_error_ignore_empty

Default : True
Type : Boolean

False : 오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_pgsql_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_oci8_return_enabled

Default : True
Type : Boolean

True : oci8(Oracle) 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_oci8_error_info_enabled

Default : True
Type : Boolean

True : Mysql 라이브러리 함수의 결과값이 False 일 때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_pdo_return_enabled 설정이 false인 경우는 적용되지 않습니다.

whatap.profile_pdo_error_ignore_empty

Default : True
Type : Boolean

False : 오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_pdo_return_enabled 설정이 false인 경우는 적용되지 않습니다.

Node.js

profile_error_sql_time_max

default: 30000
SQL 수행 후 수행 시간이 여기서 지정한 값을 초과하면 TOO SLOW 에러로 처리됩니다.

Python

profile_dbc_close(*)

Default : false
Type : Boolean (profile_connection_open_enabled=true 에서만 동작)
profile_connection_open_enabled이 활성화되어 있는 경우, 프로파일에 DB Connection이 close될 때의 정보를 출력합니다.

trace_sql_normalize_enabled

Default : true
Type : Boolean
SQL 문에서 리터럴 부분을 추출하여 SQL 문을 정규화 하는 기능을 활성화합니다.

profile_sql_param_enabled

Default : false
Type : Boolean
SQL 파라미터를 수집을 활성화합니다. 단 파라미터는 별도 보안 키를 입력해야 조회할 수 있습니다. 보안 키는 에이전트 설치 경로의 paramkey.txt 파일에 6자리로 지정합니다. paramkey.txt가 존재하지 않는 경우 자동 생성되며 random 키가 설정됩니다.

profile_sql_resource_enabled

Default : false
Type : Boolean
프로파일에서 SQL이 수집될 때 해당 스텝에서 사용한 CPU와 Memory 사용량을 추적합니다. 트랜잭션에서 리소스들의 사용량을 확인할 때 구간으로 나누어 추적이 용이합니다.

stat_sql_max_count

Default : 5000
Type : Int

.NET

whatap.trace_sql_normalize_enabled

Default : true
Type : Boolean
SQL 문에서 리터럴 부분을 추출하여 SQL 문을 정규화 하는 기능을 활성화합니다. 리터럴 부분은 "#"으로 표기됩니다.

whatap.profile_sql_resource_enabled

Default : false
Type : Boolean
프로파일에서 SQL이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

whatap.profile_sql_param_enabled

Default : false
Type : Boolean
프로파일 내역에 SQL 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안 키를 입력해야 조회할 수 있습니다.

보안 키는 WAS 서버 %PROGRAMFILES%\WhaTap .NET\paramkey.txt 파일 내에 6자리로 지정합니다.
paramkey.txt 파일이 존재하지 않는 경우 랜덤 값으로 자동 생성됩니다.

HTTPC, API Call

Java

profile_error_httpc_time_max

Default : 10000
Type : MiliSecond
HTTPC 수행 시간이 지정한 값을 초과하면 TOO SLOW 에러로 처리됩니다. 0으로 설정하는 경우 에러 처리를 하지 않습니다.

profile_httpc_resource_enabled

Default : false
Type : Boolean
프로파일에서 HTTP Call 스텝이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

profile_position_httpc

Default : false
Type : Boolean
HTTPC가 수행되는 시점의 StackTrace를 기록합니다.

trace_httpc_normalize_enabled

Default : true
Type : Boolean
트랜잭션 내 HTTPC URL을 파싱하여 정규화하는 기능을 활성화합니다.

trace_httpc_normalize_urls

Default : NONE
Type : String
정규화할 HTTPC URL 패턴을 정의합니다. 호출 URL 패턴을 파싱하여 패스 파라미터를 제거합니다.

ex) /a/{v}/b라고 선언하면 a/123/b ⇒ a/{v}/b로 치환합니다.
여러 개를 등록할 때는 콤마(,)를 사용합니다. 치환 패턴 정리 후 보완이 필요합니다.
hook_httpc_patterns

Default : NONE
Type : String
HTTP Call을 수행하는 클래스를 지정합니다.

PHP

whatap.profile_httpc_resource_enabled

Default : false
Type : Boolean
프로파일에서 HTTP Call 스텝이 수집될 때 해당 스텝에서 사용한 CPU 와 메모리 사용량을 추적합니다.

whatap.trace_httpc_normalize_enabled

Default : true
Type : Boolean
트랜잭션 내 HTTPC URL을 파싱하여 정규화하는 기능을 활성화합니다.

whatap.trace_httpc_normalize_urls

Default : NONE
Type : String
정규화 할 HTTPC URL 패턴을 정의합니다. 호출 URL 패턴을 파싱하여 패스 파라미터를 제거합니다.

ex) /a/{v}/b라고 선언하면 a/123/b ⇒ a/{v}/b로 치환한다
여러 개를 등록할 때는 콤마(,)를 사용합니다. 치환 패턴 정리 후 보완 필요
whatap.profile_curl_return_enabled

Default : True
Type : Boolean

True : curl 라이브러리 함수의 결과가 False 일 때 오류로 표기하는 기능을 활성화합니다.

whatap.profile_curl_error_info_enabled

Default : True
Type : Boolean

True : curl 라이브러리 함수의 결과값이 False 일 때 에러 메시지 정보 수집하는 기능을 활성화합니다.
whatap.profile_curl_return_enabled 설정이 false인 경우는 적용되지 않습니다.

  • cURL 라이브러리의 오류 타입은 HttpConnectionReturnFalse
    뒤에 오류 번호가 추가된 형식입니다.

    호출 URL의 http 결과 코드가 400 이상인 경우 오류 타입을 추가했습니다.
    HttpConnectionServerError([결과코드])

    예) HttpConnectionReturnFalse(6), HttpConnectionServerError(500)

whatap.profile_curl_error_ignore_empty

Default : True
Type : Boolean

False :오류 코드 또는 오류 메시지 내용이 없을 때 정상 결과로 표기합니다.
whatap.profile_curl_return_enabled 설정이 false인 경우는 적용되지 않습니다.

Python

profile_httpc_resource_enabled

Default : false
Type : Boolean
프로파일에서 HTTP Call 스텝이 수집될 때 해당 스텝에서 사용한 CPU와 Memory 사용량을 추적합니다.

trace_httpc_normalize_enabled

Default : true
Type : Boolean
외부 HTTP 호출(HTTP Call) URL을 파싱하여 정규화하는 기능을 활성화합니다.

trace_httpc_normalize_urls

Default : NONE
Type : String
외부 HTTP 호출하는 URL을 파싱하여 정규화합니다. 호출 URL 패턴을 파싱하여 패스 파라미터를 제거합니다. 예를 들면, /a/{v}/b라고 선언하면 /a/123/b → /a/{v}/b로 치환합니다. 여러 개를 등록할 때는 콤마(,)를 사용합니다. /a/*/b로 사용하여 특정 형식의 패스 파라미터를 제거하여 수집할 수 있습니다.

.NET

whatap.profile_httpc_resource_enabled

Default : false
Type : Boolean
프로파일에서 HTTP Call 스텝이 수집될 때 해당 스텝에서 사용한 CPU와 메모리 사용량을 추적합니다.

whatap.trace_httpc_normalize_enabled

Default : true
Type : Boolean
트랜잭션내 HTTPC URL을 파싱하여 정규화하는 기능을 활성화합니다.

whatap.trace_httpc_normalize_urls

Default : NONE
Type : String
정규화할 HTTPC URL 패턴을 정의합니다. 호출 URL 패턴을 파싱하여 패스 파라미터를 제거합니다.

ex) /a/{v}/b라고 선언하면 a/123/b ⇒ a/{v}/b로 치환합니다.
여러 개를 등록할 때는 콤마(,)를 사용합니다. 치환 패턴 정리 후 보완이 필요합니다.

Plug-in

Java

세션이나 혹은 다른 방식의 커스터마이징이 필요할 때는 플러그인을 사용할 수 있습니다. 플러그인은 스크립트 형태로 콘솔에서 프로그램 할 수 있으면 동적으로 변경하고 적용할 수 있습니다.

hook_trace_helper_patterns

Default : NONE
Type : String
메소드 실행 및 종료 부분에서 프로파일 플러그인을 삽입할 포인트(클래스 및 메소드명)를 지정합니다.

plugin 을 활용한 커스터마이즈 된 profile 정보 수집을 위한 용도로 하기 plugin 코드가 주입됩니다.
$WHATAP_HOME/plugin/TraceHelperStart.x
$WHATAP_HOME/plugin/TraceHelperEnd.x
hook_trace_helper_end_patterns

Default : NONE
Type : String
메소드 종료 부분에서 프로파일 플러그인을 삽입할 포인트(클래스 및 메소드명)를 지정합니다.

plugin 을 활용한 커스터마이즈 된 profile 정보 수집을 위한 용도로 하기 plugin 코드가 주입됩니다.
$WHATAP_HOME/plugin/TraceHelperEnd.x
hook_trace_helper_start_patterns

Default : NONE
Type : String
메소드 시작 부분에서 프로파일 플러그인을 삽입할 포인트(클래스 및 메소드명)를 지정합니다.

plugin 을 활용한 커스터마이즈 된 profile 정보 수집을 위한 용도로 하기 plugin 코드가 주입됩니다.
$WHATAP_HOME/plugin/TraceHelperStart.x

사용자 수

Java

trace_user_enabled

Default : true
Type : Boolean
실시간 사용자 집계 여부를 지정합니다.

사용자 추적 옵션이 중복 설정된 경우 동작 우선순위
1. trace_user_using_ip
2. trace_user_using_jsession
3. user_header_ticket
trace_user_cookie_limit

Default: 2048
Type : Int
사용자 집계를 위해 쿠키를 발행하는 경우 기존 쿠키가 너무 많다면 쿠키 오버플로어가 발생할 수 있습니다. 이를 방지하기 위해 limit을 지정합니다.

trace_user_using_ip

Default : true
Type : Boolean
실시간 사용자를 집계할 때 IP를 기반으로 합니다.

IP가 아닌 쿠키를 기반으로 사용자를 구분하고 싶으면 아래 옵션을 적용합니다.

trace_user_using_ip=false

trace_user_using_jsession

Default : false
Type : Boolean
실시간 사용자를 집계할 때 SESSIONID를 기반으로 합니다.

trace_http_client_ip_header_key

Default : NONE
Type : String
Remote Address를 http header의 특정 key 값으로 대체합니다.
http header에 전송되는 실제 클라이언트 IP를 사용하기 위한 옵션을 지정할 수 있습니다.

예) trace_http_client_ip_header_key=X-Forwarded-For

WEB/WAS 앞에 L4와 같은 로드밸런서가 위치한 경우 Client의 IP가 아닌 L4의 IP가 Remote Address가 되는 경우가 있습니다.
이 상황에서 실제 Client IP 정보가 http header에 특정 key 값으로 기록되는 경우라면 해당 key로 대체할 수 있습니다.
user_header_ticket

Default : NONE
Type : String
HTTP Header의 특정 값으로 사용자 수를 집계하고자 하는 경우 해당 Key 값을 지정합니다.

모바일 클라이언트인 경우 사용자 구분을 위해 header를 사용하는 경우가 있습니다.
다음 옵션을 이용할 수 있습니다.

예) user_header_ticket=login

PHP

whatap.trace_user_enabled

Default : true
Type : Boolean
실시간 사용자 집계 여부를 지정합니다. 이 값을 활성화하는 경우 아이피 또는 PHP 기본 쿠키(PHPSESSID) 및 프레임워크 쿠키(ci_session, Laravel_session)를 기준으로 사용자를 추적합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_user_using_ip

Default : false
Type : Boolean
실시간 사용자의 구분을 IP로 하고자 하는 경우 설정합니다. 이 데이터는 Real Time User에서 확인 가능합니다. false일 경우 PHP 기본 쿠키 및 프레임워크 쿠키(PHPSESSID, ci_session, Laravel_session)를 기준으로 사용자 구분을 합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_user_cookie_keys

Default : "PHPSESSID,ci_session,laravel_session"
Type : String

PHP 내부의 session.name 값을 지정하여 사용자를 식별할 수 있습니다.
기본 "PHPSESSID"를 쿠키의 키 이름으로 사용하지 않고, 다른 이름으로 사용할 때 설정합니다.
콤마를 구분자로 여러 개의 값을 설정할 수 있습니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_user_header_ticket

Default : false
Type : Boolean
사용자의 구분을 HTTP 헤더의 특정 값으로 구분하고 싶을 때 사용할 HTTP 키를 지정합니다. 단, trace_user_using_ip 배타적으로 설정을 동시에 적용할 수 없습니다. HTTP 키를 찾지 못하는 경우 Cookie를 기준으로 사용자를 구분합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_user_set_cookie

Default : false
Type : Boolean
사용자의 구분을 하기 위해 쿠키에 “WHATAP” 키 이름으로 사용자 구분 값을 설정한다. trace_user_using_ip 설정되는 경우 반영되지 않습니다. trace_user_header_ticket이 설정되는 경우 header key를 찾지 못하는 경우 설정됩니다. HTTP 키를 찾지 못하는 경우 Cookie를 기준으로 사용자를 구분합니다. PHP 컴파일 설치로 php.ini에 [whatap] 항목이 있으면 whatap.ini가 아닌 php.ini에 추가합니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_http_client_ip_header_key

Default : "X-Forwarded-For"
Type : String
Client IP(Remote IP)의 정보를 특정 HTTP 헤더의 값으로 변경하여 설정하는 기능을 추가하였습니다. Proxy(프락시) 환경에서 X-Forwarded-For 헤더 값을 Client IP로 설정할 수 있습니다.

Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.trace_http_client_ip_header_key_enabled

Default : True
Type : Boolean

False로 설정하면 HTTP Header는 무시하고, Remote IP 값으로 클라이언트 아이피를 설정합니다.

Node.js

trace_user_enabled

default: true
실시간 사용자를 추적할지를 결정합니다.

trace_user_using_ip

default: true
실시간 사용자를 추적할 때 사용자 구분을 IP로 합니다.

trace_user_cookie_limit

default: 2048
사용자 구분을 쿠키로 하는 경우 새로운 사용자가 접속하면 UUID를 쿠키로 지정하여 사용자를 구분합니다. 그런데 기존의 쿠키가 너무 많은 경우 쿠키 오버플로어가 날 수 있습니다. 이것을 피하기 위해 limit를 지정합니다.

user_header_ticket_enabled

default: false
사용자 아이디를 http 헤더의 특정 값으로 구분하고 싶을 때 사용합니다. 모바일에서 접속할 때 전달되는 경우가 많습니다.

user_header_ticket

default:
사용자 아이디를 http 헤더의 특정 값으로 구분하고 싶을 때 사용하는 키 명칭을 지정합니다.

trace_http_client_ip_header_key

default:
사용자의 실제 접속 아이피가 header에 별도로 전달되는 경우 해당 header key를 지정합니다.

Python

trace_user_enabled(*)

Default : true
Type : Boolean
실시간 사용자를 추적할지를 결정합니다. 이 값을 활성화하는 경우 기본값은 IP가 됩니다.

trace_user_using_ip(*)

Default : true
Type : Boolean
실시간 사용자의 구분을 IP로 하고자 하는 경우 설정합니다. 이 데이터는 Real Time User에서 확인 가능합니다. 단, user_header_ticket 옵션과 배타적으로 설정을 동시에 적용할 수 없습니다.

.NET

whatap.trace_user_enabled

Default : true
Type : Boolean
실시간 사용자 집계 여부를 지정합니다.

IIS 다시 시작 후 적용됩니다.
whatap.trace_user_using_ip

Default : false
Type : Boolean
실시간 사용자의 구분을 IP로 하고자 하는 경우 설정합니다. 이 데이터는 Real Time User에서 확인 가능합니다.

IIS 다시 시작 후 적용됩니다.
whatap.trace_user_header_ticket

Default : false
Type : Boolean
사용자의 구분을 HTTP 헤더의 특정 값으로 구분하고 싶을 때 사용할 HTTP 키를 지정합니다. 단, trace_user_using_ip 배타적으로 설정을 동시에 적용할 수 없습니다. HTTP 키를 찾지 못하는 경우 Cookie를 기준으로 사용자를 구분합니다.

IIS 다시 시작 후 적용됩니다.
whatap.trace_user_set_cookie

Default : false
Type : Boolean
사용자의 구분을 하기 위해 쿠키에 “WHATAP” 키 이름으로 사용자 구분 값을 설정한다. trace_user_using_ip 설정되는 경우 반영되지 않습니다. trace_user_header_ticket이 설정되는 경우 header key를 찾지 못하는 경우 설정됩니다. HTTP 키를 찾지 못하는 경우 Cookie를 기준으로 사용자를 구분합니다.

IIS 다시 시작 후 적용됩니다.
whatap.trace_http_client_ip_header_key

Default : ""
Type : String
Client IP(Remote IP)의 정보를 특정 HTTP 헤더의 값으로 변경하여 설정하는 기능을 추가하였습니다. Proxy(프락시) 환경에서 X-Forwarded-For 헤더 값을 Client IP로 설정할 수 있습니다.

IIS 다시 시작 후 적용됩니다.

부하량 제어

Java

throttle_enabled

Default : false
Type : Boolean
애플리케이션의 최대 동시 처리 수를 제한하는 쓰로틀링 기능을 활성화합니다. throttle_으로 시작하는 모든 옵션은 throttle_enabled=true 상태에서만 동작합니다.

쓰로틀링 제어와 관련한 정책은 다음과 같은 우선순위를 가지고 있습니다.
1. Block : URL, 사용자 IP 기준으로 서비스를 차단하며 가장 우선하여 적용됩니다.
2. Passing : Passing에 적용된 URL들은 Reject 정책보다 우선합니다.
3. Reject : Block, Passing 정책 이후에 Reject 정책이 적용됩니다.
throttle_limit

Default: 10000
Type : Int
에이전트별 동시 처리되는 요청(트랜잭션) 수가 지정한 값을 넘으면 추가로 도달하는 요청은 reject 됩니다.

throttle_rejected_message

Default : too many request!!
Type : String
쓰로틀링 제한 시 사용자에게 전달될 메시지를 정의합니다.

throttle_rejected_forward

Default : NONE
Type : URL
사용자 요청이 limit 값을 넘어 reject 될 때 사용자에게 전달되는 안내 페이지 URL을 정의합니다. throttle_rejected_message와 동시에 설정된 경우 throttle_rejected_forward가 우선 적용됩니다.

안내 페이지가 동일한 컨테이너에서 서비스되는 경우, 이 역시 동시 처리 수에 산정되므로 재귀 호출로 인한 장애요소가 될 수 있습니다. 그러므로 안내 페이지는 static html 페이지로 만들거나 외부에 있어야 합니다.
reject_event_enabled

Default : false
Type : Boolean
사용자 요청이 Reject된 경우 이벤트 알림을 발생할지를 정의합니다.

reject_event_interval

Default: 30000
Type : MiliSecond
Reject에 대한 이벤트 알림 발생 이후 설정된 시간 동안 중복된 이벤트에 대하여 알림을 발생하지 않습니다.

throttle_blocking_url

Default: NONE
Type : String
throttle_limit을 초과하지 않는 경우라도 블록킹(처리 거부)할 URL을 지정합니다. 시스템 장애를 유발하는 URL을 긴급하게 블록킹하기 위해 사용할 수 있습니다.

throttle_blocking_ip

Default: NONE
Type : ip_address
사용자 IP를 기준으로 블록킹하고자 할 때 지정합니다. 디도스 공격이나 잘못된 사용자를 IP 기반으로 차단할 때 사용할 수 있습니다. 여러 개인 경우 콤마(,)를 사용합니다.

throttle_target_urls

Default: NONE
Type : URL
등록된 URL을 대상으로만 쓰로틀 기능을 적용합니다. 여러 개인 경우 콤마(,)로 구분합니다.

throttle_passing_url

Default: NONE
Type : String
throttle_limit을 초과하는 경우라도 처리되어야 할 URL이 있는 경우 지정합니다. 여러 개인 경우 콤마(,)를 사용합니다.

throttle_passing_url_prefix

Default: NONE
Type : String
throttle_limit을 초과하는 경우라도 처리되어야 할 URL들을 prefix로 경우 지정합니다. 여러 개인 경우 콤마(,)를 사용합니다.

throttle_blocked_message

Default : request blocked!!
Type : String
요청이 블록킹된 사용자에게 전달할 메시지를 정의합니다.

throttle_blocked_forward

Default : NONE
Type : URL
요청이 블록킹된 사용자에게 전달할 URL을 정의합니다. throttle_blocked_message와 동시에 설정된 경우 throttle_blocked_forward가 우선 적용됩니다.

에이전트 알림

Java

recursive_event_interval

Default : 300000
Type : MiliSeconds
트랜잭션의 재귀 호출에 대한 이벤트 알림 발행 간격을 지정합니다.

reject_event_enabled

Default : false
Type : Boolean
서비스 거절(호출 부하 제한/거절) 시 이벤트 알림 발행 여부를 지정합니다.

reject_event_interval

Default : 300000
Type : MiliSeconds
서비스 거절(호출 부하 제한/거절) 시 이벤트 알림 발행 간격을 지정합니다.

httpc_event_enabled

Default : false
Type : Boolean
HTTPC 연결 오류 발생 시 이벤트 알림 발행 여부를 지정합니다.

httpc_event_interval

Default : 300000
Type : MiliSeconds
HTTPC 연결 오류 발생 시 이벤트 알림 발행 간격을 지정합니다.

heap_event_enabled

Default : false
Type : Boolean
힙 사용량 임계 도달 시 이벤트 알림 발행 여부를 지정합니다.

heap_event_percent

Default : 90
Type : Percentage
힙 사용량 이벤트 알림 발행 기준 임계치를 지정합니다.

heap_event_duration

Default : 30000
Type : MiliSeconds
힙 사용량 이벤트 알림 발행 기준 지속시간을 지정합니다.

heap_event_interval

Default : 300000
Type : MiliSeconds
힙 사용량 이벤트 알림 발행 간격을 지정합니다.

heap_event_action

Default : NONE
Type : String
힙 사용량 이벤트 발생 시 실행할 동적 로딩 코드 지정

($WHATAP_HOME/plugin/ActionScript.x에 작성한 Java 코드)에 전달할 ID ($id로 전달됨)
disk_event_enabled

Default : false
Type : Boolean
디스크 사용량 임계 도달 시 이벤트 알림 발행 여부를 지정합니다.

disk_event_percent

Default : 90
Type : Percentage
디스크 사용량 이벤트 알림 발행 기준 임계치를 지정합니다.

disk_event_interval

Default : 300000
Type : MiliSeconds
디스크 사용량 이벤트 알림 발행 간격을 지정합니다.

disk_event_action

Default : NONE
Type : String
디스크 사용량 이벤트 발생 시 실행할 동적 로딩 코드 지정

($WHATAP_HOME/plugin/ActionScript.x에 작성한 Java 코드)에 전달할 ID ($id로 전달됨)
cpu_event_enabled

Default : false
Type : Boolean
CPU 사용량 임계 도달 시 이벤트 알림 발행 여부를 지정합니다.

cpu_event_percent

Default : 90
Type : Percentage
CPU 사용량 이벤트 알림 발행 기준 임계치를 지정합니다.

cpu_event_duration

Default : 30000
Type : MiliSeconds
CPU 사용량 이벤트 알림 발행 기준 지속시간을 지정합니다.

cpu_event_interval

Default : 300000
Type : MiliSeconds
CPU 사용량 이벤트 알림 발행 간격을 지정합니다.

cpu_event_action

Default : NONE
Type : String
CPU 사용량 이벤트 발생 시, 실행할 동적 로딩 코드에 전달할 ID를 지정합니다.

($WHATAP_HOME/plugin/ActionScript.x에 작성한 Java 코드)에 전달할 ID ($id로 전달됨)
dbc_dup_event_enabled

Default : false
Type : Boolean
DB Connection이 중복 할당되었을 때 이벤트 알림 발행 여부를 지정합니다.

dbc_dup_event_fullstack_enabled

Default : false
Type : Boolean
DB Connection이 중복 할당될 때 Stack 확보 여부를 지정합니다.

exception_event_enabled

Default : false
Type : Boolean
Exception 발생 시 이벤트 알림 발행 여부를 지정합니다.

exception_event_interval

Default : 60000
Type : MiliSeconds
Exception 발생 시 이벤트 알림 발행 간격을 지정합니다.

exception_event_set

Default : Null
Type : String
대상 Exception을 지정합니다. 여러 개 지정할 경우 ','로 구분자를 사용합니다.

exception_event_action

Default : Null
Type : String
이벤트 발생 시 실행할 동적 로딩 코드를 지정합니다.

($WHATAP_HOME/plugin/ActionScript.x에 작성한 Java 코드)에 전달할 ID ($id로 전달됨)

Apdex

Java, PHP

whatap.apdex_time

Default : 1200
Type : millisecond
만족 S 기본값은 에이전트 설정 메뉴에서 변경할 수 있습니다.

Apdex는 사용자 만족도에 대한 지표로 활용할 수 있으며, 0 ~ 1 사이의 값을 갖습니다.

(만족 횟수 + (허용 횟수 * 0.5)) / 전체 요청 수

만족 (Satisfied, S)

업무처리에 전혀 문제가 없음 ≤ 1.2초 (만족 S 기본값)

허용 (Tolerating, T)

사용자가 지연을 느끼나 업무처리는 가능함 ≤ 4.8초 (만족 S * 4)

불만 (Frustrated, F)

업무처리가 불가능함 > 4.8초 (허용 T 초과 및 오류)

통계

Java

addin_monitor_num

Default : 0
Type : Int
성능 카운터 확장을 위해 추가 선언할 클래스 수를 지정합니다. addin_monitor_num에 설정한 수만큼 addin_monitor_x를 선언합니다.

addin_monitor_0

Default : 0
Type : Int

addin_monitor_x 사용 예
addin_monitor_num=2
addin_monitor_0=a.a.Class1
addin_monitor_1=a.a.Class2
stat_domain_enabled

Default : false
Type : Boolean
도메인별 트랜잭션 통계를 수집합니다.

stat_domain_max_count

Default : 7000
Type : Int
5분 동안 한 JVM에서 수집할 도메인별 트랜잭션 통계의 최대 레코드 수입니다.

stat_mtrace_enabled

Default : false
Type : Boolean
멀티 서버 트랜잭션에서 Callser&Callee 간에 버전별 의존성 통계를 수집합니다.

mtrace_spec

Default: v1
Type : String
현 인스턴스의 애플리케이션 버전을 지정합니다. 임의의 문자열을 지정할 수 있습니다. 이 데이터는 호출 통계를 위해 사용됩니다.

stat_mtrace_max_count

Default : 7000
Type : Int
멀티 서버 트랜잭션에서 Callser&Callee 간에 버전별 의존성 통계의 최대 레코드 수입니다.

stat_login_enabled

Default : false
Type : Boolean
로그인별 트랜잭션 통계를 수집합니다.

stat_login_max_count

Default : 7000
Type : Int
5분 동안 한 JVM에서 수집할 로그인별 트랜잭션 통계의 최대 레코드 수입니다.

stat_referer_enabled

Default : false
Type : Boolean
Referer 별 트랜잭션 통계를 수집합니다.

stat_referer_max_count

Default : 7000
Type : Int
5분 동안 한 JVM에서 수집할 Referer 별 트랜잭션 통계의 최대 레코드 수입니다.

stat_tx_max_count

Default : 5000
Type : Int
트랜잭션 통계 정보의 개수를 제한합니다. 5분 동안 수집되어 서버에 전송되는 통계정보에서 최대 레코드 수를 제한합니다.

stat_sql_max_count

Default : 5000
Type : Int
SQL 통계 정보의 개수를 제한합니다. 5분 동안 수집되어 서버에 전송되는 통계정보에서 최대 레코드 수를 제한합니다.

stat_httpc_max_count

Default : 5000
Type : Int
Http Call 통계 정보의 개수를 제한합니다. 5분 동안 수집되어 서버에 전송되는 통계정보에서 최대 레코드 수를 제한합니다.

stat_error_max_count

Default : 1000
Type : Int
Error 통계 정보의 개수를 제한합니다. 5분 동안 수집되어 서버에 전송되는 통계정보에서 최대 레코드 수를 제한합니다.

stat_useragent_max_count

Default : 500
Type : Int
User Agent 통계 정보의 개수를 제한합니다. 5분 동안 수집되어 서버에 전송되는 통계정보에서 최대 레코드 수를 제한합니다.

PHP

whatap.stat_domain_enabled

Default : false
Type : Boolean
도메인별 트랜잭션 통계를 수집합니다.

whatap.stat_domain_max_count

Default : 7000
Type : Int
5분 동안 수집할 도메인별 트랜잭션 통계의 최대 레코드 수입니다.

whatap.stat_mtrace_enabled

Default : false
Type : Boolean
멀티 서버 트랜잭션에서 Callser&Callee간에 버전별 의존성 통계를 수집합니다.

whatap.mtrace_spec

Default: v1
Type : String
현 인스턴스의 애플리케이션 버전을 지정합니다. 임의의 문자열을 지정할 수 있습니다. 이 데이터는 호출 통계를 위해 사용됩니다. NOTE: Apache 및 PHP-FPM의 다시 시작 후 적용됩니다.

whatap.stat_mtrace_max_count

Default : 7000
Type : Int
멀티 서버 트랜잭션에서 Callser&Callee간에 버전별 의존성 통계의 최대 레코드 수입니다.

whatap.stat_referer_enabled

Default : false
Type : Boolean
Referer 별 트랜잭션 통계를 수집합니다.

whatap.stat_referer_max_count

Default : 7000
Type : Int
5분 동안 한 JVM에서 수집할 Referer 별 트랜잭션 통계의 최대 레코드 수입니다.

whatap.stat_referer_format

Default : 7000
Type : Int

설명

0

전체 (도메인 + 경로 + 쿼리 파라미터)

1

도메인 (http://www.aa.com)

2

도메인 및 경로(http://www.aa.com/aa.php)

3

경로 (/aa.php)

whatap.okind

Default : ""
Type : String
그룹 토폴로지를 위해 임의로 부여합니다.
여러 에이전트를 같이 지정하여 해당 그룹명으로 토폴로지를 확인할 수 있습니다.

Node.js

stat_mtrace_enabled

default: false
MSA 아키텍처에서 서비스 간의 호출 통계를 활성화합니다. 이 값이 true가 되면 외부 호출을 할 때 자신의 정보를 전송합니다.

stat_domain_enabled

default: false
클라이언트의 접속 도메인별 트랜잭션 통계를 수집하는 기능을 활성화합니다.

Python

stat_domain_enabled

Default : false
Type : Boolean
도메인별 트랜잭션 통계를 수집합니다.

stat_domain_max_count

Default : 7000
Type : Int
5분 동안 애플리케이션에서 수집할 도메인별 트랜잭션 통계의 최대 레코드 수입니다.

stat_mtrace_enabled

Default : false
Type : Boolean
멀티 서버 트랜잭션에서 Callser&Callee간에 버전별 의존성 통계를 수집합니다.

stat_mtrace_max_count

Default : 7000
Type : Int
멀티 서버 트랜잭션에서 Callser&Callee간에 버전별 의존성 통계의 최대 레코드 수입니다.

stat_login_enabled

Default : false
Type : Boolean
로그인별 트랜잭션 통계를 수집합니다.

stat_login_max_count

Default : 7000
Type : Int
5분 동안 애플리케이션에서 수집할 로그인별 트랜잭션 통계의 최대 레코드 수입니다.

stat_referer_enabled

Default : false
Type : Boolean
Referer 별 트랜잭션 통계를 수집합니다.

stat_referer_max_count

Default : 7000
Type : Int
5분 동안 애플리케이션에서 수집할 Referer 별 트랜잭션 통계의 최대 레코드 수입니다.

stat_tx_max_count

Default : 5000
Type : Int

stat_httpc_max_count

Default : 5000
Type : Int

stat_error_max_count

Default : 1000
Type : Int

stat_useragent_max_count

Default : 500
Type : Int

.NET

whatap.stat_domain_enabled

Default : false
Type : Boolean
도메인별 트랜잭션 통계를 수집합니다.

whatap.stat_domain_max_count

Default : 7000
Type : Int
5분 동안 수집할 도메인별 트랜잭션 통계의 최대 레코드 수입니다.

whatap.stat_mtrace_enabled

Default : false
Type : Boolean
멀티 서버 트랜잭션에서 Callser&Callee 간에 버전별 의존성 통계를 수집합니다.

whatap.stat_mtrace_max_count

Default : 7000
Type : Int
멀티 서버 트랜잭션에서 Callser&Callee 간에 버전별 의존성 통계의 최대 레코드 수입니다.

whatap.stat_referer_enabled

Default : false
Type : Boolean
Referer 별 트랜잭션 통계를 수집합니다.

whatap.stat_referer_max_count

Default : 7000
Type : Int
5분 동안 한 JVM에서 수집할 Referer 별 트랜잭션 통계의 최대 레코드 수입니다.

whatap.okind

Default : ""
Type : String
그룹 토폴로지를 위해 임의로 부여합니다.
여러 에이전트를 같이 지정하여 해당 그룹명으로 토폴로지를 확인할 수 있습니다.

토폴로지 맵

Java

tx_caller_meter_enabled

Default : false
Type : Boolean
토폴로지 맵에서 외부 호출 정보를 표현합니다. mtrace_enabled=true인 경우 동작합니다.

sql_dbc_meter_enabled

Default : false
Type : Boolean
토폴로지 맵에서 SQL 호출 정보를 표현합니다.

httpc_host_meter_enabled

Default : false
Type : Boolean
토폴로지 맵에서 httpc outbound 정보를 표현합니다.

actx_meter_enabled

Default : false
Type : Boolean
토폴로지 맵에서 액티브 트랜잭션 상태를 표현합니다.

PHP

whatap.tx_caller_meter_enabled

Default : false
Type : Boolean
트랜잭션 정보로 토폴로지 통계를 생성합니다.

whatap.sql_dbc_meter_enabled

Default : false
Type : Boolean
Database 연결 정보로 토폴로지 통계를 생성합니다.

whatap.httpc_host_meter_enabled

Default : false
Type : Boolean
Http 외부 호출 정보로 토폴로지 통계를 생성합니다.

.NET

whatap.tx_caller_meter_enabled

Default : false
Type : Boolean
트랜잭션 정보로 토폴로지 통계를 생성합니다.

whatap.sql_dbc_meter_enabled

Default : false
Type : Boolean
Database 연결 정보로 토폴로지 통계를 생성합니다

whatap.httpc_host_meter_enabled

Default : false
Type : Boolean
Http 외부 호출 정보로 토폴로지 통계를 생성합니다.

공유 메모리

PHP

whatap.shm_enabled

Default : ""
Type : String

공유 메모리 사용 여부를 설정합니다.

PHP extension(whatap.so)와 whatap-php service 간에 공유 메모리를 이용한 IPC 기능을 추가했습니다.
shm_key의 값으로 설정된 키로 생성합니다. 이미 키가 사용되고 있다면 다른 키를 설정할 수 있습니다.
whatap-php service에서 공유 메모리 생성 및 삭제를 관리합니다. PHP extension에서는 조회 기능만 수행합니다.

Apache 또는 PHP-FPM의 다시 시작 후 적용됩니다.
whatap.shm_key

Default : ""
Type : String

공유 메모리를 생성할 때 필요한 키 정보입니다.

Apache 또는 PHP-FPM의 다시 시작 그리고 whatap-php 서비스도 다시 시작해야 적용됩니다.
whatap.active_stat_enabled

Default : true
Type : Boolean

액티브 스테이터스 사용 여부를 설정합니다.

공유 메모리를 통해 진행 중인 요청의 현재 상태를 5초 간격으로 수집합니다.
대시보드 화면에 액티브 스테이터스 그래프가 표기됩니다. 상태는 일반 함수, SQL, DB connection, 외부 HTTP 연결, 소켓 연결이 있으며 각 상태별로 진행 중인 요청 개수를 표시합니다.

Apache 또는 PHP-FPM가 다시 시작하면 진행 중인 프로세스가 처리 중에 종료되면 정상적인 액티브 스테이터스 완료 처리가 되지 않아 오차가 발생할 수 있습니다.
액티브 트랜잭션 수와 많은 차이가 발생하는 경우 설정에서 whatap.active_stat_enabled를 false로 설정합니다. 이후 대시보드에서 0건으로 초기화되면 다시 true로 설정합니다.